Portal internetowy w LN - Instytut Podstaw Informatyki PAN

Download Report

Transcript Portal internetowy w LN - Instytut Podstaw Informatyki PAN

Portal internetowy w LN
Wykorzystanie aplikacji Lotus Notes
do budowy portalu internetowego
Katarzyna Szczerbakow, seminarium magisterskie 04/2001
Krótko o aplikacji Lotus Notes
• narzędzie do zarządzania przepływem
dokumentów w firmie
• aplikacja pocztowa
• inne zastosowanie to portale internetowe
Formularze 1
• podstawowa jednostka do wprowadzania i
odczytu danych
• udostępnia wszystkie formatki dostępne w
innych systemach bazodanowych - listy
rozwiajne, przyciski, pola tekstowe, pola
wyboru itd
• zestaw formatek charakterystycznych dla
LN - kalendarze,„nazwy” ,czytelnicy,
autorzy
Formularze 2
Widoki 1
• podstawowy element do wyświetlania
danych przechowywanych w bazie
• funkcjonalnie można je porównać z
raportami, chociaż mają chyba
wygodniejszy interfejs do przeglądania
danych
• dobrze zaprojektowany widok ułatwia
wyszukiwanie i przeglądanie danych, nawet
wśród dużej liczby rekordów, bez
interwencji programisty
Widoki 2
• od strony programistycznej są podobne do
SQL-owych perspektyw
Założenia systemu 1
• duża firma handlowa działająca na terenie
całej Polski
• portal miał być narzędziem informacyjnym
dla zwykłych użytkowników internetu
• również miał służyć jako narzędzie
komunikacyjne pomiędzy firmą a jej
partnerami handlowymi
Założenia systemu 2
Trzy odrębne bazy
1. Serwis informacyjny
- typowe dla portalu dane informacyjne
- oraz dane charakterystyczne dla branży
przedsiębiorcy
partnerzy handlowi - krótkie informacje + linki, aktualności,
business informacje, wywiady z VIP, informacje o firmie,
informacje o sprzedawanych produktach, kalendarz imprez
organizowanych przez firmę lub przez nią polecanych, dyskusje,
Hyde Park,giełda sprzedam- kupię, użyteczne linki, napisz do
nas, kursy walut, zarejestruj się
Założenia systemu 3
2. Serwis chroniony
- wejście po zalogowaniu
- informacje branżowe ale o większym znaczeniu
strategicznym, oferty dla partnerów handlowych itp.
wyniki ankiet (sondaży), dane o partnerach, artykuły wewnętrzne(
zmiany prawne , które miały wpływ na działalność firmy), prezentacje
produktów dla partnerów , stany magazynowe, plan dostaw, cenniki
Założenia systemu 4
3. Baza Dyskusje
- miała wchodzić w skład serwisu ogólnodostępnego,
ale ze względu na rozmiary jakie dość szybko mogła
osiągnąć zdecydowaliśmy, że będzie
zaimplementowana jako oddzielna baza
Serwis ogólnodostępny
Dyskusje
Logowanie +
SSL
Serwis chroniony
Budowa portalu WWW w LN
• do budowy portalu wykorzystuje się
standardowe środowisko programistyczne
LN -> LotusScript + Formula
• LN jest zintegrowany z HTML,
JavaScriptem , udostępnia też duży zestaw
zmiennych CGI, z których można korzystać
bezpośrednio w kodzie pisanym w
LotusScripcie
Pierwsze Kroki
• Przeglądanie danych zawartych w bazach
LN i udostępnionych jako serwisy WWW
nie wymaga dodawania ręcznie kodu
HTML czy JavaScriptu
• aplikacje LN bardzo dobrze współpracują z
przeglądarkami i bez trudu można je
wykorzystać do przeglądania zawartości
bazy w formacie LN bez żadnych
dodatkowych zabiegów programistycznych
IE
Netscape Comunicator
Widok artykuły-test z 3 dokumnetami
LN generuje kod HTML +
JavaScript
<HTML>
<!-- Lotus-Domino (Release 5.0.3 (Intl) - 21 March 2000 on Windows NT/Intel) -->
<HEAD>
<TITLE>TEST</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-document._domino_target = "_self";
function _doClick(v, o, t) {
var url="/TEST.nsf?OpenDatabase&Click=" + v;
if (o.href != null)
o.href = url;
else {
if (t == null)
t = document._domino_target;
window.open(url, t);
}
}
// -->
</Script>
</HEAD>
<BODY TEXT="000000">
<IMG SRC="/TEST.nsf/$icon?OpenIcon" BORDER=0 HEIGHT=32 WIDTH=32
ALT="TEST icon"
ALIGN=left><H1>TEST</H1><H2>Views</H2><UL><LI>
<A
HREF="/TEST.nsf/2502aef150d3c70ec1256a2600489855?OpenView">
artykuly-aktualnosci</A><LI>
<A
HREF="/TEST.nsf/fdcca81674d6f124c1256a28003c6486?OpenView">
artykuły-Dodatki do wydania sobotnoi -niedzielnego</A><LI>
<A
HREF="/TEST.nsf/b4aa48bc27387a7ac1256a28003b925f?OpenView">
artykuły-test</A><LI>
<A
HREF="/TEST.nsf/1bf11696d2d0b0a2c1256a28003c6f86?OpenView">
Bez tytułu</A><LI>
<A
HREF="/TEST.nsf/2950560e369ca717c1256a28003c69d3?OpenView">
Reklamy</A></UL></BODY>
</HTML>
Formularz HTML wygenerowany przez LN udostępnia
wszelkie opcje edycyjne
Formularz HTML wygenerowany przez LN udostępnia
wszelkie opcje edycyjne
Budowanie profesjonalnego
portalu WWW
• generowany kod aplikacji internetowej jest
dość ubogi funkcjonalnie i graficznie
• budowana „ręcznie” aplikacja miała
zapewniać
– łatwy w obsłudze i intuicyjny interfejs z
zaprojektowaną przez nas funkcjonalnością
– oraz umożliwiała osadzenie zaprojektowanej
przez inny zespół grafiki ( HTML,JS , zestaw
grafiki)
Szczegóły techniczne 1
• Każdy element , zaprojektowany przez
zespół - formularz czy widok - jeśli miał
być widoczny w przeglądarce, musiał
składać się z co najmniej dwóch
elementów: części LN + nakładka
HTML,JavaScript, aplety itp.
Szczegóły techniczne 2
• Formularze
– pierwszym elementem formularza , który miał być
widoczny na stronach WWW był standardowy
formularz LN - służył w tym przypadku jako forma
przechowująca dane
– drugi to nakładka HTMl ( możliwość wykorzystania JS
i JAVY np. do definiowania CSS )
– połączenie tych elementów dokonywało się w trakcie
wysyłania zlecenia do przeglądarki
– elementem łączącym obydwa elementy jest alias jednakowy dla obydwu elementów
Nazwa formularza
administracyjnego
Administracja użyteczne linki |
uzytecznelinki.html
WWW użyteczne linki
uzytecznelinki.html
Nazwa formularza,
który występował
jako nakładka
htmlowa
|
Alias
Szczegół techniczne 4
• Widoki
– widok LN są ta część serwisu, która tworzyła zbiór
danych prezentowanych na stronie
– nakładka HTML o wymaganym formacie nazwy
„$$View Template for” + „nazwa widoku” dla którego
nakładka została zaprojektowana np. „$$View template
for artykuły-test”
– nakładka jest odpowiedzialna za sposób wyświetlania
na stronie WWW zawartości widoku, tzn sposób
rozmieszczenia wydobywanych pól oraz odpowiada za
wygląd danego widoku np. tutaj umieszcza się tytuł
widoku oraz charakterystyczne dla niego elementy
graficzne
Szczegóły techniczne 4
Jednak taki widok też musi mieć specyficzną budowę
Np. w aplikacji pisanej w ASP jeżeli chcemy wyciągnąć dane z tabeli
robimy to w pętli gdzie dla każdego sprowadzonego rekordu
dodajemy odpowiedni fragment kodu, który np. umieści dane z
rekordu w komórkach tworzonej dynamicznie tabeli.
W LN ten fragment kodu HTML trzeba umieścić jako element
widoku, który później jest „wyrzucany” na stronę wraz zawartością
widoku.
W ten sposób każdy umieszczony na strony element, pochodzący z
jednego widoku, będzie wyświetlany wraz z jednakowym fragmentem
kodu HTML odpowiedzialnym za jego wygląd zewnętrzny.
Agenci 1
• Kolejnym charakterystycznym dla aplikacji LN elementem
są agenci - aplikacje pisane przeważnie w Lotus Scrypcie, a
odpowiedzialne, w przypadku portalu internetowego za
interakcję z użytkownikiem.
• Praktycznie każdy przycisk czy pole opcji umieszczone w
aplikacji powodowały uruchomienie agenta.
• Np.. Wysyłanie poczty e-mail do administratora bazy,
przeliczenie cen walut wg wprowadzonego przez
użytkownika kursu.
• Generalnie jeżeli przycisk wywoływał akcję, która miała
się wykonać przy wprowadzonych przez użytkownika
parmetrach należało wywołać agenta LN.
Agenci 2
Jest kila sposobów uruchamiania agenta LN :
-kodem JavaScriptowym
<script>
<!-function sendByEmail(file)
{
if ( confirm('Wys³aæ prezentacjê poczt¹?') )
location =
'../wyslijprezentacje.shtml?OpenAgent&filename='+file;
}
// -->
</script>
"<A href=\"javascript:sendByEmail(\'"+Plik+"\')\"> - wywołanie funkcji JS,
która uruchamia agenta, porzez wskazanie ścieżki do agenta w bazie
Agenci 2
-lub HTML
<input type="hidden" name="OpenAgent"
value=”wyslijprezentacje.html">
<form name="sel"
action="../../szukajaktualnosci.html"
method="get">
Struktura katalogów
Zaplanowaliśmy odpowiednią strukturę katalogów
w których przechowywaliśmy
-pliki graficzne wykorzystywane w serwisie
-aplety
-pliki ze stylami kaskadowymi
To nam pozwoliło na szybkie budowanie ścieżek
do potrzebnych plików.
<LINK rel="stylesheet"
href="../../css/styles.css">
<img src="../../images/common/transpix.gif"
width="1" height="5">
Zmiana projektu systemu
Aplikacja przewidywała wprowadzanie danych do bazy zarówno ze stron
WWW jak i LN. Obydwie formy wprowadzania danych wymagały
zarządzania od strony LN.
Dodatkowo, dla obydwu serwisów : ogólnodostępnego i chronionego był
wymagany moduł zarządzający, dlatego zdecydowaliśmy się na
wyodrębnienie, jako czwartej, bazy administracyjnej.
Z jej poziomu można było zarządzać danymi w bazach.Technicznie jednak,
baza Administracja była tylko zbiorem odwołań do danych zawartych w
pozostałych bazach. Jest dostępna tylko z poziomu LN
Baza dyskusje ze względu na swoją specyfikę wciąż miała własną
administrację, która polegała na możliwości usunięcia „niewygodnych”
tematów lub wypowiedzi.
Baza Administracja
Zaprojektowanie administracji, która zadowoliłaby klienta
polegało na takim skonfigurowaniu bazy, że administrator
„wrzuca” pliki do odpowiedniego widoku - zaznacza je jako do
publikacji lub nie.
Spowodowało to, że musieliśmy zaprojektować nowe widoki
typowo administracyjne, z ładnym interfejsem i przyciskami
edycyjnymi.
Połączenie widoków administracyjnych i projektowych nie było
konieczne, ponieważ widoki administracyjne zawierały
wszystkie dokumetny należace do danej kategorii np. artykuły
branżowe, a widok projektowy, który „wyrzucał” te dane na
stronie WWW , tylko doukumenty zaznaczone jako „publikuj”.
Widoki projektowe zawierały tylko podzbiór dokumentów danej
kategorii.
Dyskusje
Ogólnodostępny
Chroniony
Administracja
Koniec