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.