Data roku zakres hosting Drupal

Wysłany przez arlinsandbulte w dniu 30 marca 2012 o 1:46 pm

Wiem, że to będzie to kontrowersyjny temat. Więc mam zamiar udać się do walki i rozpocząć dyskusję myself od razu.
Karens zaproponowała przyjęcie formatu ISO jako jedyny obsługiwany format dla przyszłych wersjach modułu Data (7.x-3.x contrib Rdzeń 8.x!). Jestem w 100% za tym wnioskiem.

To upraszcza obsługę rozwój Kompatybilność wieloplatformowy. Spośród wielu standardów format daty (Unix timestamp datetime, itp), to zapewnia największą elastyczność jako części daty Czas może być pominięty kontrolować ziarnistość Dwuznaczność.
Nowe funkcje daty PHP sprawiają, że praca z datami dowolnym formacie łatwiejsze niż kiedykolwiek wcześniej. Więc nie sądzę tradycyjnym formacie unix timestamp posiada „łatwość użycia” korzyści jak dawniej.
Musimy jednak również uznać wady ograniczenia niniejszego wniosku (umieszczenie na moim Adwokat diabła kapelusz):

Data roku zakres drupal hosting dużo będzie dla niego, wiele
  1. Format daty ISO nie jest natywnie obsługiwane przez wszystkich baz danych (takich jak MySQL). Tak, planujemy przechowywania wartości daty ISO jako ciąg varchar w bazie danych. Data zapytania mogą być wykonane przy użyciu zapytań podciągów znaleźć niektórych terminów (na przykład, wszystkie daty z roku 2012). Funkcjonalnie nie sądzę thre ma żadnego problemu z tym. Powinno być możliwe do realizacji tego planu, a także wspieranie niemal każdego typu bazy danych z określonymi hacki minimalne lub żadne bazy danych lub obejść. Ale co o wydajności? Ile trafienia wydajności jest tam wykonywania zapytań podciągów przeciw „prawdziwego” rodzimej wartości daty bazy danych?
  2. Drupal rdzeń (<=7.x) uses the unix timestamp format to store date & time information, most notably, for content created/updated dates. Going along with the current trend of making all content parts fields (body, terms, even titles), it might be desirable to make the created or updated date a real 'date field' too. What are the implications of this? Would all Drupal dates (like node created/updated dates) be converted to the ISO format? Or would we keep 2 different date types mixed into core?

To było przed moim czasie, ale myślę, że wczesne wersje Data faktycznie przechowywane każdą część daty (rok, miesiąc, dzień, godzina, minuta, sekunda) w oddzielnych kolumnach bazy danych. Ta strategia pozwala format przechowywania całkowitą.
Ale wątpię, że strategia jest warto. Oraz, o ile zostanie udowodnione inaczej, nie będę go wspierać.
/ Me (-) głosów własną pocztowy :-)

Jestem naprawdę brakuje jasnych argumentów technicznych tutaj.

Format składnia ISO Data, zaproponowany tu przede wszystkim sens ze względu na wyświetlanie i przekazywanie informacji o dacie całej inaczej niezależnych stron (np między backend (PHP) i nakładka (JavaScript)).

To naprawdę nie nadaje się jako składni i / lub typ danych do przechowywania i pobierania danych date, ponieważ składnia jest zbyt elastyczny (a więc naprawdę nie jest typ danych, inne niż „tekst”).

  1. Jaka jest rzeczywista różnica między formatem daty ISO data / datetime i?

oprócz „T”? en.wikipedia.org/wiki/Iso_date_format opisuje wiele więcej ograniczników w składni ISO, ale nieco wątpliwości, że mamy zamiar pozwolić żadnej z nich korzystać - ze względu na możliwość kwerendy danych w przewidywalny / spójny sposób?

Data roku zakres Drupal formatu gospodarzem łatwiejsze niż

Na przykład. jeśli chcemy umożliwić alternatywa datę tygodni składni (2012-W13-5) lub porządkowej daty pojawiają się w składni do kalendarza / data / składnią czasu rekordy nie mogą być filtrowane wg daty anymore, ponieważ trzeba do wykonywania zaawansowanych obliczeń daty, aby wyrównać dane pierwszy.

(To samo dotyczy pomijając bardziej szczegółowe elementy datę / czas, ponieważ każdego filtra smyczkowego oparte / operacje sortowania zawiedzie brakujących składników).

  • Podciąg operacji na kolumnie w tabeli gospodarstwa milionów rekordów (przykład) będzie strasznie powolne.

    Oznacza to, że ponieważ silnik bazy danych nie można używać żadnych indeksów lub funkcji natywnych w celu optymalizacji kwerendy. Co oznacza spadek wydajności sekund (nie milisekundach) dla pojedynczego zapytania do bazy danych na dużym zbiorze danych.

  • Biorąc powyższe pod uwagę, nie całkiem się co jest nie tak z natywnym DATETIME lub równoważnego typu danych silników baz danych?

    Norma ISO 8601 określa SQL jako domyślny format, który jest prawie taka sama.

    (Tak, SQLite obsługuje tylko tekst, ale SQLite nie obsługuje wiele typów danych czy inaczej, więc możliwości są bardzo ograniczone w tym silniku i tak).

    Odpowiedni typ danych pozwala na rodzimym filtrowania i sortowania wartości, które mogą być indeksowane. Postępowanie w zapytaniach SQL jest tak proste, jak do czynienia z znaczników czasu UNIX.

    Indywidualne (bardziej ziarnisty) Komponenty data nie może być pominięte, ale przez wzgląd na przechowywanie zwięzły i prawidłowe dane, właściwości takie jak „allday” i podobnie powinno być oddzielnie przechowywane flagi na bieżąco obu kierunkach (i to use-case specyficzne dodatki, ponieważ nie zastosowanie do wszystkich dat w pierwszej kolejności, np nie za treści tworzone i modyfikowane dat).

    Nie miałbym nic przeciwko, używając rodzimego pola datetime, czy możemy dostać go z powrotem do rdzenia. Ale ja już próbowałem walczyć tę walkę i stracił. I nie zamierzam stworzyć rozwiązanie, które wykorzystuje natywną pola datetime kiedy to zostało wykonane całkowicie jasne, że rdzeń W pracach nie pozwoli pola datetime w rdzeniu.

    Wysłany przez arlinsandbulte w dniu 10 kwietnia 2012 o 4:41 pm

    Podejrzewam, że będziemy musieli ograniczyć zapisanego w formacie ISO do YYYY-MM-DDTgg: formularz SS aby zachować spójność i łatwe wyszukiwanie i rodzaje: MM.
    Być może nawet użyć ± Y YYYY-MM-DDTgg: mm: ss, aby umożliwić szerszy zakres historyczny przyszłych dat, który został wspólny wniosek w date.module. Ale data obsługa PHP może istnieć ograniczenie tak.

    Ponadto, mimo to norma ISO umożliwia opuszczenie mniej istotnych elementów, aby zmniejszyć dokładność, czyniąc to może zrobić sortuje i wyszukiwania trudniejsze. z tego powodu, że może nadal być zobowiązany do przechowywania „coś” dla każdej części. (Proszę mnie poprawić, jeśli się mylę. Nie jestem ekspertem w bazie).
    -Dziki pomysł: Mogliśmy Store „99” w każdym un potrzebne data części. Który działa na wszystkie części z wyjątkiem roku, ale również sprawia, że ​​data przechowywana ciąg non-ISO zgodny.

    Wysłany przez Davida Straussa 9 kwietnia 2012 o 7:57 pm

    Sposób ISO 8601 obsługuje stref czasowych jest dość śmierci mózgowej. Strefa czasowa jest użytkownikiem / treść lokalizacja poz problemem, nie coś, co powinno być wstępnie regulowana w dacie zapisanej z adnotacją o tym, jak data różni się od czasu UTC. To sprawia, że ​​dane trudne do odczytania i przerywa ciąg sortowania (co jest inaczej stałe z datami ISO).

    mogę poprzeć tego wniosku tylko wtedy, gdy będziemy trzymać się za pomocą czasu UTC / Zulu w bazie danych. Podstawową rzeczą, którą kochałem o naszej historii za pomocą Unix sygnatury czasowe epoki jest wiedzieć, że są zawsze w UTC.

    Wysłany przez Karens 11 kwietnia 2012 o 11:19 am

    Tak, pytanie o to, kiedy / czy konwertować razy UTC do przechowywania jest odrębna kwestia i musimy oddzielną dyskusję na ten temat. Chociaż ISO ma możliwość dodawania strefy czasowej do łańcucha, ja właściwie nie proponuje, aby to zrobić, właśnie podkreślając, że jest to możliwe. Zamierzam otworzyć osobną kwestią o tym temacie (lub ktokolwiek inny może).

    Norma ISO ma dużo działo się na to, wiele osób już przemyślane rzeczy, które muszą być reprezentowane w terminach i stworzył powszechnie rozumianego format dla niego. Rodzime pola datetime bazie faktycznie używać go zbyt.

    Chcę dodać przedrostek + - tak możemy wspierać dat pne, i że da nam prawie wszystko, że została zgłoszona przez lata. Konwersje z / do tego formatu z innych formatów mogą być obsługiwane z PHP. I konwersje strefy czasowej mogą być obsługiwane z PHP.

    Pozostała kwestia, która może być problemem jest wydajność łańcucha vs int (timestamp) i rodzimych pól datetime, więc zacząłem oddzielną dyskusję na ten temat, aby dowiedzieć się, co rzeczywiste koszty i co możemy zrobić, aby wydajność jako dobry jak to możliwe. Ale rozważając przenoszenia bazy danych ISO w polu varchar jest wielkim zwycięzcą.

    Wysłany przez arlinsandbulte 11 kwietnia 2012 o 1:52 pm

    Będzie dodanie + - stanowić problem dla sortowania?
    Bez + -, sortowania YYYY-MM-DD ciąg rosnąco naturalnie wyniki w odpowiedniej kolejności (najwcześniejszą datę pierwszy ostatni dzień ostatniego).
    ALE, dodając + - zmienia tego. Pierwszy Prosty wyniki rosnąco ciąg sortowania we wszystkich terminach +, sortowane z najwcześniejszych dat najnowszej daty, a następnie przez wszystkie - Terminy, sortowane z najnowszymi terminach do najwcześniejszych terminach.

    Na przykład, tutaj jest posortowana lista letnich tylko ciągi:
    "+0000"
    "+1800"
    "+1900"
    "+1977"
    "+2000"
    "+2012"
    "-0100"
    "-0500"
    "-1000"
    "-5000"

    Wysłany przez: Alan D. w dniu 27 września 2012 o 1:50 am

    Wydaje się szalony regres i nie obsługiwać te pola dB. Wyłączając wszystkie add-on rzeczy w Date, jest to ogromny moduł i na wszystkich innych systemów Ja pracowałem na, zajęcia Data wsparcia są trywialne klasy 1000 lub więcej linii kodu.

    Więc to jest naprawdę spiczasty pytanie skierowane do programistów sterowników DB, mogłoby pole DateTime być konwertowane wewnętrznie wspierać pole pseudo-DateTime?

    Dzielenie się z kolumny do poszczególnych składników działa, ale jest bardzo brudny (jak miało to miejsce w częściowym data), i naprawdę nie polecam zejście tą ścieżką. Czuję, że strzał sobie w stopę i robi to będzie wyglądać w ten powraca w przyszłych wydaniach.

    Bez ponownie rereading specyfikacje ISO (lub uruchamiania testów), pozytywny znak jest opcjonalny, jeśli dobrze pamiętam, więc konieczna jest znakiem minus, który neguje kwestie porządkowe jeśli czytam tabele ASCII poprawnie. (- 45, i od 0 do 9 w zakresie od 48 do 57). Korzystanie z + (ASCII 43) łamie rodzaju tutaj.

    wsparcie stref czasowych (lub brak)

    Zgadzam się, że tylko za pomocą jednego czasową w bazie danych jest najlepszy (UTC), gdyż neguje niektóre z negatywów w zamawianiu i przeszukiwania danych, gdy nie wspieranie rodzimych pól data dB.

    Jeden dwa pierścienie by wszystkimi rządzić?

    Zgadzam się z Sun, powinniśmy ograniczyć to bardzo prosty sub-zestaw obsługiwanych formatów rozszerzonych. może tylko

    Choć obecnie nie są obsługiwane za pomocą modułu Data informacja czasowa ma sens w terminach, 2012-01-01 w Ameryce jest prawie cały dzień za 2012-01-01 w Australii. Więc może podpora pole może być zmniejszona do pola ISO-jak i ISO-jak pole z obsługą stref czasowych? Ta spada poparcie czas, ale nie sądzę, że rdzeń powinien wspierać pól czasu.

    Wreszcie, Drupal 8 funkcja zamrażania: 1 grudnia 2012

  • Obejrzyj ten film!

    Powiązane artykuły

    Tworzenie Pole daty hosting DrupalTen pakiet zawiera zarówno elastyczny typ pola pole Data Data / czas i datę API, które może wykorzystać inne moduły. Wersje D5 i D6 polu Data wymagają Content Construction Kit ...
    Zmień datę opublikowany hosting wordpressOpis Wyświetla lub Zwraca datę postu, albo zestaw stanowisk jeśli opublikowane w tym samym dniu. SPECJALNA UWAGA: Gdy istnieje wiele postów na stronie opublikowanego pod tym samym dniu ...
    Zapytanie lewo dołączyć hosting DrupalWysłany przez thermalmusic w dniu 14 marca 2012 w 2:26 am Próbuję napisać zapytanie SQL w bazie danych D6 powrotu użytkowników i ich wartości profilu. Moim problemem jest uzyskanie wartości profil, aby powrócić jako ...
    Mechanizm buforowania Drupal hostingWysłany przez joshk w dniu 21 lutego 2009 at 10:05 pm W mojej niekończącej się pogoni za większą Drupal Chwały, byłem spędzając w ubiegłym roku odkostnieniu się na różne sposoby w celu poprawy wydajności witryny i ...
    Piwik strona id hosting DrupalSpis treści Strona ta wyjaśnia, jak zainstalować Piwik na serwerze WWW i rozpocząć śledzenie swojej stronie internetowej Analytics. Jeśli wolisz, aby obejrzeć film instruktażowy, kliknij tutaj: Jak skonfigurować Piwik ...