Imprezy

Z Wiki - coigdzie.pl
Przejdź do nawigacji Przejdź do wyszukiwania

Imprezy służą do zbierania informacji o wydarzeniach, których nie da się przypisać do pozostałych baz. Ponadto do imprez dodawane są przez automaty wydarzenia, które następnie zapisywane są przez redaktorów we właściwych feed'ach.

Atrybuty imprez

Polami obowiązkowymi w imprezie są:

  • Nazwa,
  • Data i czas startu - gdy godzina startu nie jest znana, pozostawiamy 00:00,
  • Data i czas końca - gdy godzina końca nie jest znana, pozostawiamy 23:59,
  • Kategoria,
  • Lokalizacja.

Dodatkowo impreza może posiadać atrybuty:

  • Opis,
  • Link imprezy,
  • Wstęp - może przyjmować wartości: '-1' - cena nieznana, '0' - wstęp wolny lub dowolną wartości naturalną odpowiadającą najniższej cenie biletu normalnego,
  • Tagi,
  • Organizator,
  • Źródło,
  • Link do obrazka - obrazki mogą mieć co najmniej 288 px szerokości albo 384 px wysokości,
  • Linki do systemów biletowych.

Import imprez

Importer zadań czyta pliki XML zapisane w katalogu 'input' i po udanym imporcie przenosi je do katalogu 'output', a w przypadku niepowodzenia importu zapisuje je w katalogu 'errors'. Głównym elementem importowanego pliku jest <happenings> i musi zawierać atrybut "username" zawierający nazwę użytkownika. Element <happenings> zawiera listę elementów <happening> zawierających dane o imprezie. Po sparsowaniu tego pliku otrzymujemy listę imprez.

Po wczytaniu pliku xml, importu pobieramy listę wszystkich przyszłych wydarzeń dodanych przez danego użytkownika. Każda wczytywana impreza przechodzi przez następujące etapy:

  • sprawdzamy czy posiada ustaloną kategorię i jeśli nie to ją obliczamy
  • sprawdzamy czy impreza jest w kategorii kultura/film. Jeśli tak to uznajemy, że jest to pokaz filmowy i takiej imprezy nie importujemy
  • sprawdzamy czy impreza się nie zakończyła
  • sprawdzamy czy impreza od tego dostawcy już jest w bazie i jeśli impreza jest w bazie i jest usunięta i nie czeka do moderacji no ją pomijamy
  • sprawdzamy czy impreza jest zgeokodowana (tj. czy ma przypisaną lokalizację) jeśli nie to próbujemy ją geokodować. Jeśli geokodowanie się nie powiedzie to ją pomijamy
  • sprawdzamy czy impreza jest w kategorii kultura/teatr jeśli tak to próbujemy rozdystrybuować bilety a samej imprezy dalej nie importujemy.
  • sprawdzamy czy impreza nadaje się to opublikowania czy też musi być moderowana przez redaktorów
  • jeśli imprezy o takim happeningVendorId nie ma w bazie to ją zapisujemy, jeśli jest i jeżeli impreza w bazie jest w moderacji albo jeżeli impreza w bazie nie jest do moderacji I nie jest usunięta I nowa impreza nie musi moderowana to aktualizujemy imprezę z bazy

Aktualizacja imprezy

Aktualizacji podlegają pola:

  • nazwa
  • czas startu
  • czas końca
  • opis
  • kategoria
  • opis lokalizacji
  • cena
  • informacja o odwołani
  • licznik uczestników
  • priorytet
  • jeśli opis lokalizacji uległ zmianie to aktualizujemy lokalizację
  • jeśli impreza w bazie nie miała ustawionych tagów to aktualizujemy tagi
  • jeśli impreza w bazie nie miała organizatora to aktualizujemy organizatora
  • jeśli się zmienił to aktualizujemy link do obrazka