INTRANETOWY SERWIS WWW INSTYTUTU ELEKTRONIKI I TELEKOMUNIKACJI POLITECHNIKI POZNAŃSKIEJ



Podobne dokumenty
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Specyfikacja implementacyjna aplikacji serwerowej

Podręcznik użytkownika Wprowadzający aplikacji Wykaz2

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji:

Platforma e-learningowa

System generacji raportów

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Podręcznik użytkownika Publikujący aplikacji Wykaz2

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

BIBLIOTEKA CYFROWA JAKO KONTENER TREŚCI DLA PORTALI INTERNETOWYCH. DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA.

EXSO-CORE - specyfikacja

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Webowy generator wykresów wykorzystujący program gnuplot

Nadzorowanie stanu serwerów i ich wykorzystania przez użytkowników

Architektura systemu e-schola

Instrukcja obsługi systemu zarządzania treścią dwajeden.pl

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Prezentacja danych w PANELU INTERNETOWYM

MODUŁ NAUCZYCIEL - INSTRUKCJA OBSŁUGI

World Wide Web? rkijanka

PRZEWODNIK PO PRZEDMIOCIE

Dokumentacja projektu QUAIKE Architektura oprogramowania

OPIS PRZEDMIOTU ZAMÓWIENIA

Jak ustawić cele kampanii?

Świadczenie usługi hurtowej wysyłki wiadomości SMS dla Urzędu Miasta Torunia w latach

Podręcznik użytkownika Obieg dokumentów

Bazy danych i strony WWW

a. (20 pkt.) Aplikacja powinna zawierać następujące elementy: 2. Formularz edycji profilu użytkownika (2 pkt.).

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

APLIKACJA SHAREPOINT

Instalacja systemu zarządzania treścią (CMS): Joomla

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Data wydania: Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Odseparowanie kodu PHP i warstwy prezentacji od dawna było celem

Bazy danych 2. Wykład 1

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Materiał szkoleniowy:

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Instytut Fizyki

OfficeObjects e-forms

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

DLIBRA & DRUPAL DWA SYSTEMY, JEDNA WITRYNA

wersja 1.0 ośrodek komputerowy uj cm ul. mikołaja kopernika 7e, Kraków tel

IIIIIIIIIIIIIIIMMIMMIII

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

System epon Dokumentacja użytkownika

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca

LimeSurvey serwis do prowadzenia badań on-line

REFERAT O PRACY DYPLOMOWEJ

Deduplikacja danych. Zarządzanie jakością danych podstawowych

SUPLEMENT DO DYPLOMU

Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Konspekt pracy inżynierskiej

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

REFERAT O PRACY DYPLOMOWEJ

Internetowy serwis Era mail Aplikacja sieci Web

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Przewodnik po edukacyjnej platformie e-learningowej CMKP

INSTRUKCJA UŻYTKOWNIKA Podpis cyfrowy ISO 9001:2008 Dokument: Wydanie: Podpis cyfrowy. Spis treści... 1

Praca w programie dodawanie pisma.

Konfiguracja poczty IMO dla urządzeń mobilnych z systemem ios oraz Android.

Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Platforma e-learningowa

Pojęcie systemu baz danych

SZCZEGÓŁOWY OPIS SPOSOBU DOSTĘPU DO INFORMACJI I DANYCH ZAWARTYCH W RAPORTACH SKŁADANYCH DO KRAJOWEJ BAZY DLA GIOŚ I WIOŚ

Tomasz Grześ. Systemy zarządzania treścią

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

Użytkownik zewnętrzny (UZ) może wykonywać następujące czynności:

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

XII Konferencja Sieci i Systemy Informatyczne Łódź, październik 2004 NOWOCZESNA WITRYNA WWW W NOWOCZESNEJ SZKOLE

Szczegółowy opis zamówienia:

APLIKACJA ZIELONA FIRMA DLA PRACOWNIKÓW FIRMY PRINT & DISPLAY (POLSKA) SP Z O.O.

Serwis jest dostępny w internecie pod adresem Rysunek 1: Strona startowa solidnego serwisu

REFERAT PRACY DYPLOMOWEJ

Wdrożenie modułu płatności eservice. dla systemu Magento

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Spis treści. Spis treści Wstęp Instalacja nazwa.pl Instalacja Home.pl Edycja grafiki strony logo...

Elektroniczny Katalog Ocen Studenta. Instrukcja obsługi dla prowadzących przedmiot. wersja Centrum Komputerowe Politechniki Śląskiej

Instrukcja użytkownika

System sprzedaŝy rezerwacji

Transkrypt:

Bartłomiej Szafko, Piotr Zwierzykowski Politechnika Poznańska Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, 60-965 Poznań {bszafko,pzwierz}@et.put.poznan.pl 2004 Poznańskie Warsztaty Telekomunikacyjne Poznań 9-10 grudnia 2004 INTRANETOWY SERWIS WWW INSTYTUTU ELEKTRONIKI I TELEKOMUNIKACJI POLITECHNIKI POZNAŃSKIEJ Streszczenie: Artykuł przedstawia opis interaktywnego serwisu www opracowanego dla Instytutu Elektroniki i Telekomunikacji Politechniki Poznańskiej. W artykule przestawiono założenia wstępne projektu i omówiono po krótce wykorzystywane biblioteki oraz bazę danych. Artykuł prezentuje również możliwości, które serwis zapewnia każdej spośród trzech grup użytkowników. Opisano możliwości oferowane administratorom, pracownikom naukowo-dydaktycznym i studentom. 1. Wprowadzenie Rozpoczynając projektowanie funkcjonalności serwisu, wspomagającego pracę Instytutu Elektroniki i Telekomunikacji, przyjęto założenia, zgodnie z którymi serwis powinien umożliwiać m.in.: udostępnianie materiałów dydaktycznych; tworzenie list ocen; umieszczania planów seminariów zakładowych; zarządzanie bazą biblioteczną; zarządzanie bazą aparatury instytutu. Biorąc pod uwagę przyjęte założenia, pierwszym zadaniem okazało się takie zaprojektowanie serwisu, aby była możliwa jego dalsza rozbudowa, w sposób wymagający jak najmniejszej ilości zamian istniejących modułów. Przyjęto również założenie, że tworzony serwis powinien być dostępny zarówno dla studentów, jak i pracowników za pomocą dowolnej przeglądarki internetowej. Artykuł podzielono na 4 rozdziały. W rodziale 2 przedstawiono opis technologii wykorzystanych do stworzenia serwisu. Omówiono w nim język wykorzystany do stworzenia aplikacji oraz zastosowaną bazę danych. Rodział 3 zawiera opis struktury systemu oraz możliwości poszczególnych kategorii użytkowników, natomiast rodział 4 stanowi podsumowanie prezentowanej aplikacji. 2. Wykorzystane technologie W celu zaimplementowania prezentowanego systemu posłużono się językiem skryptowym PHP (ang. Hypertext Preprocessor), biliotekami PEAR (ang. PHP Extension and Application Repository) oraz bazą danych MySQL. Wszystkie wspomniane powyżej elementy zostałą zwięźle opisane w dalszej części tego rozdziału. 2.1. Język PHP PHP jest powszechnie używanym językiem skryptowym, tworzonym na zasadach Open Source. Głównym celem przyświecającym twórcy języka PHP było umożliwienie autorom serwisów WWW szybkiego i łatwego pisania dynamicznie wykonywanych stron o bogatej funkcjonalności [1 3] i z tego względu PHP jest bardzo dobrze dopasowane do potrzeb aplikacji internetowych. Skrypty PHP są w całości wykonywane na serwerze (ang. server side scripting). Wykonanie skryptu rozpoczyna się od wysłania przez klienta żądania. Następnie żądanie otrzymuje serwer WWW, który (korzystając z modułu PHP) wykonuje komendy zawarte w kodzie źródłowym i wysyła strumień wynikowy do klienta [1 3]. PHP jest językiem interpretowanym co oznacza, że na serwerze jest przechowywany kod źródłowy skryptów, a gdy nadchodzi żądanie następuje faza interpretacji i wykonania. Klient otrzymuje tylko rezultat wykonania skryptu, bez możliwości stwierdzenia jak wygląda generujący go kod. Za wykorzystaniem języka PHP do tworzenia serwisów przemawia przede wszystkim jego prostota nie wpływająca na czas wykonania i obciążenie zasobów. Dużym atutem jest bardzo szeroka gama modułów zapewniających olbrzymią ilość dodatkowych rozszerzeń, od dostępu do baz danych, poprzez wysyłanie listów elektronicznych czy przetwarzanie plików XML. Do istotnych zalet PHP należy również możliwość działania na wielu platformach sprzętowych i systemowych co jest szczególnie ważnym zagadnieniem w heterogenicznych sieciach uczelnianych. 2.2. MySQL MySQL jest relacyjnym system zarządzania bazą danych. Relacyjna baza zapisuje dane w osobnych tabelach zamiast zapisywać wszystkie dane w jednej dużej tabeli. Pozwala to uzyskać większą elastyczność i szybkość działania. Skrót SQL w MySQL oznacza PWT 2004, Poznań 9-10 grudnia 2004 1

Structured Query Language czyli strukturalny język zapytań. SQL jest najbardziej powszechnym standaryzowanym językiem używanym przy dostępie do baz danych (standard ANSI/ISO SQL). SQL ewoluował od 1986 i istnieje wiele jego wersji. Oznaczenie SQL-92 określa wersję ogłoszoną w 1992 roku, SQL:1999 w 1999 roku, a SQL:2003 w 2003 roku. Większość dostępnych w tej chwili na rynku relacyjnych systemów baz danych używa właśnie tego standardu. MySQL należy do najpopularniejszych relacyjnych systemów zarządzania bazami danych, kótego największymi zaletami są szykość, prostota i wygoda [4]. Serwer MySQL ma charakter otwartego oprogramowania (ang. open source) zapewnia to bardzo krótki cykl produkcyjny, co kilka miesięcy pojawiają się kolejne wersje uzupełnione o kolejne rozszerzenia i poprawione błędy. Jedną z dużych zalet MySQL jest to, że każdy może dokonywać zmian w kodzie źródłowym. Oczywiście muszą one być zgodne z licencją GPL (ang. General Public License [5]. Na całym świecie istnieje szeroka sieć programistów pracujących na dalszym rozwojem serwera, która pozwala na pozostanie w czołówce zarówno pod względem wydajności jaki i funkcjonalności. MySQL jest zaprojektowany w oparciu o technologie klient-serwer, która składa się z wielowątkowego serwera SQL wspierającego wiele mechanizmów przechowywania danych (ang. backend). W przypadku MySQL dostępne są proste plikowe schematy zapisu oraz zaawansowane, wspierające konkurencyjny dostęp, transakcje oraz binarne logi operacji dokonywanych na tabelach. 2.3. Rozszerzenia języka PHP Z uwagi na długą obecność języka PHP na rynku powstał cały szereg rozszerzeń. Większość z nich ma charakter open source. Do tworzenia serwisu zdecydowano się na użycie szeregu bibliotek zewnętrznych, które zapewniają bardzo zaawansowaną funkcjonalność. Dużą zaletą wybranych rozszerzeń jest to, że są używane od dłuższego czasu, usunięto z nich sporo błędów oraz dodano bardzo wiele nowych funkcjonalności. Tworzenie każdego z tych rozszerzeń od nowa na potrzeby serwisu zajęło by niewspółmiernie dużo czasu. Z tego względu zedcydowano się na wykorzystanie bibliotek PEAR. Projekt o nazwie PEAR (ang. PHP Extension and Application Repository) został powołany do życia przez Stiga S. Bakkena [6]. Podstawowym celem PEAR jest uzyskanie statusu podstawowego repozytorium dla rozszerzeń i bibliotek języka PHP [6]. Jednym z najbardziej ambitnych i wyróżniających celów tego projektu jest próba zdefiniowania standardów, które mogą pomóc programistom w tworzeniu przenośnego i używalnego kodu. Repozytorium projektu zawiera biblioteki pomagające rozwiązać szereg problemów napotykanych przy tworzeniu aplikacji m. in. model abstrakcji baz danych, mechanizmy zarządzania sesją i wysyłanie listów elektronicznych. Biblioteka abstrakcji dostępu do baz danych PEAR jest jedną z najczęściej używanych części projektu, należy do najlepiej przetestowanych i udokumentowanych. Jej użycie pozwala na uwolnienie się od ciężaru z jakim związane jest korzystanie ze standardowych funkcji dostępu do baz danych w PHP. Niesie to za sobą korzyści polegające głównie na tym, że bez konieczności większych zmian w aplikacji, możliwa jest zmiana relacyjnego serwera baz danych. Najważniejszą spośród wykorzystanych bibliotek jest silnik szablonów dla PHP o nazwie Smarty. Zapewnia on prostą metodę do separowania logiki aplikacji od sposobu prezentacji. W celu wyjaśnienia istoty działania Smarty należy rozważyć sytuację, w której programista aplikacji i twórca wyglądu (tzw. layout) są różnymi osobami. Oznacza to, że szablony zawierają tylko i wyłącznie instrukcje związane z prezentacją danych, na przykład: dołączanie innych szablonów, zmiana koloru tła dla nieparzystych wierszy tabel, zamiana na wielkie litery, iteracja tablicy i wyświetlenie zawartości. Nie oznacza to, że Smarty narzuca taką separację, system nie ma żadnej wiedzy potrzebnej do rozróżnienia logiki aplikacji i prezentacji. Sposób użycia systemu szablonów Smarty zależy tylko i wyłącznie od projektanta lub programisty. Jedną z unikalnych możliwości Smarty jest kompilacja szablonów. Oznacza to, że szablony są czytane a następnie tłumaczone na język PHP [7]. Kiedy skrypt PHP zostanie stworzony - zostaje wykonany. Dlatego zasoby serwera nie zostają obciążone kosztownymi operacjami przetwarzania szablonu, które z reguły opierają się na zasobożernych wyrażeniach regularnych (ang. regular expressions). Takie podejście umożliwia również wydajne zastosowanie akceleratorów języka PHP takich jak Zend Accelerator, PHP Accelerator czy Turck Mmcache. Projektanci systemu Smarty poszli o krok dalej szablony przetłumaczone na język PHP są buforowane w plikach tymczasowych i tworzone od nowa tylko w wypadku gdy szablon uległ zmianie. Inną biblioteką zastosowaną w serwisie jest php- GACL (ang. PHP Generic Access Control List) [8]. Biblioteka ta jest zbiorem funkcji, które umożliwiają zarządzanie prawami dostępu do konkretnych obiektów (tj. strony www, bazy danych) poprzez inne wyskazane arbitralnie obiekty (tj. użytkownicy, zdalne komputery). phpgacl zapewnia bardzo szczegółowy mechanizam kontroli dostępu, oferując jednocześnie stosunkowo prosty system zarządzania uprawnianiami. Ostatnim spośród zastosowanych modułów rozszerzającyh jest FPDF [9]. FPDF jest darmową klasą PHP, która umożliwia generowanie plików w formacie PDF bezpośrenio z PHP, czyli z pominięciem dodatkowych bibliotek. Wymienione powyżej biblioteki rozszerzające nie wchodzą w skład standardowej dystrybucji PHP i wymagają oddzielnej instalacji. PWT 2004, Poznań 9-10 grudnia 2004 2

Pracownicy naukowi dysponują ograniczonym zakresem dostępu do aplikacji. Po zalogowaniu mogą uruchamiać jedynie moduły dotyczące ich danych. Prawww.pwt.et.put.poznan.pl 3. Struktura aplikacji Aplikacja została podzielona na trzy główne profile: administracyjny - profil w którym użytkownik uzyskuje dostęp do największej liczby modułów, ma możliwość wprowadzania i edycji praktycznie wszystkich danych; powinni z niego korzystać pracownicy administracyjni i techniczni; staff - jest to profil przeznaczony dla pracowników naukowych, z niego użytkownicy mają dostęp do danych przedmiotów, list studentów oraz list ocen; student - profil przeznaczony dla studentów, obecnie umożliwia on przejrzenie listy przedmiotów, pobranie materiałów oraz przejrzenie własnych ocen z danego przedmiotu. Elementami z których zbudowano aplikację są moduły z których każdy zapewnia pewną część funkcjonalności. Na przykład osobny moduł służy do dodawania zakładów, osobny do edycji i osobny do listowania. Taki podział ułatwia wprowadzanie zmian i dodawanie nowych funkcji. Dodatkowo moduły generują swoją własną treść, która jest tylko wycinkiem treści prezentowanej użytkownikowi i jest osadzana w szablonie zdefiniowanym dla określonego profilu. W przypadku modułów nie należących do żadnego profilu używany jest szablon standardowy. W opisie poszczególnych modułów autorzy skupili się na funkcjach dostęnych dla danego profilu pomijająć opisy szablonów graficznych. 3.1. Profil administracyjny Użytkownik, który należy do profilu administracyjnego, po zalogowaniu zobaczy główny panel aplikacji. Po lewej stronie zlokalizowane jest menu używane do uruchamiania poszczególnych modułów. Moduły są pogrupowane według danych, których dotyczą. Po wybraniu kursorem myszy określonej grupy (na przykład "Przedmioty") pojawia się lista modułów dostępnych w tej grupie. Moduł listy przedmiotów pozwala na wyświetlenie listy wszystkich zdefiniowanych przedmiotów. Można przejrzeć oceny skojarzone z każdym przedmiotem, materiały dodane przez prowadzących oraz formularze ECTS w formacie RTF (ang. Rich Text Format). Moduł ocen pozwala na zarządzanie ocenami grup skojarzonych z przedmiotem. Możliwe jest dodanie nowych grup do przedmiotu, dodawanie ocen dla poszczególnych grup, oglądanie listy studentów w grupie oraz eksport list w formacie PDF (ang. Portable Dokument Format) i RTF. W module lista materiałów można wyświetlić listę materiałów skojarzonych z przedmiotem, uruchomić moduł odpowiedzialny za dodanie nowych materiałów, edycje oraz usuwanie już istniejących. Skorzystanie z odpowiedniego modułu pozwala na dodawanie nowych przedmiotów. W tym celu konieczne jest wprowadzenie danych do dosyć obszernego formularza zawierającego między innymi informacje potrzebne do wygenerowania arkusza ECTS. W aplikacji został również umieszczony moduł pozwalający na zarządzanie listą pracowników. Każde imię i nazwisko na liście jest linkiem do modułu pozwalającego na edycję danych pracownika. Moduł Publikacje > Lista wyświetla listę publikacji pracowników. Można zawęzić kryteria wyszukiwania do pracownika i tytułu posługując się formularzem pozwalającym na wpisanie nazwiska lub wybór z listy oraz określenie kategorii. Po wyświetleniu listy można dokonać edycji poszczególnych pozycji lub wyeksportować listę jako plik RTF. Użytkownik zalogowany w profilu administracyjnym ma dostęp do wszystkich publikacji w bazie danych i może je dowolnie edytować. Aplikacja zawiera moduły dotyczące zakładów pozwalające na dodawanie i edycję ich danych. Dodatkowo do każdej nazwy zakładu można dodać tłumaczenia na inne języki. W modułach dotyczących studentów można wyświetlać listę, edytować oraz dodawać nowych studentów. Jeśli w formularzu służącego do dodawania studenta zostaną wypełnione pola nazwa użytkownika oraz email, wówczas student będzie mógł się zalogować do profilu studenta. Konieczne jest podanie co najmniej imienia, nazwiska oraz numeru albumu. W modułach zlokalizowanych w Studenci > Grupy można zarządzać grupami dziekańskimi oraz przedmiotowymi. Moduł umożliwia dodanie nowej grupy dla określonego semestru oraz zaimportowanie listy studentów z już istniejącej grupy. Moduły dotyczące semestrów pozwalają na określenie czasu trwania poszczególnych semestrów. Przy dodawaniu nowego semestru należy podać poprawną datę rozpoczęcia oraz zakończenia oraz określić czy jest łetnićzy źimowyóraz użyć odpowiedniej opcji w celu zaznaczenia czy aktualnie trwa. W serwisie zdefiniowano moduł pozwalający na dodawanie nowych seminariów. Dane wpisywane w formularzu odpowiadają danym wpisywanym w nagłówku planu seminariów. Konieczne jest określenie zakładu i semestru akademickiego, można podać również salę i godzinę o której odbywają się spotkania. Dla każdego seminarium można edytować zarówno dane z nagłówka planu seminariów, dodawać (edytować) spotkania oraz eksportować plany seminariów do plików w formacie PDF oraz RTF. Serwis jest zintegrowany z zewnętrznymi aplikacjami bibliotecznymi oraz aparaturowymi. W celu skorzystania z nich należy uzupełnić nazwy użytkownika i hasła w module Pracownicy > edycja własnych. 3.2. Profil pracownika PWT 2004, Poznań 9-10 grudnia 2004 3

cownik może przeglądać tylko i wyłącznie przedmioty do których jest przypisany przez administratora. Nie może dodawać nowych przedmiotów. To samo dotyczy materiałów oraz ocen. Moduł Przedmioty> Lista> Oceny pozwala na wyświetlenie listy grup przypisanych do przedmiotu. Dodatkowo dla każdej grupy wyświetlana jest lista tytułów wystawienia oceny. Wystawianie ocen możliwe jest tylko dla grup. Jeśli z przedmiotem nie jest skojarzona żadna grupa, można dodać nową posługując się skrótem dodaj nową grupę do przedmiotu. Do grup można również dodawać studentów używając skrótu "studenci w grupie"wyświetli się wówczas lista studentów, którzy już się znajdują w grupie oraz pola do dodania dalszych. Jeśli grupa jest wypełniona studentami wówczas można skorzystać ze skrótu "dodaj ocenyąby wystawić oceny, należy określić za co wystawiane są oceny oraz określić datę i ewentualnie uwagi. Moduł Przedmioty > Lista > Materiały wyświetla listę materiałów dołączonych do przedmiotu, pozwala na edycję i usuwanie istniejących materiałów oraz na dodawanie nowych. Skorzystanie z modułu Studenci > Lista pozwala na wyszukiwanie studentów i przeglądanie informacje o nich. Pracownik nie może dokonywać zmian w danych studenta. Istnieje natomiast możliwość dodania danych nowego studenta, ale tylko z poziomu listy grupy przedmiotowej. Moduł Publikacje > Dodaj pozwala na dodawanie publikacji pracownika. Należy pamiętać, że jeśli użytkownik nie poda swojego nazwiska w liście autorów nie będzie mógł później dokonać edycji. Należy wypełnić formularz, w którym znajdują się pola na wszystkie niezbędne informacje łącznie z punktacjami. Korzystając z modułu Publikacje > Lista pracownik może wyświetlić listę wszystkich swoich publikacji zapisanych w bazie danych. Istnieje możliwość zdefiniowania kryteriów wyszukiwania, składających się za nazwiska lub jego części jak i tytułu publikacji oraz kategorii. Użytkownik może dokonywać edycji wybranych publikacji tylko wtedy gdy jest na liście autorów. Moduł pozwala na wyeksportowanie listy publikacji do pliku w formacie RTF, co umożliwia łatwe wykorzystanie listy w dalszej obróbce. Seminaria > Lista - moduł wyświetla listę seminariów i spotkań do nich przypisanych. Standardowo wyświetlane są seminaria dla wszystkich zakładów i aktualnego semestru, ustawienia te można zmienić posługując odpowiednim formularzem. Należy zwrócić uwagę, że do edycji seminarium i dodawania spotkań mają dostęp tylko wyznaczone osoby, wszyscy pozostali użytkownicy mogą bez przeszkód tylko przeglądać informacje. Możliwy jest także eksport planów seminariów do plików w formacie PDF i RTF. Moduł Seminaria > Dodaj pozwala na dodawanie nowych seminariów, należy określić dla jakiego zakładu i wybrać semestr. Na liście zakładów są umieszczone tylko te seminaria do których aktualnie zalogowany użytkownik ma prawo dodawania. Dane wpisywane w formularz odpowiadają danym zawartym w nagłówku planu. Stworzony został także moduł pozwalający na dodawanie nowych spotkań w obrębie seminarium. W profilu pracownika zostały także zdefiniowane moduły pozwalające na uzyskanie dostępu do dwóch zewnętrznych aplikacji: aparaturowej i bibliotecznej. Po uruchomieniu obu modułów należy skorzystać z odnośnika hipertekstowego uruchom aplikację aby uzyskać dostęp. W celu korzystania z zewnętrznych aplikacji należy zdefiniować nazwę użytkownika oraz hasło korzystając z modułu Pracownicy > edycja własnych wypełniając odpowiedni formularz. Moduł Pracownicy > Lista wyświetla listę wszystkich pracowników w instytucie. Każde imię i nazwisko stanowi odnośnik do modułu pozwalającego na przejrzenie dokładnych danych pracownika. Natomiast moduł Pracownicy > Edycja własnych pozwala użytkownikom na edycję informacji o sobie - w tym haseł i nazw użytkowników aplikacji bibliotecznej oraz aparaturowej. 3.3. Profil studenta Profil jest przeznaczony dla studentów instytutu. Zawiera bardzo ograniczoną funkcjonalność sprowadzającą się wyłącznie do przeglądania informacji o przedmiotach i ocenach. Moduł Przedmioty > Lista prezentuje listę przedmiotów, do których przypisany jest aktualnie zalogowany student. Istnieje możliwość szybkiego uzyskania dostępu do listy ocen oraz materiałów dla danego przedmiotu oraz obejrzenie arkusza ECTS. W module Przedmioty > Lista > Oceny wyświetlona jest lista ocen dla jednego przedmiotu z wyszczególnieniem daty oraz tytułu wystawienia, prezentowane są również uwagi do konkretnej oceny oraz dla całej grupy. Istnieje także moduł wyświetlający listę wszystkich ocen jakie student otrzymał w toku studiów, jest on zlokalizowany w Przedmioty > Oceny. Skorzystanie z modułu Przedmioty > Lista > Materiały spowoduje wyświetlenie listy materiałów skojarzonych z przedmiotem. Materiały można skopiować na dysk lokalny. Listą zarządza pracownik prowadzący dany przedmiot. Moduł Seminaria > Lista wyświetla informacje o planie seminariów. Istnieje możliwość eksportu danych do plików w formacie PDF i RTF. Student nie ma możliwości modyfikowania jakichkolwiek danych związanych z seminariami. W module Biblioteka > Biblioteka można tak jak w pozostałych profilach uzyskać dostęp do zewnętrznej aplikacji bibliotecznej zlokalizowanej pod adresem http://bib.et.put.poznan.pl. Po uruchomieniu modułu należy skorzystać z odnośnika "uruchom aplikację biblioteczną". W celu zalogowania, należy ustawić odpowiednią nazwę użytkownika oraz hasło w Użytkownik > edycja danych. Moduł Użytkownik > Edycja danych pozwala użytkownikom na edycję informacji o sobie w tym haseł i nazwy użytkowników do aplikacji bibliotecznej. PWT 2004, Poznań 9-10 grudnia 2004 4

4. Podsumowanie Powstała aplikacja wpisuje się w popularny kierunek prowadzenia przedsięwzięć za pomocą internetu. Wiele współcześnie działających organizacji używa technologii korzystających z protokołu HTTP (ang. HyperText Transfer Protocol) jako wewnętrznego medium komunikacji oraz gromadzenia i przetwarzania danych związanych z ich funkcjonowaniem. Mechanizm taki określany jest mianem intranetu. Niektóre spośród gromadzonych wewnątrz ogranizacji danych mogą być udostępniane zewnętrznym podmiotom i wówczas mówi się o extranecie. Oba rodzaje aplikacji bazują na tych samych technologiach, a ich rozróżnianie ma miejsce w sferze pojęciowej i odnosi się głównie do funkcjonalności. Prezentowany projekt stanowi konwergencję obu pomysłów, ponieważ istnieje zarówno część intranetowa dla pracowników, jak i część extranetowa dla studentów. Stworzona aplikacja umożliwia sprawne zarządzanie listami pracowników, studentów, przedmiotów, grup studentów, materiałów do przedmiotów, publikacji, ocen oraz seminariów. Prezentowany serwis umożliwia dostęp pracownikom, studentom oraz administratorom z zachowaniem bardzo granularnego podziału praw, co gwarantuje bezpieczeństwo zgromadzonych i wprowadzanych danych. W systemie została zaimplementowana bardzo zaawansowana struktura modułów korzystająca z zalet programowania zorientowanego obiektowo i architektury wielowarstwowej. Stworzona architektura jest na tyle uniwersalna, że może być rozszerzana o praktycznie dowolną liczbę dowolnie skomplikowanych modułów bez zakłócania pracy pozostałych. Aplikacja daje bardzo solidne podstawy do rozbudowy i przenoszenia istniejących już aplikacji, tak aby system funkcjonował jako całość. Wiele z modułów udostępnia możliwość eksportowania danych do plików w formacie PDF oraz RTF. Jako warstwę zarządzania danymi został użyty serwer MySQL, który gwarantuje niezaprzeczalną szybkość i niezawodność działania. Ważnym zagadnieniem jest bezpieczeństwo serwisu. Zastosowanie jednego punktu wejściowego do aplikacji spowodowało ograniczenie zagadnień związanych z bezpieczeństwem tylko do jednego miejsca. Autorzy poszczególnych modułów nie muszą się troszczyć ani o autoryzacje użytkowników, ani o sprawdzenie czy użytkownik był już autoryzowany. jedynymi widocznymi publicznie plikami jest plik index.php w głównym katalogu oraz pliki w folderze assets. Do wszystkich pozostałych plików dostęp został zabroniony przy pomocy plików.htaccess. Bezpieczeństwo mocno zależy również od samej konfiguracji serwerów protokołu HTTP oraz MySQL. Administrator serwera powinien zadbać, aby były zainstalowane możliwie najnowsze wersje oprogramowania. Odpowiednia konfiguracja serwerów też jest kluczowym zagadnieniem, szczególnie w przypadku serwera MySQL. Stworzona aplikacja może pracować z wykorzystaniem protokołu SSL (ang. Secure Socket Layer) dla zagwarantowania możliwie najpełniejszej ochrony przesyłanych danych. Konfiguracja SSL odbywa się w serwerze HTTP, gdzie należy określić położenie pliku z certyfikatem. Certyfikat można uzyskać w jednej z organizacji zajmującej się ich wydawaniem na przykład Thawte, albo wygenerować go samodzielnie. Jedyną różnicą przy samodzielnym generowaniu certyfikatu jest to, że przy dostępie do serwisu przeglądarka poinformuje użytkownika, że certyfikat został wydany przez nieznaną organizację. Samodzielne generowanie certyfikatu nie obniża w żaden sposób poziomu bezpieczeństwa aplikacji ani serwera. Protokół SSL jest przeźroczysty to znaczy, że jest niewidoczny dla niższych warstw, dlatego aplikacje stworzone w PHP mogą z powodzeniem działać z wykorzystaniem tego protokołu bez większych zmian w kodzie. Aplikacja nie wymaga jakichkolwiek zmian, aby funkcjonować z wykorzystaniem protokołu SSL. Prezentowana aplikacja powstała w ramach pracy magisterskiej i będzie nadal rozwijana. Przewiduje się, że kolejnym etapem rozwoju będzie integracja z serwisem bibliotecznym i aparaturowym. W dalszych etapach mogą zostać dodane również moduły umożliwiające: integrację z technologiami mobilnymi (np. wykorzystanie bramki SMS), dodanie nowego kanału dostępowego (np. WAP) oraz obsługę treści multimedialnych (np. przekazy wideo z wykładów czy konferencji). Literatura 1. Alexander Aulbach, Lars Torben Wilson, Egon Schmidt, PHP Manual for Version 4, http://www.php.net 2. Tobias Ratschiller, Till Gerken, PHP 4 - Aplikacje, Wydawnictwo Robomatic, Wrocław 2001 3. Jacob Nielsen, Johnathan Price, Designing Web Usability: The Practice of Simplicity, New Riders Publishing 2001 4. David Axmar, Michael Widenius, My- SQL Documentation Team: Mysql Manual, http://dev.mysql.com/doc/mysql/en/index.html 5. GNU General Public License, http://www.gnu.org, 2004. 6. Martin Jensen, Alexander Merz, PEAR Manual, http://pear.php.net 7. Monte Ohrt, Andrei Zmievski, Smarty - the compiling PHP template engine, http://smarty.php.net/manual/en 8. Mike Benoit, James Russell, Karsten Dambekalns, phpgacl: Generic Access Control List. Manual.,http://phpgacl.sourceforge.net/manual.pdf, 2003. 9. FPDF Liblary, http://www.fpdf.org/, 2004. PWT 2004, Poznań 9-10 grudnia 2004 5