E-INTENCJE
To nie jest strona dla zwykłego użytkownika!
Jest ona przeznaczona dla osób lub firm odpowiedzialnych za stronę WWW parafii, które chcą automatycznie zasilać stronę WWW intencjami wysyłanymi przez program FARA!
Aplikacja na bieżąco, po każdej zmianie danych w księdze intencji przesyła część danych (data, godzina, intencja, typ) do bazy danych serwera WWW. Obydwie bazy danych: Fary na komputerze lokalnym oraz strony WWW są na bieżąco synchronizowane.
Dane wysyłane są z wykorzystaniem protokołu FTP lub SFTP (wybiera się go w trakcie konfigurowania aplikacji) do oddzielnego foldera na serwerze WWW. Następnie są one ładowane przez program FARA do bazy danych – zazwyczaj jest to ta sama baza danych, której używa strona WWW, ale może to być dowolna inna baza na dowolnym hoście. Ewentualne zgłoszenia rezerwacji terminów zapisywane są przez aplikację w wydzielonym folderze na serwerze WWW, skąd następnie są pobierane przez program FARA i umieszczane w rejestrze zgłoszeń bezpośrednio w bazie danych programu FARA.
Wymagania techniczne:
Na komputerach lokalnych: stałe połączenie z Internetem
Na serwerze WWW: PHP min. 7.4 (zalecane 8.3), baza danych mySQL min 5.7 (zalecana wersja 8)
FARA nie ma osobnych rejestrów wolnych terminów – wolny termin to po prostu wpis w księdze intencji z datą i godziną, ale z pustą treścią. Wpisy takie można założyć na cały rok (lub więcej) przy pomocy odpowiednich funkcji programu FARA służących do generowania kalendarza i seryjnego wpisywania pozycji do księgi intencji.
Aby uruchomić aplikację należy otworzyć w programie FARA księgę intencji, kliknąć w ikonę WWW, a następnie, na wyświetlonej liście funkcji dwukrotnie kliknąć w E-intencje.
Następnie w wyświetlonym oknie aplikacji należy kliknąć w przycisk Uruchom.
Wyświetli się wówczas okno konfiguracji parametrów dostępowych opisane w kolejnym punkcie.
Okno konfiguracji składa się z dwóch paneli – lewy dla parametrów FTP lub SFTP określających dostęp do serwera i prawy, z parametrami dostępowymi do bazy danych.
W prawym panelu można dodatkowo zaznaczyć, aby w przypadku błędów transferu lub dostępu do bazy aplikacja automatycznie wysyłała emaila z informacją pod zadany adres.
Jako bazę danych zazwyczaj wskazuje się bazę strony WWW, w której aplikacja utworzy dodatkowe tabele, ale może to być również całkiem osobna baza, nawet na innym hoście.
Po ustawieniu parametrów dostępowych wyświetlane jest okno ustawień, w którym opisuje się wygląd i zachowanie aplikacji i strony WWW. Nie trzeba wszystkiego określać od razu – w każdej chwili można do tego wrócić klikając w ikonę dostosuj w głównym oknie aplikacji. Wygląd strony z intencjami definiuje się na zakładce Intencje w oknie ustawień. Określa się tam zakres wyświetlanych intencji oraz wygląd śródtytułów i tabeli z intencjami. W polach z etykietami class oraz style można umieścić nazwy klas zdefiniowanych w arkuszach CSS strony WWW lub stworzyć własny styl używając notacji języka HTML. Można również określać poziom nagłówka (H1, H2, …) oraz rodzaj bloków, w którym umieszczane są informację (p, span, div, itd..).
Wygląd i zakres listy wolnych terminów określa się tak samo, jak dla intencji, ale na zakładce Wolne terminy w oknie ustawień.
Do każdej wolnej pozycji na liście intencji, jak i na liście wolnych terminów można podpiąć odsyłacz (link) do formularza rezerwacji, przy pomocy którego osoba przeglądająca stronę WWW może zamówić intencję (zarezerwować termin) na wybrany dzień i godzinę.
Wygląd formularza określa się w oknie ustawień (Dostosuj) na zakładce “Rezerwuj przez Internet” w sposób w zasadzie identyczny, jak dla intencji czy wolnych terminów. Większość pól jest opcjonalna – aby je włączyć lub wyłączyć należy przejść do sekcji z opisem pola i zaznaczyć lub odznaczyć znacznik Wyświetlaj to pole.
Wyświetlenie informacji o prywatności jest opcjonalne. Aby je włączyć trzeba zaznaczyć pole wyświetlania w sekcji Informacja o prywatności -> Treść informacji. Tam też trzeba wpisać pełną treść, jaka ma się wyświetlić w stopce formularza.
Własne zabezpieczenia (np. Captcha) można dodać w sekcji Stopka formularza -> Stopka. W polu w tej sekcji można wpisać kod HTML, który zostanie po prostu wklejony do formularza.
Aby formularz był wywoływany po kliknięciu w wolną godzinę na liście intencji należy w oknie ustawień (Dostosuj) przejść na zakładkę Intencje i odszukać sekcję Terminy wolne i e-rezerwacja. W tej sekcji określa się, czy taki link ma w ogóle być aktywny i jaką informację powinien zawierać.
W zasadzie każda witryna zbudowana jest w oparciu o tzw. system zarządzania treścią (CMS). Sposób integrowania aplikacji E-intencje z witryną WWW pokażemy na przykładzie WordPress’a, który jest chyba najczęściej wykorzystywanym narzędziem, jednak w analogiczny sposób aplikację integruje się z witrynami zbudowanymi przy pomocy innych CMS’ów, np. Joomla czy dedykowanych witryn tworzonych dla parafii.
Do prawidłowego działania aplikacji E-intencje na stronie WWW musi być zainstalowana jakaś wtyczka, która pozwala na umieszczenie w treści strony lub wpisu krótkiego kodu PHP. Jeśli nie mamy takiej wtyczki to należy ją zainstalować. Wtyczek tego typu (darmowych) jest całkiem sporo. Dla potrzeb tego projektu wykorzystana została wtyczka XYZ WP Insert Code Snippet , ale może to być dowolna inna wtyczka tego typu.
Wybraną wtyczkę należy zainstalować i aktywować.
Krok 1: Proszę utworzyć snippet z kodem PHP, nadać mu jakąś nazwę, np. faraIntencje i wkleić do niego poniższy kod (podczas kopiowania przeglądarka może zamienić cudzysłowy na ich inne odmiany – proszę zwrócić uwagę, aby były to proste cudzysłowy !):
faraIntencje:
<?php
require (ABSPATH . „fara-e-intencje/skrypty/faraEI.php”);
echo $fara->intencje();
?>
Jeśli mamy więcej kościołów i chcemy dla każdego z nich stworzyć osobną podstronę z intencjami należy utworzyć osobne snippety dla każdego kościoła, nadać im jakieś nazwy i wkleić do każdego z nich poniższy kod, a następnie zastąpić w nim zwrot kod kościoła kodem danego kościoła (podczas kopiowania przeglądarka może zamienić cudzysłowy na ich inne odmiany – proszę zwrócić uwagę, aby były to proste cudzysłowy !)
faraIntencje_sw_Jana:
<?php
require („ABSPATH . fara-e-intencje/skrypty/faraEI.php”);
echo $fara->intencje(kod kościoła);
?>
Gdzie można znaleźć kody kościołów ?
W oknie ustawień aplikacji e-intencje (Dostosuj) należy przejść na zakładkę Integracja ze stroną WWW. Jeśli jest więcej niż 1 kościół na zakładce tej wyświetli się ich lista wraz z kodami.
Krok 2: Proszę utworzyć stronę lub wpis i wstawić do niego tylko tzw. short code snippeta z kodem PHP utworzonym w poprzednim kroku. Kod snippeta znajdziemy w samej wtyczce – będzie on w jakiś sposób wyświetlony przez samego snippeta.
Na powyższym rysunku widać, że stworzono snippet o nazwie testIntencje – jego short code utworzony automatycznie przez snippet to xyz-ips snippet=”testIntencje” wkleimy teraz do treści strony/wpisu.
Krok 3: Utworzoną stronę należy teraz podpiąć do menu strony lub innego elementu, z którego będzie wywoływana.
UWAGA:
Jeśli zamierzamy ponownie otworzyć utworzoną stronę z kodem snippeta aby ją zmodyfikować trzeba najpierw deaktywować wykorzystany w niej snippet, a po zapisaniu i zamknięciu strony ponownie go aktywować. Jeśli tego nie zrobimy to otwierając stronę/wpis do edycji WordPress będzie próbował od razu zastąpić short code bezpośrednio wygenerowaną przez niego treścią, czyli listą intencji, co z kolei w trybie edycji strony/wpisu zazwyczaj spowoduje wyświetlenie komunikatu o błędzie.
Stronę z wolnymi terminami tworzy się podobnie jak stronę z intencjami. Krok 1: Tworzymy snippet o dowolnej nazwie, np. faraTerminy i wklejamy do niego poniższy kod (podczas kopiowania przeglądarka może zamienić cudzysłowy na ich inne odmiany – proszę zwrócić uwagę, aby były to proste cudzysłowy !):
faraIntencje:
<?php
require (ABSPATH . „fara-e-intencje/skrypty/faraEI.php”);
echo $fara->wolneTerminy();
?>
Podobnie jak z intencjami, jeśli chcemy utworzyć osobne strony z wolnymi terminami dla każdego kościoła musimy utworzyć osobne snippety dla każdego z nich i w zwrot echo $fara->wolneTerminy(); zastąpić tym samym zwrotem, ale z kodem kościoła, np. echo $fara->wolneTerminy(1); – w tym przykładzie jest to wyświetlenie wolnych terminów intencji w kościele o kodzie 1. Krok 2: Tworzymy stronę lub wpis, do której wklejamy tzw. short code snippeta utworzonego w korku 1. Krok 3: Podpinamy stronę lub wpis do menu strony lub innego elementu, z którego będzie wywoływana.
Krok 1: Utwórz snippet i nadaj mu dowolną nazwę, np: faraRezerwacja i wklej do niego poniższy kod (podczas kopiowania przeglądarka może zamienić cudzysłowy na ich inne odmiany – proszę zwrócić uwagę, aby były to proste cudzysłowy !):
faraRezerwacja
<?php
require („ABSPATH . fara-e-intencje/skrypty/faraEI.php”);
echo $fara->rezerwacja();
?>
Krok 2: Podobnie jak z intencjami trzeba teraz utworzyć stronę lub wpis i umieścić w nim short code snippetu (patrz: “Strona z listą intencji”)
Krok 3: Formularza nie przypisujemy do żadnego elementu menu ! Proszę zwrócić uwagę, iż do strony utworzonej w poprzednim punkcie WordPress utworzył tzw. bezpośredni odnośnik, jak na przykładowym rysunku poniżej.
Opisany w poprzednim punkcie bezpośredni odnośnik do strony z formularzem trzeba teraz wpisać w programie FARA w oknie ustawień (Dostosuj) na zakładce Rezerwuj przez Internet w sekcji Adres URL formularza (WAŻNE !)
Jak już wcześniej wspomniano strony z formularzem nie przypisuje się do żadnego elementu menu czy przycisku. Ten adres URL strony z formularzem aplikacja E-intencje “podłoży” pod wolny termin intencji i doklei do niego parametry z datą, godziną i ew. kodem kościoła.
Jeśli strona zawiera short code wtyczki wyświetlającej wyniki działania jakiegoś skrypty napisanego w PHP (a tak się dzieje w tym przypadku) to może się zdarzyć, że próbując otworzyć edytor WordPress’a do edycji tej strony/wpisu na zapleczu witryny WordPress wyświetli serię groźnie wyglądających komunikatów o błędzie, jak np. na poniższym zrzucie:
Dzieje się tak dlatego, że WordPress próbuje od razu wykonać skrypt, którego kod wklejony jest do strony, co z kolei w trybie edycji strony/wpisu nie zawsze jest możliwe. Aby tego uniknąć należy zdezaktywować snippet, potem dokonać edycji strony/wpisu i po jej zapisaniu z zamknięciu ponownie aktywować użyty w niej snippet.
Jeśli komponent “Rezerwuj przez Internet” (e-rezerwacja) został skonfigurowany w oknie ustawień (Dostosuj) to można go teraz uruchomić w programie FARA. Odpowiedni przycisk znajduje się na głównym oknie aplikacji e-intencje.
Po uruchomieniu komponentu wyświetli się okno, w którym należ wpisać tzw. interwał czasowy, czyli określić, co ile minut FARA ma sprawdzać, czy nie nadeszły nowe zgłoszenia z witryny WWW.
Częstotliwość sprawdzania zgłoszeń można w każdej chwili zmienić przy pomocy przycisku zmień w głównym oknie aplikacji.
Przejęte przez program FARA zgłoszenia nie są umieszczane bezpośrednio w księdze intencji, lecz w osobnym rejestrze zgłoszeń.
UWAGA
Zgłoszenie ze strony WWW nie zapisze się automatycznie w księdze intencji, lecz w odrębnym rejestrze (poczekalni). Intencje zapisują się do księgi dopiero po ich ręcznym zatwierdzeniu!
9.2.1. Przyjmowanie zgłoszenia rezerwacji terminu.
W rejestrze zgłoszeń można każde zgłoszenie uzupełnić (poprawić) lub pozostawić niezmienione i zaakceptować je klikając w przycisk Zaakceptuj. Zaakceptowane zgłoszenie zostanie umieszczone w księdze intencji, ze statusem nie zatwierdzone (intencje nie zatwierdzone wyświetlają się w księdze intencji na czarnym tle). Po pełnym zatwierdzeniu należy w formularzu intencji kliknąć w ikonę zatwierdź.
Dopóki zgłoszenie nie zostanie ręcznie zatwierdzone, dopóty “nie ma go” w księdze intencji, zaś przy jego terminie na stronie WWW wyświetla się informacja “w trakcie rezerwowania” lub podobna.
Cała “procedura” wygląda więc następująco: Jeśli termin jest wolny to na stronie wyświetla się informacja, będąca jednocześnie linkiem do formularza rezerwacji.
Zgłoszenie zostaje przechwycone przez program FARA i umieszczone w poczekalni (w rejestrze zgłoszeń), gdzie czeka na ręczne zatwierdzenie.
Po ręcznym zaakceptowaniu zgłoszenie zostaje wpisane do księgi intencji, ale ze statusem “niezatwierdzona”. Na stronie WWW wyświetli się już jej treść.
9.2.2. Odrzucanie zgłoszenia.
Jeśli zgłoszenie z różnych względów nie może zostać zaakceptowane należy w formularzu zgłoszenia kliknąć w przycisk Usuń. Zgłoszenie zostanie usunięte, a termin zostanie zwolniony – przy jego opisie na stronie WWW pojawi się ponownie informacja, iż termin ten jest wolny.
Jeśli podczas przesyłania danych na stronę WWW wystąpi jakiś błąd transmisji, np. na skutek braku Internetu aplikacje E-intencje będzie wyświetlała na głównym oknie FARY stosowane powiadomienie. W takich sytuacjach należy po usunięciu awarii uruchomić funkcję przeładuj aby ponownie przesłać do bazy danych całą księgę intencji.
W aplikacji e-intencje można ograniczyć się jedynie do samego wysyłania danych z księgi intencji i zapisywania ich w bazie na serwerze WWW pozostawiając dalszą obsługę twórcom strony. Trzeba jednak pamiętać, że w takiej sytuacji programista strony musi sam dostarczyć mechanizmy wyświetlające a stronie intencje i wyszukujące je według konkretnych kryteriów.
Opisane tu mechanizmy wyszukiwania intencji (od bieżącego dnia, do końca roku, do ostatniej intencji, itd..) dotyczą dostarczanych przez FARĘ mechanizmów wyciągania danych z bazy danych, a nie ładowania ich do niej. Baza na serwerze zawsze zawiera wszystkie intencje – zaś określane w oknie ustawień parametry oznaczają sposób ich wyszukiwania. Oznacza to, iż programista strony, który nie chce korzystać z mechanizmów aplikacji e-intencje musi sam zadbać o to, aby wyświetlać intencje na stronie wg. właściwych kryteriów.
Jeśli programowane rozwiązanie ma również tworzyć formularze e-rezerwacji, to muszą one być umieszczane w pliku o konkretnej strukturze we właściwym katalogu. Poniżej można pobrać pliki ze specyfikacją tabel w bazie danych na serwerze WWW oraz ze specyfikacją pliku zgłoszenia (format XML) przechwytywanego przez program FARA.