Imprezy: Różnice pomiędzy wersjami

Z Wiki - coigdzie.pl
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
mNie podano opisu zmian
Znacznik: visualeditor
 
Linia 3: Linia 3:
== Atrybuty imprez ==
== Atrybuty imprez ==
Polami obowiązkowymi w imprezie są:
Polami obowiązkowymi w imprezie są:
* Nazwa,
* Nazwa (rozpoczyna się wielką literą, nie kończy kropką, nie jest w całości pisana wielkimi literami ani brana w cudzysłów);
* Data i czas startu - gdy godzina startu nie jest znana, pozostawiamy 00:00,
* 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,
* Data i czas końca (gdy godzina końca nie jest znana, pozostawiamy 23:59);
* [[Kategorie imprez|Kategoria]],
* [[Kategorie imprez|Kategoria]];
* [[Lokalizacje|Lokalizacja]].
* [[Lokalizacje|Lokalizacja]].
Dodatkowo impreza może posiadać atrybuty:
Dodatkowo impreza może posiadać atrybuty:
* Opis,
* Opis (nie powinien przekraczać 1500 znaków);
* Link imprezy,
* Link imprezy (powinien kierować bezpośrednio do podstrony z uzupełnianym wydarzeniem na stronie www organizatora/FB);
* 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,
* 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]],
* [[Tagi]];
* [[Organizatorzy|Organizator]],
* [[Organizatorzy|Organizator]];
* [[Źródła|Źródło]],
* [[Źródła|Źródło]];
* Link do obrazka - obrazki mogą mieć co najmniej  288 px szerokości albo 384 px wysokości,
* Link do obrazka (obrazki mogą mieć co najmniej  288 px szerokości albo 384 px wysokości; mogą to być plakaty imprez, logotypy organizatorów, unikamy natomiast dodawania zdjęć);
* Linki do systemów biletowych.
* Linki do systemów biletowych (uzupełniane automatycznie, ale pola są edytowalne, można w nich wprowadzać ręczne zmiany w admince).


== Import imprez ==
== 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.
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:
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 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 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 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 od tego dostawcy już jest w bazie, jeśli impreza jest w bazie, jest usunięta i nie czeka do moderacji, to 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 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 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
* 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
* jeśli imprezy o takim happeningVendorId nie ma w bazie, to ją zapisujemy;
* jeśli impreza o takim happeningVendorId jest w bazie i jest w moderacji lub jeśli impreza w bazie nie jest do moderacji i nie jest usunięta, a nowa impreza nie musi być moderowana, to aktualizujemy imprezę z bazy.


=== Aktualizacja imprezy ===
=== Aktualizacja imprezy ===
Aktualizacji podlegają pola:
Aktualizacji podlegają pola:
* nazwa
* nazwa;
* czas startu
* czas startu;
* czas końca
* czas końca;
* opis
* opis;
* kategoria
* kategoria;
* opis lokalizacji
* opis lokalizacji;
* cena
* cena;
* informacja o odwołani
* informacja o odwołaniu;
* licznik uczestników
* licznik uczestników;
* priorytet
* priorytet;
* jeśli opis lokalizacji uległ zmianie to aktualizujemy lokalizację
* 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 ustawionych tagów, to aktualizujemy tagi;
* jeśli impreza w bazie nie miała organizatora to aktualizujemy organizatora
* jeśli impreza w bazie nie miała organizatora, to aktualizujemy organizatora;
* jeśli się zmienił to aktualizujemy link do obrazka
* jeśli się zmienił, to aktualizujemy link do obrazka.


[[Kategoria:Imprezy]]
[[Kategoria:Imprezy]]

Aktualna wersja na dzień 09:32, 29 mar 2019

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 (rozpoczyna się wielką literą, nie kończy kropką, nie jest w całości pisana wielkimi literami ani brana w cudzysłów);
  • 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 (nie powinien przekraczać 1500 znaków);
  • Link imprezy (powinien kierować bezpośrednio do podstrony z uzupełnianym wydarzeniem na stronie www organizatora/FB);
  • 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; mogą to być plakaty imprez, logotypy organizatorów, unikamy natomiast dodawania zdjęć);
  • Linki do systemów biletowych (uzupełniane automatycznie, ale pola są edytowalne, można w nich wprowadzać ręczne zmiany w admince).

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, jeśli impreza jest w bazie, jest usunięta i nie czeka do moderacji, to 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 impreza o takim happeningVendorId jest w bazie i jest w moderacji lub jeśli impreza w bazie nie jest do moderacji i nie jest usunięta, a nowa impreza nie musi być 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łaniu;
  • 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.