Portal internetowy w LN

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

Serwis chroniony

Dyskusje

Logowanie + SSL

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

Administracja użyteczne linki | uzytecznelinki.html

WWW użyteczne linki | uzytecznelinki.html

AliasNazwa formularza, który występował

jako nakładka htmlowa

Nazwa formularzaadministracyjnego

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 2Jest 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

-lub HTML

<input type="hidden" name="OpenAgent" value=”wyslijprezentacje.html">

<form name="sel" action="../../szukajaktualnosci.html" method="get">

Agenci 2

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

Recommended