410 likes | 560 Views
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
E N D
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
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
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 Alias Nazwa formularza, który występował jako nakładka htmlowa
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