• Nie Znaleziono Wyników

Szkielet systemu doradczego DiaDyn

N/A
N/A
Protected

Academic year: 2022

Share "Szkielet systemu doradczego DiaDyn"

Copied!
18
0
0

Pełen tekst

(1)

Rozdział 3

Szkielet systemu doradczego DiaDyn

Sebastian RZYDZIK

3.1. W stęp

M o d u ł Dia_Sys je st podstawowym m odułem systemu DiaDyn [3.6][3.1]. Zadaniem tego m odułu jest integrowanie pozostałych m odułów wchodzących w skład systemu DiaDyn oraz wspoma­

ganie obsługi systemu z poziomu przeglądarki internetowej. M o d u ł Dia_Sys został opracowany na bazie oprogramowania Dragonfly CMS [3.2], które należy do grupy systemów zarządzania treścią (ang. C ontent Management System, CM S). Dokum entacja dla tego oprogramowania jest dostępna na stronie domowej projektu pod adresem h t t p : / / w w w . d r a g o n f ly c m s . o r g . W rozdziale scharakteryzowano system Dragonfly, pokazano strukturę systemu DiaDyn, przestawiono proces rejestracji nowych użytkowników oraz opisano podstawowe działania jakie można przeprowadzić z użyciem m odułu Dia_Sys. Ponadto, pokazano w ja ki sposób tworzyć i uruchamiać nowe moduły.

Część rozdziału zawiera uwagi o działaniach jakie mogą być realizowane przez współautorów systemu (np. dotyczące tworzenia własnych m odułów ). Zamieszczono je w tym rozdziale w celu dokładniejszego zilustrowania działania systemu.

Fragm enty przedstawionych w tym rozdziale opisów pokrywają się z inform acjam i zawartymi w artykule [3.7].

3.2. W ybór narzędzia

Opracowanie m odułu Dia_Sys rozpoczęto od sporządzenia listy cech, jakie powinien posiadać budo­

wany system DiaDyn. Poniżej wym ieniono najważniejsze z nich:

• obsługa z użyciem przeglądarki internetowej (model klient-serwer);

• modułowa budowa (możliwość dołączania i zarządzania m odułam i);

• niezależność od systemu operacyjnego (zarówno dla klienta, ja k i serwera);

• współpraca z bazą danych SQL;

• elastyczność w tworzeniu interfejsu graficznego;

• wspomaganie zarządzania udostępnianymi plikami;

• wspomaganie obsługi poczty elektronicznej (rozsyłanie inform acji do użytkowników systemu);

• zarządzanie użytkownikam i;

• zarządzanie grupami użytkowników;

• wspomaganie logowania użytkowników;

(2)

M o d u ły i d o d a t k i W ażna in fo rm a c ja

M o d u ł o p o g ru b io n y m ty tu le o z n a c z a m o d u ł ustaw iony ja k o stro n a startow a

T e n m o d u ł n ie m o ż e z o s ta ć deaktyw ow a ny lub o g ra n icz o n y ty lk o do n iek tó ry ch u ży tkow ników

[ • ] o z n a c za m o d u ł, który n ie j e s t w idoczny w b lo k u M od u ły

Aktyw uj W sz y stk ie | D eaktyw uj W s z y stk ie

Aktywny Tytuł Tytuł w łasny W yświetla) Bloki Funkcje

A n k i ety w s z y st k i m o d w i e d z aj ący rn po lewej Edytuj :: Ustaw ja k o stron ą

starto w ą :: U n in sta ll

A rchiw um artykułów w szystkim odw ied za ją cy m po lewej Edytuj :: Ustaw ja k o stroną

startow ą

n - A rtykuły Wiadomości w szystkim odw iedzającym po lewej Edytuj 1

f c / D ia Sta D ia_Sta ty 1 k o z a r ej e stro w a n y m

u ż y tk o w n i k o rn po lewej Edytuj :: Ustaw ja k o stron ą sta rto w ą

t / D ia W ik i D ia_W iki ty 1 k o z a r ej e stro w a n y m

u ży tk o w n ik o m po lewej Edytuj :: Ustaw ja k o stroną

startow ą

Rys. 3.1: W id o k narzędzia do zarządzania m odułam i

• dostępność i otwartość kodu (licencja GNU GPL);

• dostępność dokum entacji programisty.

Przed przystąpieniem do pracy nad m odułem Dia_Sys rozpatrywano dwie możliwości: opracować system od podstaw lub skorzystać z istniejących rozwiązań. Sprawdzono obie możliwości. Opraco­

wano prototypow y system cechujący się m odułową stru ktu rą oraz przeprowadzono analizę gotowych rozwiązań. Ostatecznie postanowiono, że m o d u ł Dia_Sys powstanie na bazie istniejącego systemu.

Szczególną uwagę zwrócono na tzw . systemy zarządzania treścią (ang. C ontent Management Sys­

tem , CM S). W większości przypadków systemy te posiadają wymienione wcześniej cechy. Najlepszym systemem okazał się system Dragonfly CMS.

3.2.1. Charakterystyka systemu Dragonfly C M S

D ragonfly CMS je st darmowym (na licencji GNU GPL), szkieletowym systemem zarządzania treścią uruchamianym na serwerze stron internetowych (na serwerze W W W ). W ybrany serwer W W W po­

winien dysponować możliwością uruchamiania skryptów napisanych w języku php [3.3]. Na stronie domowej projektu Dragonfly CMS autorzy dostarczają następujących inform acji:

System Dragonfly CMS:

• bazuje na systemie PHP-Nuke w wersji 6.5 [3.4], przy czym poprawiono stabilność i bezpieczeństwo w stosunku do pierwowzoru,

• został napisany w całości w języku programowania php 4.3, przy czym można go uruchom ić na serwerze z obsługą wyższych wersji języka php,

• współpracuje z bazą danych M ySQL w wersji co najmniej 4.0 albo PostgreSQL w wersji 7.6 lub wyższej.

Główne zalety oprogramowania to:

• modułowa budowa; tworzone m oduły mają niewielkie wymagania dotyczące ich integracji z systemem Dragonfly CMS, dzięki tem u mogą być pisane ja ko osobne aplikacje internetowe i dopiero w końcowej fazie wdrażania są dodawane do s tru ktu ry systemu,

• elastyczne zarządzanie m odułam i i blokami z poziomu panelu adm inistracyjnego (rys. 3.1),

• system logowania użytkowników,

• system edycji uprawnień użytkowników i grup użytkowników z poziomu panelu adm inistracyj­

nego (rys. 3.2),

(3)

3. Szkielet systemu doradczego DiaDyn 29

Rys. 3.2: W id o k narzędzi do zarządzania użytkownikam i

• obsługa bazy danych, w tym archiwizacja, z poziomu panelu adm inistratora,

Ze strony użytkownika wymagane je st posiadanie jednej z popularnych przeglądarek internetowych (np. Internet Explorer, Opera lub Firefox) z włączoną obsługą języka JavaScript i akceptowaniem tzw . plików cookies.

3.2.2. Struktura zabezpieczeń systemu DiaDyn

Z poziomu m odułu Dia_Sys system DiaDyn jest widziany ja ko zbiór m odułów z ograniczonym dostępem. Dostęp do m odułów ograniczany je st na poziomie grupy użytkowników. Do każdej grupy przypisane są m oduły oraz użytkownicy (rys. 3.3). Nazwa grupy może być jednocześnie identyfikatorem , na podstawie którego dany m o d u ł może rozróżniać form y dostępu do niego, np. odczyt, zapis, częściowy dostęp do wybranych funkcji m odułu itp.

-E d y c ja grupy —

M enu głów ne Lista grup

P 1 0 5 R _ A L L , G r u p a z u p r a w n i e n i a m i d o o d c z y t u w p r o j e k c i e P B Z - K B N - 1 0 5 / T 1 0 / 2 0 0 3 w m o d u l e D i a _ W i k i

W y k a z p roi e k to w d o k to ry ch n a le ż y g ru p a : 11 P B Z - KB N - 1 U 5 / T 1 0 / 2 U U 3 ( P roj e k t B a d a w cz y

Z a m a w ia n y pt. Z in te g r o w a n y d y n a m ic z n y s y s te m o c e n y ry z y k a , d ia g n o s t y k i o r a z s te r o w a n ia d la o b ie k tó w i P r o ces ó w t e ch n i cz n y c h . P r oj e k t k o o r d y n o w a n y p rz e z IMF1 PA N w G d a ń s k u . )

E dytuj g ru p ą (n a z w a , o p is , p r o je k ty ) Lista u ż y tk o w n ik ó w w g ru p ie (1 1 )

D oda j u ż y tk o w n ik ó w Lista m o d u ło w g ru p y (1 )

U suń u ż y tk o w n ik ó w D oda j d o s tą p do m o d u łu

Z a b lo k u j u ż y tk o w n ik ó w U suń d o s tą p do m o d u łu

O d b I o k uj u ż y t k o w n i k ó w ( u )

Rys. 3.3: W id o k narzędzia do zarządzania grupami

Ponadto, system DiaDyn je st przygotowany do obsługi wielu projektów. W ybrana grupa użytkow ni­

ków może należeć do kilku projektów (rys. 3.4).

Podsumowując, użytkow nik systemu DiaDyn ma dostęp do m odułu, jeżeli (rys. 3.5, rys. 3.6):

1. posiada aktywne konto w systemie,

2. je st zarejestrowany w projekcie (przynajm niej jednym ), 3. należy do grupy, która je st przypisana do projektu, 4. należy do grupy, która ma dostęp do m odułu.

(4)

Zmień nazwę i opis grupy —

N a z w a P 1 0 5 R _ A L L O p i s

Grupa z uprawnieniam i do odczytu w pro jekcie PBZ-KBN -105/T10/2003 w module D ia_W iki

□ B W - x x x /R M T - 6 (G ru p y T e m a ty c z n e o b ję te b a d a n ia m i w ła s n y m i p ro w a d z o n y m i w K a te d rz e P odsta w K o n s tru k c ji M a s z y n P o lite c h n ik i Ś lą s k ie j, P r o je k t d o s tę p n y w yłą czn ie d la p ra c o w n ik ó w , d o k to ra n tó w i s tu d e n tó w K a te d ry . j

0 P B Z -K B N -1 0 5 /T 1 0 /2 0 0 3 ( P r o je k t B adaw czy Z a m a w ia n y pt, Z in te g ro w a n y d y n a m ic z n y s y s te m o ce n y ry z y k a , d ia g n o s ty k i o ra z s te ro w a n ia d la o b ie k tó w i p ro ce só w te c h n ic z n y c h . P r o je k t k o o rd y n o w a n y p rz e z IM P PAN w G d a ń s k u .)

O R M T fc -D y p lo m y ( P r o je k t d la p ra c d y p lo m o w y c h re a liz o w a n y c h w KPKM)

Zmień

Rys. 3.4: W id o k narzędzia do edycji parametrów grupy

Moduł Dia_Sys

Rys. 3.5: Uproszczona struktura zabezpieczeń systemu DiaDyn (m o d u ł Dia_Sys)

3.3. Główne okno m odułu D ia_Sys

M o d u ł Dia_Sys działa na serwerze stron internetowych. Oprócz integracji m odułów, m o d u ł Dia_Sys je st odpowiedzialny za tworzenie kodu htm l strony domowej systemu DiaDyn. W celu użycia tego m odułu, czyli w celu użycia systemu DiaDyn, należy uruchom ić przeglądarkę stron internetowych i wpisać adres h t t p s : / / k p k m . p o l s l . p l / d i a d y n . Nie występuje potrzeba instalacji dodatkowego oprogramowania w komputerze końcowego użytkownika. W testach stosowano trz y najpopularniejsze przeglądarki: Internet Explorer 6, Opera 9.01 oraz Firefox 1.5.0.7. Nie ma wymagań dotyczących rodzaju systemu operacyjnego, na którym uruchamiana jest przeglądarka internetowa. Na rys. 3.7.

pokazano okno główne m odułu Dia_Sys.

(5)

3. Szkielet systemu doradczego DiaDyn 31

P r o je k t : P B Z - K B N - 1 0 5 ,/T 10 / 2 0 0 3

( P r o je k t B a d a w c z y Z a m a w ia n y p t. Z in te g r o w a n y d y n a m ic z n y s y s te m o c e n y ry z y k a ., d ia g n o s t y k i o ra z s te r o w a n ia d la o b ie k tó w i p ro c e s ó w te c h n ic z n y c h . P r o je k t k o o r d y n o w a n y p r z e z IM P PAN w G d a ń s k u .)

u ż y tk o w n ik j e s t z a r e j e s t r o w a n y p r o j e k t j e s t n ie z a b lo k o w a n y

G r u p a : g r u p a 1 ( o p is g r u p y 1 ) e d y tu j

M o d u ły :

D o w n lo a d s ( P o b ie r z p l i k i) N e w s ( W i a d o m o s ci) S e a r c h ( S z u k a j ) T o p ic s (T e m a t y )

Y o u r _ A c c o u n t ( M o je k o n t o )

g r u p a j e s t z a b lo k o w a n a u ż y tk o w n ik j e s t n ie z a b lo k o w a n y

G r u p a : P 1 0 5 R _ A L L ( G r u p a z u p r a w n ie n ia m i d o o d c z y tu w p r o je k c ie P B Z - K B N - 1 0 5 /T 1 0 /2 0 0 3 w m o d u 1 e D i a _ W i k i ) e d y t u j

M o d u ły :

D ia _ V / ik i ( D i a _ W i k i )

g r u p a j e s t n ie z a b lo k o w a n a u ż y tk o w n ik j e s t n ie z a b lo k o w a n y

G r u p a : P 1 0 5 R _ P B Z 1 0 5 T 1 0 2 0 0 3 ( L is ta u ż y tk o w n ik ó w m a ja c y c h u p r a w n ie n ia d o s tr o n y g łó w n e j D ia _ W ik i w p r o je k c ie P B Z ) e d y tu j

M o d u ły :

D ia _ W ik i ( D i a _ W i k i ) D o w n lo a d s ( P o b ie r z p lik i) N e w s ( W i a d o m o s ci) S e a r c h ( S z u k a j ) T o p ic s (T e m a t y )

Y o u r _ A c c o u n t ( M o je k o n t o )

g r u p a j e s t n ie z a b lo k o w a n a u ż y tk o w n ik j e s t n ie z a b lo k o w a n y

G r u p a : P 10 5 W _ U p lo a d ( G ru p a u z y t k o w n i k o w z p r a w a m i p r z e s y ła n ia p lik ó w ) e d y tu j

M o d u ły :

D ia _ W ik i ( D i a _ W i k i )

g r u p a j e s t n ie z a b lo k o w a n a u ż y tk o w n ik j e s t n ie z a b lo k o w a n y

Rys. 3.6: Przykładowy wykaz dostępnych dla użytkownika projektów, grup i m odułów

Rys. 3.7: Okno główne m odułu Dia_Sys (systemu DiaD yn)

Główne okno m odułu można podzielić na cztery obszary (rys. 3.8). W obszarze A pokazywa­

na je st nazwa systemu. Obszar B zawiera bloki funkcjonalne, które zawierają m.in. odsyłacze uruchamiające inne moduły, ważne dla użytkownika inform acje oraz inne funkcje specjalne, które

(6)

pojawiają się tylko dla wybranych m odułów. Należy zaznaczyć, że organizacja i zawartość bloków jest dynamiczna. Ponadto podobne bloki funkcjonalne mogą pojawić się po prawej stronie okna. Obszar C zajm uje największą szerokość okna i jest jednocześnie podstawowym obszarem działania m odułów systemu DiaDyn. To właśnie w tym obszarze możliwa je st interakcja użytkownika z wybranym m odułem. Obszar D, niewielka ikona „minus w kwadratowym obramowaniu” , po kliknięciu w yw ołuje funkcję, która ukrywa obszary A i B, tym samym zwiększając szerokość obszaru C. Jednocześnie ikona zmienia swój wygląd na „plus w kwadratowym obramowaniu” . Ponowne kliknięcie na tej ikonie powoduje sytuację odw rotną - obszary A i B stają się widoczne.

Rys. 3.8: Analiza interfejsu głównego okna m odułu Dia_Sys (opis w tekście)

3.4. Rejestrowanie nowych użytkowników

Proces rejestracji nowych użytkowników je st dwuetapowy. W pierwszym etapie użytkow nik rejestruje się w systemie DiaDyn. Proces ten odbywa się automatycznie, bez udziału adm inistratora systemu.

W drugim etapie użytkow nik rejestruje się w wybranym projekcie wysyłając prośbę do adm inistratora o nadanie szczególnych uprawnień. Użytkow nik zarejestrowany w systemie DiaDyn ma dostęp do listy aktywnych projektów. Oba etapy rejestracji opisano w dalszej części rozdziału.

3.4.1. Rejestracja w systemie DiaDyn

Jak ju ż wspomniano, proces rejestracji nowego użytkownika w systemie odbywa się całkowicie au­

tom atycznie. W celu uruchomienia tego etapu rejestracji należy najpierw zalogować się na konto specjalnego użytkownika, który ma prawo wyłącznego dostępu do formularza rejestracyjnego. Pseu­

donim i hasło użytkownika rejestracyjnego podano poniżej:

pseudonim: regdiadyn hasło: 19dia06sys

Hasło tego użytkownika będzie zmieniane co pewien okres czasu.

Po zalogowaniu się na konto użytkownika regdiadyn pojawi się form ularz rejestracyjny (rys.

3.9). W ypełnienie formularza wymaga podania proponowanego pseudonimu użytkownika, adresu e­

mail oraz hasła do konta, które należy powtórzyć w ostatnim polu. Jeżeli pola haseł pozostaną puste system sam wygeneruje hasło. Przyciśnięcie przycisku „W yślij” spowoduje weryfikację podanych danych. Jeżeli pseudonim lub adres e-mail są ju ż zarejestrowane w systemie, to użytkow nik zostanie poproszony o zmianę tych danych. System wymaga, żeby hasło m iało przynajmniej 5 znaków. Jeżeli

(7)

3. Szkielet systemu doradczego DiaDyn 33

proces weryfikacji zakończy się pozytywnie, to system poprosi o sprawdzenie podanych inform acji (rys. 3.10).

Rys. 3.9: Formularz rejestracyjny dla nowych użytkowników systemu DiaDyn

Rys. 3.10: Formularz rejestracyjny. Sprawdzenie poprawności podanych inform acji

Jeżeli użytkow nik uzna, że podane inform acje są poprawne, to powinien wprowadzić kod zabezpie­

czający widoczny na obrazku i zakończyć ten etap klikając na przycisk „Zakończ” . W przeciwnym przypadku użytkow nik może w rócić i poprawić błędne informacje. Po zakończeniu tego etapu należy się wylogować z konta użytkownika re g d ia d y n , w tym czasie system wysyła na podany adres e-mail specjalny odsyłacz z kodem aktywacyjnym ważnym przez 24 godziny. U żytkow nik powinien otworzyć otrzym any list aktyw acyjny i odnaleźć wspom niany odsyłacz. Zakończenie rejestracji w systemie DiaDyn polega na kliknięciu otrzym anego odsyłacza lub skopiowanie go do paska adresu przeglądarki internetowej i wywołaniu go, ta k ja k w przypadku otwierania zw ykłych stron interneto­

wych. Jeżeli wszystko zakończy się poprawnie system powiadomi użytkownika, na aktualnie otwartej stronie, o pozytywnej aktywacji konta. Od tej chwili użytkow nik może logować się do systemu DiaDyn.

Należy zaznaczyć, że użytkow nik zarejestrowany w systemie DiaDyn i nie zarejestrowany w projekcie ma bardzo ograniczone możliwości. Dopiero rejestracja w projekcie, opisana w następnym punkcie, umożliwia uzyskanie dostępu do bardziej zaawansowanych funkcji.

(8)

3.4.2. Rejestracja w projekcie

Rejestracja w projekcie musi być poprzedzona rejestracją w systemie DiaDyn. Dopiero uzyskanie konta w systemie DiaDyn i zalogowanie się przez podanie swojego pseudonimu i hasła daje dostęp do drugiego formularza rejestracyjnego. Odsyłacz do formularza, ujęty w ramkę w „Menu głów nym ” ,

pokazano na rys. 3.11.

Rys. 3.11: Formularz rejestracyjny dla nowych użytkowników w projekcie

Formularz rejestracyjny w projekcie ma identyczną postać ja k form ularz rejestracyjny w systemie DiaDyn, opisany w poprzednim punkcie. Jednak w tym przypadku należy dodatkowo podać swoje prawdziwe imię i nazwisko, miejsce pracy oraz telefon kontaktowy. Następnie należy przejść do weryfikacji podanych danych klikając na przycisk „W yślij” . Jeżeli system nie będzie m ia ł zastrzeżeń do podanych danych pojawi się prośba o ponowne sprawdzenie podanych inform acji, podobnie ja k na rys. 3.10. Po naciśnięciu przycisku „Zakończ” system wyświetli kom unikat o poprawnym zakończeniu tego etapu rejestracji (rys. 3.12.) jednocześnie umieszczając prośbę o rejestrację w

projekcie w kolejce użytkowników których należy zweryfikować.

Rys. 3.12: Formularz rejestracyjny dla nowych użytkowników w projekcie. K om unikat końcowy

W eryfikacja użytkowników dokonywana jest przez adm inistratora na podstawie list osób ma­

jących prawo uczestniczenia w danym projekcie. Listy dostarczane są przez Kierownika projektu, Kierowników grup tem atycznych i Kierowników tem atów . Jeżeli dane użytkownika nie są ujęte na

(9)

3. Szkielet systemu doradczego DiaDyn S5

tych listach, to taka prośba je st odrzucana. W przeciwnym przypadku użytkow nik wysyłający prośbę zostaje dopisany do projektu, a tym samym otrzym uje dostęp do specjalnych funkcji (m odułów ) systemu DiaDyn. W obu opisanych przypadkach, decyzja o odrzuceniu lub akceptacji prośby jest potwierdzana specjalnym listem elektronicznym wysyłanym na adres e-mail podany przy rejestracji do systemu DiaDyn. Z powodu „ręcznej” weryfikacji prośby użytkownika przez adm inistratora ten etap może potrwać kilka dni.

3.5. Logowanie w system ie D iaD yn

Dostęp do funkcji m odułu Dia_Sys, a tym samym systemu DiaDyn, je st m ożliwy dopiero po za­

logowaniu się w systemie. Jednak zanim to nastąpi należy uprzednio zarejestrować się w systemie i/lu b w projekcie w ypełniając form ularz (form ularze) rejestracyjny opisany w poprzednim punkcie.

W celu zalogowania się do systemu należy wpisać pseudonim (nazwę) użytkownika, hasło i kod zabezpieczający w przeznaczonych do tego celu polach bloku „Logowanie” lub przejść do m odułu

„M oje konto” obsługującego użytkowników systemu i tam podać odpowiednie dane (rys. 3.13). Na

M e n u g ł ó w n e

O p c j e u ż y t k o w n i k a

• M oje konto

I

H asło

I

I

Kod z a b ezp .

I

95d6b2

W pisz kod z a b ezp.

B

System DiaDyn

J e s te ś t u t a j: S t r o n a g ł ó w n a > M o j e k o n t o > L o g o w a n i e u ż y t k o w n i k a

P se u do n im

1 1

H asło

i i

Nie p a m ię ta sz h a s ła ?

1 1

Kod za b e zp .

9bb10b

W p isz ko d za b e zp .

I I

Z a l o g u j s i ę |

Z a lo g u j się

Rys. 3.13: Blok „Logowanie” i m o d u ł „M oje konto” z żądaniem logowania

rys. 3.14 pokazano stronę główną systemu DiaDyn dla użytkownika, który poprawnie zalogował się w systemie - bloki „Menu główne” i „Logowanie” zm ieniły swoją zawartość udostępniając funkcje przeznaczone tylko dla zarejestrowanych użytkowników. Teraz, po wybraniu m odułu „M oje konto” , można uzupełnić dodatkowe inform acje o sobie (zakładki: M ój profil publiczny, Informacje o profilu, Informacje osobiste, Informacje rejestracyjne), ustawić preferencje (zakładki: Moje preferencje, Moje ustawienia strony startowej, M oje ustawienia komentarzy) lub odczytać/zredagować wiadomość do innego, zarejestrowanego użytkownika systemu DiaDyn (zakładki w grupie „W iadomości prywatne” ).

Logowanie w przypadku zapomnienia hasła

W przypadku, gdy użytkow nik zapomni swoje hasło, należy wybrać kolejno „M oje konto” i odsyłacz „Nie pamiętasz hasła?” , a następnie według instrukcji.

Należy zaznaczyć, że tymczasowe hasło może być wysłane tylko na adres e-mail podany w trakcie rejestracji użytkownika.

3.6. Zasoby System u D iaD yn

Uruchomienie wybranego m odułu polega na wybraniu odpowiedniego odsyłacza z bloku „Menu głów­

ne” . „Menu główne” podzielono na następujące grupy:

(10)

Rys. 3.14: Okno główne m odułu Dia_Sys dla załogowanego użytkownika

1.

Strona główna

, gromadzi odsyłacze do m odułów ściśle związanych ze stroną internetową systemu DiaDyn, ja k np.: a rtyku ły lub wiadomości;

2.

DiaDyn

, gromadzi odsyłacze do m odułów ściśle związanych z systemem DiaDyn;

3.

Opcje użytkownika

, zawiera odsyłacze do m odułów pozwalających na zarządzanie własnym kontem lub wiadomościami prywatnymi;

4.

Szukaj

, udostępnia opcję przeszukiwania zawartości m odułu Dia_Sys (np. artykułów );

5.

Web

, zawiera odsyłacze do m odułów ułatwiających pobieranie dokum entacji i innych zasobów plikowych lub przeglądanie odsyłaczy do innych zasobów w internecie związanych z systemem DiaDyn.

Dalej krótko opisano przykładowy m o d u ł Dia_Wiki [3.5].

Przykład modułu

M o d u ł Dia_Wiki jest modułem , który może działać samodzielnie, niezależnie od m odułu Dia_Sys. Ze względu na przyjęty model zabezpieczeń dla całego systemu, w rzeczywistości użytkow nik musi się zalogować do m odułu Dia_Sys (systemu D iaD yn). Żeby móc korzystać z m odułu Dia_Wiki, użytkow nik musi posiadać uprawnienia, które są nadawane przez A dm inistratora. Głównym zadaniem m odułu je st dostarczenie mechanizmów usprawniających gromadzenie, przechowywanie i zarządzanie wiedzą.

W celu wspomagania integracji m odułu Dia_Wiki z innymi m odułam i systemu opracowano zbiór specjalnych funkcji (p. 3.7.4). Na przykład z poziomu Dia_Sys możliwe je st wywołanie okna z m odułem Dia_Wiki (rys. 3.15.), a także bezpośrednie wywoływanie potrzebnych inform acji (np.: haseł, stwierdzeń itp .).

3.7. Tw orzenie w łasnych modułów

3.7.1. Podstawowa struktura modułu

M o d u ły mogą być pisane w dowolnym języku programowania obsługiwanym przez serwer W W W (php, ja va ) lub przeglądarkę internetową klienta (java, javascript). Należy pamiętać o tym , że inte-

(11)

S. Szkielet systemu doradczego DiaDyn 37

Rys. 3.15: Przykładowe wywołanie m odułu Dia_Wiki

gracja projektowanego m odułu z modułem Dia_Sys musi być zrealizowana w języku php. Na wydruku 3.1 pokazano kod przykładowego m odułu. Kom entarze do poszczególnych poleceń zawarto w kodzie.

W yd ru k 3.1: Przykład m odułu

< ?

/ / z a b e z p i e c z e n i e m o d u ł u p r z e d n i e p o w o ł a n y m d o s t ę p e m i f ( ! d e f i n e d ( ’ CPG_NUKE ’ ) ) { e x i t ; }

/ / i n i c j a l i z a c j a mo d u ł u — nazwa s t r o n y z m o d u ł e m , / / ś c i e ż k a i naz wa k a t a l o g u na d y s k u l o k a l n y m s e r w e r a / / w k t ó r y m u m i e s z c z o n o mo d u ł

$ p a g e t i t l e . = ’ D i a _ M y M o d u l e ’ ;

$ f i l e p a t h = ’ . / m o d u l e s / ’ . b a s e n a m e ( d i r n a m e ( FI L E ) ) ;

/ / d o ł ą c z e n i e p l i k u z n a g ł ó w k i e m s t r o n y g ł ó w n e j r e q u i r e _ o n c e ( ’ h e a d e r . p h p ’ ) ;

/ / o t w a r c i e t a b e l i , k t ó r a j e s t m i e j s c e m p o k a z y w a n i a / / i n f o r m a c j i g e n e r o w a n y c h p r z e z mo d u ł

O p e n T a b l e ( ) ;

/ / t u t a j można u m i e s z c z a ć w ł a ś c i w y kod mo d u ł u e c h o ’ W ł a ś c i w y . . kod . . mo d u ł u ’ ;

/ / z a m k n i ę c i e t a b e l i C l o s e T a b l e ( ) ;

/ / d o ł ą c z e n i e p l i k u ze s t o p k ą s t r o n y g ł ó w n e j / / ( n i e j e s t o b o w i ą z k o w e )

/ / r e q u i r e ( ' f o o t e r . php ' ) ;

?>

Główny plik m odułu musi mieć nazwę index.php i powinien być umieszczony w katalogu o ciągłej nazwie (bez spacji), która zawiera tylko litery alfabetu łacińskiego oraz cyfry. W ramach katalogu

(12)

m odułu można tw orzyć własną stru ktu rę katalogów. Należy pamiętać, żeby wszystkie ścieżki do plików i katalogów zapisywać jako względne.

Możliwe je st dołączanie bibliotek systemu poprzez umieszczenie odpowiedniej komendy zaraz po wierszu z kodem zabezpieczającym m o d u ł przed niepowołanym dostępem, np.:

W yd ru k 3.2: Przykład dołączenia biblioteki do m odułu

3.7.2. Menu modułu

Każdy m o d u ł może posiadać własne menu, które uaktywnia się wraz z uruchomieniem m odułu. Menu m odułu wstawiane je st ja ko blok na pierwszej pozycji w lewej kolumnie strony głównej (rys. 3.8).

Przykład kodu menu m odułu pokazano na wydruku 3.3.

W ydruk 3.3: Przykład menu m odułu

Zaleca się, żeby kod z menu m odułu był wstawiony zaraz za wierszami związanymi z inicjalizacją m odułu.

3.7.3. Zmienne specjalne

Każdy m o d u ł ma dostęp do zmiennych globalnych systemu. Poniżej zamieszczono listę wybranych zmiennych wraz z ich krótkim opisem:

1. $MAIN_CFG - tablica przechowująca inform acje związane z m odułem Dia_Sys;

2. $CLASS[’ m ember’ ] -ta b lic a przechowująca informacje o aktualnie zalogowanym użytkowniku;

3. $CPG_SESS - tablica przechowująca parametry bieżącej sesji;

4. $ c u r r e n t la n g - zmienna przechowująca nazwę języka narodowego, zmienna potrzebna w tworzeniu m odułów wielojęzycznych;

5. $ p a g e t i t l e - nazwa bieżącego m odułu.

3.7.4. Dołączanie zewnętrznych bibliotek

Każdy m o d u ł ma dostęp do bibliotek funkcji systemowych, które są udostępniane przez adm inistra­

tora. Na dzień publikacji tych m ateriałów dostępne są dwie biblioteki: d ia _ w ik i i p l_ c h a r.

Biblioteka

d ia _ w ik i

Biblioteka zawiera funkcje przeznaczone do obsługi m odułu Dia_Wiki. Można ją dołączyć na przykład funkcją re q u ire _ o n c e :

(13)

3. Szkielet systemu doradczego DiaDyn 39

W ydruk 3.4: Dołączenie biblioteki d ia _ w ik i i r e q u i r e _ o n c e ( ’ . / i n c l u d e s / d i a _ w i k i / w i k i . p h p ’ ) ;

V---- J

Biblioteka zawiera następujące funkcje:

wikiframe (x, y) - funkcja dodaje okno z m odułem Dia_Wiki w miejscu je j wywołania.

Parametry x i y określają wym iary w pikselach (px) wstawianej ramki. Nie można wyświetlić kilku ramek z m odułem Dia_Wiki na te j samej stronie.

wikilink ( ’h aslo_w_w i k i ’, ’wyswietlana_nazwa_o d s y l a c z a ’) - funkcja dodaje od­

syłacz do hasła zdefiniowanego w module Dia_Wiki w miejscu je j wywołania. Pa­

ram etr ’haslo_w_wiki’ powinien mieć przyjęty w Dia_Wiki fo rm a t g rupa.haslo, np.: Main.HomePage. Parametr ’wyswietlana_nazwa_odsylacza’ pozwala ustalić wyświe­

tlaną nazwę odsyłacza, może to być również np.: Main.HomePage lub po prostu HomePage.

w i k i l i n k i n g ( ’lancuch_t x t ’, ’tablica_z_nazwami_g r u p ’) -fu n k c ja konwertuje wskaza­

ny ’lancuch_txt’ odszukując w nim haseł zdefiniowanych w D ia_W iki i zastępując je od­

syłaczami do tych haseł. Można zawęzić zakres poszukiwań do jednej lub kilku wybranych grup haseł definiując ’tablica_z_nazwami_grup’, np.: a r r a y ( ,M a i n ’, ,P m W i k i ’) lub bez­

pośrednio przyporządkować hasło do grupy haseł wpisując je do ’lancuch_txt’ w postaci grupa.haslo (m ożliwe je st przyporządkowanie tego samego hasła do różnych grup). Funkcja radzi sobie również z hasłami umieszczonymi w cudzysłowach lub innych znakach specjalnych (,.:-+=!?"’< > ) umieszczonych w dowolnych kombinacjach (np.: < >h aslo-+” ). Dopusz­

czalne jest również użycie znaczników htm l (np.: <b>h a s ł o</ b> ) , przy czym należy ostrożnie zagnieżdżać inne odsyłacze wpisywane bezpośrednio ja ko <a href=... >lin k</ a> .

Biblioteka

pl_char

Biblioteka zawiera funkcje przeznaczone do konwersji strony kodowej łańcuchów znaków. Można ją użyć we własnym module za pomocą funkcji require_once:

W yd ru k 3.5: Dołączenie biblioteki pl_char i r e q u i r e _ o n c e ( ’ . / i n c l u d es / p l _c h a r / p l . i n c . php ’ ) ;

Najważniejsze funkcje tej biblioteki, to:

pl_win2utf8 ($str) - funkcja konwertuje znaki łańcucha $str zakodowane w postaci windows-1250 na postać utf-8

pl_iso2utf8 ($str) - funkcja konwertuje znaki łańcucha $str zakodowane w postaci iso- 8859-2 na postać utf-8

3.7.5. Przykład modułu

W rozdz. 3.7.1 na wydruku 3.1 pokazano przykładowy kod m odułu o nazwie My M odule. Przedsta­

wiony kod m odułu należy zapisać w pliku index.php i umieścić w katalogu o wybranej nazwie, np.: M y M odule. Następnie, utworzony katalog z m odułem należy umieścić w katalogu ./modules/

systemu DiaDyn (rys. 3.16). O statni etap polega na uaktywnieniu nowoutworzonego m odułu w systemie. Aktyw ację m odułu może przeprowadzić wyłącznie adm inistrator.

W yn ik działania przykładowego m odułu MyModule pokazano na rys. 3.17. Jak widać jedy­

nym przejawem działania m odułu jest pokazywanie kom unikatu ’W łaściw y kod m o d u łu ’ . Należy zauważyć, że wyświetlana nazwa m odułu nie musi być tożsama z nazwą samego m odułu (nazwą katalogu m odułu). Ponadto, można zauważyć, że w wyświetlanym komunikacie błędnie pokazywane są polskie znaki dialektyczne. Problem bierze się stąd, że edycję pliku index.php przeprowadzano w systemie W indows, który domyślnie używa znaków kodowanych w formacie W indows-1250,

(14)

M o d u ł y i d o d a t k i W a ż n a i n f o r m a c j a

N o w e m o d u ł y d o d a n e d o f o l d e r u / m o d u ł e s / z o s t a n ą a u t o m a t y c z n i e d o d a n e d o s y s t e m u U s u n ię c i e f o l d e r u m o d u ł u z t e g o k a t a l o g u a u t o m a t y c z n i e s p o w o d u je u s u n i ę c i e m o d u ł u z s y s t e m u

M o d u ł o p o g r u b i o n y m t y t u l e o z n a T e n m o d u ł n i e m o ż e z o s t a ć d e a k [ • ] o z n a c z a m o d u ł , k t ó r y n i e j e s A k t y w u j W s z y s t k i e | D e a k t y w u j W

M e m b e r s D e l e t e [ ■ ] M o je k o n t o

A n k i e t y

A r c h i w u m a r t y k u łó w

&

Artykuły

pT D la W ik i

D o w n lo a d s

F o r u m s p o łe c z n o ś c i

F o t o g a le r i a

G r o u p s

K o n t a k t

L i n k i

L i s t a c z ło n k ó w

M o je k o n t o w s z y s t k i m o d w ie d z a j ą c y r r

1 f i l C : \ . I n e t p u b \ d i a d y n \ m o d u i e s J n j x |

Plik Edycja Widok Ulubione Narzędzia Pomoc 1 I r

Wstecz ▼ ^ Wyszukaj Foldery

&

| Adres C:\InetpubyJiadyn\modules J ▼ | C l Przejdź

Nazwa 1 R *

Z a d a n i a p l i k ó w i F o l d e r ó w * Ir ^ __Downloads j Utwórz nowy folder

^ Publikuj ten folder w sieci Web

Udostępnij ten folder

O Contact O coppermine QCPGlang ir^fiDia Wiki Ir^ Downloads O Forums

I n n e m i e j s c a ^ O Groups

Q diadyn

Q Members_Delete Ir^fl Members List

\ Moje dokumenty Q MyModule |

Ir^ Dokumenty udostępnione Mój komputer

Moje miejsca sieciowe

li^iNews QOur_Sponsors Q Private Messages

l i l

h i J

: U s ta w j a k o II

s t r o n ę s t a r t o w ą : :

i U s ta w j a k o

s t r o n ' s t a r t o w ą

: U s ta w j a k o s t r o n ę s t a r t o w ą i U s ta w j a k o s t r o n ę s t a r t o w ą : U s ta w j a k o s t r o n ę s t a r t o w ą : U s ta w j a k o s t r o n ę s t a r t o w ą : U s ta w j a k o s t r o n ę s t a r t o w ą

! U s ta w j a k o s t r o n ę s t a r t o w ą : U s ta w j a k o

II

s t r o n ę s t a r t o w ą : : i U s ta w j a k o s t r o n ę s t a r t o w ą

p o le w e j E d y tu j II : U s t a

s t a r t o w ą :

i j a k o s t r o n ę s t a r t o w ą w s z y s t k i m o d w ie d z a j ą c y r r p o le w e j E d y tu j : : U s ta w j a k o s t r o n ę s t a r t o w ą

Rys. 3.16: Dodawanie i aktywowanie m odułu MyModule w systemie DiaDyn

System DiaDyi > Dia_MyModule Microsoft Internet Explorer

Plik Edycja Wic sędzia Pomoc

Wstecz ▼ J ) Wyszukaj Ulubione Multimedia ^ gp

Adres ^ http://localhost/diadyn/index.p i

Ip^nam e=M yM odule 1

System DiaDyn

M e n u g ł ó w n e

W 3 a □ c i w y k o d m o d u 3 u

Rys. 3.17: M o d u ł MyModule

natom iast system DiaDyn koduje znaki w formacie UTF-8.

Problem kodowania znaków rozwiązuje biblioteka pl_char (p. 3.7.4). Przykład dołączenia biblioteki do m odułu MyModule i je j użycia pokazano na wydruku 3.6.

W yd ru k 3.6: Dołączenie biblioteki pl_char

1 ( . . . )

2

3 $ f i l e p a t h = ’ . / m o d u l e s / ’ . b a s e n a m e ( d i r n a m e ( F I L E ) ) ; 4

5 / / p r z y k ł a d d o ł ą c z e n i a b i b l i o t e k i

6 r e q u i r e _ o n c e ( ’ . / i n c l u d e s / p l _ c h a r / p l . i n c . p h p ’ ) ; 7

8 / / d o ł ą c z e n i e p l i k u z n a g ł ó w k i e m s t r o n y g ł ó w n e j 9 r e q u i r e _ o n c e ( ’ h e a d e r . p h p ’ ) ;

10

i i / / o t w a r c i e t a b e l i , k t ó r a j e s t m i e j s c e m p o k a z y w a n i a

(15)

3. Szkielet systemu doradczego DiaDyn 41

12 / / i n f o r m a c j i g e n e r o w a n y c h p r z e z mo d u ł

13 O p e n T a b l e ( ) ; 14

15 / / t u t a j można u m i e s z c z a ć w ł a ś c i w y kod mo d u ł u

16 e c h o p l _ w i n 2 u t f 8 ( ' W ł a ś c i w y ^ k o d ^ m o d u ł u < b r > ' ) ; 17

18 / / z a m k n i ę c i e t a b e l i

19 ( . . . )

W yn ik działania po dodaniu biblioteki pl_char i użyciu funkcji pl_win2utf8() pokazano na rys. 3.18. Jak widać kom unikat je st wyświetlany prawidłowo.

^ S y s t e m D ia D y n > D ia _ M y M o d u le - M ic ro s o ft In t e r n e t E x p lo re r Plik Edycja Widok Ulubione Narzędzia Pomoc

Q Wstecz - J ^ i Wyszukaj Ulubione Multimedia

Adres |<éj http://localhost/diadyn/index.php?name=MyModule

System DiaDyn

M e n u g ł ó w n e

W ła ściw y k o d m o d u łu

Rys. 3.18: W id o k m odułu MyModule korzystającego z funkcji pl_win2utf8() biblioteki p u c h a r

Jak ju ż wspomniano w rozdz. 3.7.2 m o d u ł może posiadać własne menu. Przykładowy kod m odułu rozbudowany o polecenia generujące menu m odułu pokazano na wydruku 3.7. Przykład działania kodu pokazano na rys. 3.19.

W ydruk 3.7: Funkcja generująca menu m odułu 1

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

( . . . )

$ p a g e t i t l e . = ' D i a _ M y M o d u l e ' ;

$ f i l e p a t h = ' . / m o d u l e s / ' . b a s e n a m e ( d i r n a m e ( FI L E ) ) ;

/ / s p r a w d z e n i e c z y s t a ł a p o m o c n i c z a j e s t z d e f i n i o w a n a i f ( ! d e f i n e d ( ' M E M B E R B L O C K ' ) ) {

d e f i n e ( ' M E M B E R B L O C K ' , 1 ) ; }

/ / f u n k c j a g e n e r o w a n i a b l o k u z menu mo d u ł u f u n c t i o n m e m b e r _ b l o c k ( ) {

$ c o n t e n t = ” < a „ h r e f = ' . / l n k ' > o d sy ł a c z „ 1 < / a x b r > ”

$ c o n t e n t . = ” < a . - , h r e f = \ / l n k ' > o d s y ł a cz ^ 2 < / a X b r > ”

$ c o n t e n t . = ” < a . _ , h r e f = \ / l n k ' > o d s y ł a cz u 3 < / a X b r > ”

t h e m e s i d e b o x ( ( p l _ w i n 2 u t f 8 ( ” n a z w ^ m e n u " ) ) , p L w i n 2 u t f 8 ( $ c o n t e n t ) , 1 0 0 0 2 ) ;

}

/ / p r z y k ł a d d o ł ą c z e n i a b i b l i o t e k i

r e q u i r e _ o n c e ( ' . / i n c l u d e s / pl _ c h a r / pl . i n c . p h p ' ) ;

( . . . )

(16)

" 3 S y s t e m D ia D y n > D ia _ M y M o d u le - M ic ro s o ft In t e r n e t E x p lo re r Plik Edycja Widok Ulubione Narzędzia Pomoc

* °

Adres | ^ J http://localhost/diadyn/index.php?name=MyModule

G W stecz Wyszukaj Ulubione Multimedia € 3

System DiaDyn

J e s te ś t u t a j : S tro n a g łó w n a > Dia M yM o d u le

o d s y ła c z 1 o d s y ła c z 2 o d s y ła c z 3

W ła ściw y k o d m o d u łu

M e n u g ł ó w n e

Rys. 3.19: W id o k m odułu MyModule rozbudowanego o podręczne menu

Polecenie dodane do kodu m odułu w wierszu nr 5 (w ydruk 3.8) powoduje dołączenie biblioteki dia_wiki (rozdz. 3.7.4). N atom iast w wierszu nr 18 pokazano przykład użycia funkcji dodającej okno z modułem Dia_Wiki. W yn ik działania kodu pokazano na rys. 3.20.

W ydruk 3.8: Dołączenie biblioteki dia_wiki i funkcji generującej okno z modułem Dia_Wiki

Kod m odułu MyModule rozbudowany o dodatkowe funkcje z biblioteki dia_wiki pokazano na wydruku 3.9. Użycie funkcji wikilinking() umożliwia autom atyczne tworzenie odsyłaczy do ha­

seł utworzonych w module Dia_Wiki. Przykład działania ta k zmodyfikowanego m odułu MyModule pokazano na rys. 3.21.

W yd ru k 3.9: Użycie funkcji wikilinking()

(17)

3. Szkielet systemu doradczego DiaDyn 43

Rys. 3.20: W id o k m odułu MyModule z oknem m odułu Dia_Wiki

c l http://localhost/diadyn/includes/dia_wiki/openwiki.php?page=?n=Site.EditForm?skin=allpage

Rys. 3.21: W id o k m odułu MyModule korzystającego z funkcji wikilinking() biblioteki dia_wiki

(18)

Bibliografia

[3.1] Cholewa W . Ogólna koncepcja systemu D IA D Y N . Cholewa W ., redaktor, Warsztaty DIADYN . M ateriały seminaryjne, wydanie II, poprawione i uzupełnione, strony 4-14. Katedra P K M Po­

litechniki Śląskiej, Ustroń, 2006-09-23.

[3.2] Dragonfly CMS. H om epage. h t t p : / / w w w . d r a g o n f ly c m s . o r g , 2007.

[3.3] PHP. H ypertext Preprocessor. Home page. h t t p : / / w w w . p h p . n e t , 2007.

[3.4] PHP-Nuke. Home page. h t t p : / / w w w . p h p n u k e . o r g , 2007.

[3.5] Pm W iki. Home page. h t t p : / / w w w . p m w ik i. o r g , 2007.

[3.6] P rojekt P B Z -K B N -1 0 5 /T 1 0 /2 0 0 3 koordynowany przez IM P PAN. System DiaDyn.

h t t p s : / / k p k m . p o l s l . p l / d i a d y n / , październik 2007.

[3.7] Rzydzik S. Ogólne zasady stosowania m odułu DIA_SYS. Cholewa W ., redaktor, Warsztaty D IAD YN . M ateriały seminaryjne, wydanie II, poprawione i uzupełnione, strony 44-51. Katedra P K M Politechniki Śląskiej, Ustroń, 2006-09-23.

Cytaty

Powiązane dokumenty

Zaletą odniesienia optymalnego systemu transportowego do kategorii globalnych kosztów transportu jest także możliwość wskazania dwu pod­ stawowych dróg optymalizacji

Do pewnego stopnia ilustruje to przykład udostępnionego w nowej siedzibie w 2015 roku Muzeum Śląskiego w Katowicach, które w war- stwie architektonicznej nawiązuje

In the Polish legal order, the Act on commune government does not regulate, as a general rule, the functioning – within the internal bodies of the commune – of committees,

Bowiem jak wiadomo (wskazują na to chociażby dokumenty Archiwum Miasta Stołecznego i Województwa Warszawskiego; zespołu; Warszawski Gu- bemlalny Urząd d/s Stowarzyszeń) dokładnie

- pliki haszowane – rozmieszczenie rekordów na dysku jest zdeterminowane przez wartości tzw. Pole, dla którego wyznaczana jest wartość funkcji haszującej nazywane jest polem

C:\&gt;move *.txt c:\DANE przeniesienie wszystkich plików tekstowych do katalogu DANE. C:\&gt;move DANE INFO zmiana nazwy katalogu DANE na

Na rysunku 4 pokazano przykład użycia zaproponowanego systemu doradczego podczas realizacji etapów: Określenie parametrów zadania (rysunek 4A) i Prezentacja wyników procesu

komponentów, projekt struktur danych oraz projekt algorytmów.  Stosując dekompozycję funkcjonalną rozpatruje się system jako zbiór