Dokumentacja techniczna CMSphere EASY na podstawie
Transkrypt
Dokumentacja techniczna CMSphere EASY na podstawie
Dokumentacja techniczna CMSphere EASY na podstawie wdrożenia dla Gminy Wieliszew Michał Rygielski, 24.02.2012 Spis treści 1. Wstęp......................................................................................................................3 2. Opis panelu administracyjnego...................................................................................3 2.1. Struktura oraz opis plików systemowych..............................................................3 2.2. Moduły..............................................................................................................5 3. Opis strony frontendowej...........................................................................................6 3.1. Opis najważniejszych zmiennych.........................................................................6 3.2. Opis i struktura plików........................................................................................7 1. Wstęp. System CMSphere EASY zbudowany jest na zasadzie programowania strukturalnego. Nie wykorzystuje modelu MVC (Model-View-Controller). Cało kod (po za tym, który jest przygotowany) programista musi napisać samemu. CMSphere EASY nie jest system podobnym do np. Drupala, gdzie posiadamy jeden panel Administracyjny, w którym większość można wyklikać co powoduje „tworzenie się” strony frontendu. W systemie EASY cały CMS to tak naprawdę backend czyli tylko zaplecze. Do budowy widoku frontendu stworzone są skryptu umożliwiające komunikację z bazą danych serwisu. System umożliwia w standardzie tworzenie nieograniczoną ilość wersji językowych oraz tzw. multiportali (czyli serwisów obsługiwanych w ramach jednego panelu administracyjnego). CMSphere EASY nie posiada komunikacji opartej na znacznikach unicode, dlatego też przy dodawaniu nowych wersji językowych programista musi odpowiednio oprogramować poszczególne teksty. Wszelkie skrypty po stronie frontendu służące do obsługi poszczególnych modułów (jeśli nie są napisane) należy napisać samemu. 2. Opis panelu administracyjnego. 2.1. Struktura oraz opis plików systemowych _class / functions.php Plik zawierający różnego rodzaju funkcje pomocnicze np. do skalowania plików obrazu, tworzenia przyjaznych linków, przycinania tekstu oraz stronicowania. _javascript / Folder zawierający skrypty JavaScript używane we wszystkich modułach systemu CMS. _system / initlogin.php Skrypt odpowiedzialny za sprawdzanie czy użytkownik jest zalogowany do panelu administracyjnego. Sprawdzanie odbywa się na zasadzie odpytywania zmiennej $zalogowany, która posiadając parametr false nie wpuści użytkownika do systemu. W pliku zawarte są także wszystkie informacje na temat użytkownika. Gromadzone są w tzw. zmiennych podręcznych. Do takich zmiennych należą np. $LOGINID, $MAP_KEY oraz wszystkie zmienne pochodne $USER_ACCESS, które posiadają informację na temat uprawnień nadanych użytkownikowi (1 – true, 0 – false) queryvars_inc.php Skrypt odpowiedzialny za łączenie wszystkich tablic zmiennych w jedną spójną. Dokładniej chodzi o to, że tablice $_SESSION, $_COOKIE, $_GET oraz $_POST łączone są w jedną, jednolitą tablicę, dzięki czemu wywołując zmienną $_GET['test'] można to zrobić za pomocą $test ob_start.inc.php, ob_stop.inc.php Skrypty służące do tzw. buforowania strony poprzez kompresję metodą GZIP w celu szybszego wywoływania skryptów przez Apache. header_ads.php, bottom_ads.php Pliki zawierające szablony dodatkowe umiejscowione w nagłówku i stopce strony. W pliki header znajduje się dodatkowo lista rozwijana dostępnych multiportali oraz wersji językowych. _template / Folder zawierający administracyjnego. wszystkie style oraz obrazy zawarte w szablonie systemu ofc-library / Folder zawierający skrypty generujące wykresy w module statystyk. .. / cms_menu.php Plik zawierający menu CMS z podziałem na uprawnienia. W przypadku dodawania nowego modułu lub jego usunięcia należy zakomentować odpowiednią linię. _config.php Plik konfiguracyjny zawierający niektóre definicje zmiennych. Dokument zawiera także dane konfiguracyjne do bazy danych. index.php Główny plik szablonu, w którym odpowiednie warunki odpowiedzialne są za wyświetlanie poszczególnych sekcji contentu. _func.php Dodatkowe funkcje pomocnicze. .htaccess Plik ustawień serwerowych. W panelu administracyjnym nie wymagane są żadne modyfikacje. 2.2. Moduły Pliki modułów umieszczone są w głównym folderze systemu. users.php Moduł odpowiedzialny za wyświetlanie użytkowników (administratorów) systemu CMS, edytowanie uprawnień, dodawanie nowych oraz kasowanie niepotrzebnych użytkowników banery.php, baner_logo.php, baner_right.php, baner_promo.php Moduły służące do zarządzania banerami, każdy z plików może być wykorzystany do oddzielnych funkcji serwisu. W każdym pliku powinna znajdować się ukryta opcja KONFIGURACJA, w której można ustawić dodatkowe opcje dla danego baneru, dzięki czemu można ustawić np. wyświetlanie od daty do daty lub wymusić np. pokaz slajdów administracja.php Moduły służące do zarządzania serwisem. Znajdują się w nim opcje służące m.in. do zarządzania multiportalami, wersjami językowimi, treścią strony, kluczem do map Google. Od programisty oraz projektu zależy jakie opcje mają być dostępne dla przyszłych administratorów a co należy ukryć. aktualnosci.php, aktualnosci_tresc.php Moduł służący do dodawania nowych zajawek (aktualnosci.php) oraz do późniejszego rozbudowywania dalszego contentu. formularze.php, formularze_type.php Moduł służący do tworzenia tzw. dynamicznych formularzy. Dzięki temu narzędziu użytkownik jest w stanie samodzielnie wyklikać formularz, ankietę lub innego rodzaju treści które go interesują. forms.php, html_export.php Moduł służy do wyświetlania wyników poszczególnych formularzy. Aby go używać w sposób prawidłowy należy dodać nową pozycję na liście, przypisać jej konkretny formularz oraz ustawić docelowego maila. Dodatkowo moduł pozwala za pomocą skryptu html_export.php wyexportować wyniki pobrane z bazy danych do szablonu HTML kalendarium.php Moduł służy do tworzenia i zarządzania wpisami różnego rodzaju zdarzeń. Poszczególne wpisy można bez problemu wyświetlać następnie w skrypcie kalendarza. oferty_inwestycyjne.php, zamowienia_publiczne.php Moduły działające na podobnej zasadzie. Pozwalają na dodawanie nowych pozycji, uzupełnianie ich o treści, pliki, zdjęcia oraz pozycję na mapie. struktura_strony.php, akapit_edycja.php Moduł pozwalający na zarządzanie listą struktury menu. Na zasadzie rekurencji można tworzyć zagłębienia teoretycznie w nieskończoność (ograniczenie znajduje się w pliku konfiguracyjnym). Z listy struktury można bezpośrednio przejść do edycji treści poszczególnych menu. Służy do tego skrypt akapit_edycja.php, za pomocą którego można w prosty sposób tworzyć treści podzielone na bloki (w każdym bloku znajdują się pola temat, nagłówek oraz treść). Do każdych bloków można dodatkowo dodawać pliki oraz zdjęcia. Można takie operacje wykonywać także z poziomu edytora WYSIWYG. statystyki.php Moduł służący do wyświetlania statystyk odwiedzalności jak i wyświetleń serwisu. galerie.php Moduł służący do tworzenia galerii zdjęciowych tylko z jednym poziomem (bez kategorii i podkategorii) video.php Moduł służący do tworzenia galerii filmowych YouTube tylko z jednym poziomem (bez kategorii i podkategorii). Obrazy filmów zaciągane są automatycznie do folderu uploadowanych plików SYSTEMFILE w głównym folderze polecane_strony.php Moduł służący do tworzenia listy np. polecanych stron. naglowek.php, stopka.php Moduł służący do edycji nagłówka lub stopki poprzez dodawanie treści lub zdjęcia. 3. Opis strony frontendowej. 3.1. Opis najważniejszych zmiennych. $stronaID – identyfikator strony pobierany z tabeli `struktura_strony`, na podstawie tej zmiennej należy wyświetlać poszczególne zawartości menu $jezyk – język, który używany jest po stronie WWW (automatycznie brany jest ten, który ustawiony został w multiportalu pierwszy w kolejności), poprzez tą zmienną należy komunikować się z innymi skryptami $SITE_STAT – informacja o tym czy statystyki mają być włączone $SITE_STATADV – informacja o tym czy statystyki zaawansowane (pobierające IP oraz wszystkie wejścia) mają być włączone $SITE_MOURNING – czy włączony ma być tryb żałoby $SITE_MAP_KEY – zmienna zawierająca klucz map Google $SITE_TITLE – pobiera tytuł strony, na której aktualnie się znajdujemy $SITE_DESC – pobiera opis strony tzw. description $SITE_KEYS – pobiera słowa kluczowe strony $poziomID – pobiera poziom zagłębienia danej strony $nameID – pobiera nazwę wybranej strony $urlID – zawiera wartość (jeśli występuje) linku URL, który jeśli występuje można zastąpić w linku danego menu $zdjID – zawiera odnośnik do pliku zdjęcia przypisanego do menu $stronaMATKA – zawiera wartość głównej strony do której należy dana strona, w przypadku jeśli strona jest główna wartość będzie równa 0 $naleznoscID – sprawdza czy dana strona należy do jakiejś innej strony menu czy może jest główna (równa 0) 3.2. Opis i struktura plików. __class / _func.php Plik zawierający różnego rodzaju funkcje pomocnicze np. do skalowania plików obrazu, tworzenia przyjaznych linków, przycinania tekstu oraz stronicowania. __system / _aktualnosci.php Gotowy skrypt pozwalający na wyświetlanie listy aktualności oraz poszczególnych wpisów _archiwum.php Gotowy skrypt pozwalający na wyświetlanie listy archiwalnych wpisów aktualności (archiwalne znaczą tyle, że jest to cała lista wszystkich aktualności) _formularz.php Gotowy skrypt pozwalający na wygenerowanie formularza utworzonego w module FORMULARZ _galerie.php Gotowy skrypt pozwalający na wyświetlanie listy galerii oraz poszczególnej jednej galerii _imieniny.php Gotowy skrypt pozwalający na wyświetlenie aktualnych imienin _kalendarium_pokaz.php Gotowy skrypt pozwalający na wyświetlenie wpisu w kalendarium wydarzeń _mapa_strony.php Gotowy skrypt pozwalający wyświetlenie listy wszystkich elementów w strukturze strony. _oferty_inwestycyjne.php Gotowy skrypt pozwalający na wyświetlanie listy ofert inwestycyjnych oraz jednej poszczególnej inwestycji _video.php Gotowy skrypt pozwalający poszczególnego filmu na wyświetlanie listy filmów video oraz jednego _wyszukiwarka.php Gotowy skrypt pozwalający na wyświetlanie wyników wyszukiwania (zmienna kluczowa $search) _zamowienia_publiczne.php Gotowy skrypt pozwalający na wyświetlanie listy zamówień publicznych. _akapit_wyswietl.php Gotowy skrypt pozwalający na wyświetlanie contentu treści poszczególnych menu (kluczowa zmienna $stronaID) base.inc.php Plik konfiguracyjny zawierający ustawienia bazy danych.