• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
D8510 application development fundamentals demo
 

D8510 application development fundamentals demo

on

  • 1,018 views

D8510_D8L51 application development fundamentals demo (part of my presentation). Enjoy (in polish).

D8510_D8L51 application development fundamentals demo (part of my presentation). Enjoy (in polish).

Statistics

Views

Total Views
1,018
Views on SlideShare
1,014
Embed Views
4

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 4

http://www.slashdocs.com 2
http://www.docshut.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Agent Triggers
  • no one has access to these operations. Sign agents to run on behalf of someone else can sign agents that will be executed on behalf of someone else. This setting applies to scheduled agents only. no one has this right. Sign agents to run on behalf of the invoker of the agent can sign agents that can be invoked by someone else, for example, web agents. all users have this right. Run restricted LotusScript/Java agents can run LotusScript/Java agents with limited functionality, such as those commands that cannot violate security. no can run these agents. Run simple and formula agents can run simple and formula based agents, both shared and private. all can run simple agents. Sign script libraries to run on behalf of someone else are allowed to sign script libraries in agents executed by someone else. all users have this right.
  • 23.. 24. Wdrożenie aplikacji na serwer.
  • 23.. 24. Wdrożenie aplikacji na serwer.

D8510 application development fundamentals demo D8510 application development fundamentals demo Presentation Transcript

  • D8510 – Application Development Fundamentals Marek Zawadzki
  • Kilka słów o prowadzącym (Marek Zawadzki)
    • Od kilkunastu lat związany z technologią IBM Lotus.
    • Pracował w IBM Polska 8 lat (różne stanowiska).
    • Autor dwóch książek poświęconych Lotus Notes (wersja 4 i wersja R5).
    • Autor kilkunastu systemów pomocy z Lotus Notes dla Klientów firmy IBM Polska.
    • Adres email: [email_address]
  • Agenda kursu (1)
    • IBM Lotus Domino 8 oraz środowisko Domino Designer :
      • 1. Wprowadzenie do pracy grupowej ( groupware ).
      • 2. Wprowadzenie do platformy IBM Lotus Domino 8.
      • 3. Przegląd przykładowych aplikacji Domino.
      • 4. Przegląd środowiska IBM Lotus Domino Designer 8.
    • Praca z elementami projektu aplikacji:
      • 5. Sposoby tworzenia aplikacji.
      • 6. Praca z formularzami ( Forms ).
      • 7. Praca z polami w formularzu ( Fields ).
      • 8. Praca z widokami ( Views ).
    • Programowanie aplikacji Domino
      • 9. Wprowadzenie do języka formuł ( Formula Language ).
      • 10. Zastosowanie formuł w formularzach / polach.
      • 11. Tworzenie formularza odpowiedzi ( response form ), dziedziczenie danych.
  • Agenda kursu (2)
      • 12. Rozszerzanie funkcjonalności formularzy, za pomocą czynności ( actions ).
      • 13. Ukrywanie elementów ( Hide – When Options ).
      • 14. Przeglądanie zapisanych dokumentów, wyszukiwanie dokumentów.
      • 15. Implementacja prostego obiegu dokumentów ( workflow ).
    • Widoki oraz nawigacja w aplikacji Domino:
      • 16. Widoki kategoryzowane, wyświetlanie odpowiedzi w widokach.
      • 17. Wyrażenia selekcji w widokach, widoki selektywne.
      • 18. Właściwości widoków.
      • 19. Struktury ( Outlines ), strony ( Pages ), układy ramek ( Framesets ).
    • Automatyzacja zadań oraz bezpieczeństwo:
      • 20. Zastosowanie agentów do automatyzacji zadań ( Agents ).
      • 21. Definiowanie dostępu do baz danych (ACL).
      • 22. Definiowanie dostępu do elementów projektu.
    • Wdrożenie aplikacji na serwer:
      • 23. Przygotowanie aplikacji do wdrożenia (ikona, system pomocy).
      • 24. Wdrożenie aplikacji na serwer.
  • IBM Lotus Domino 8 oraz środowisko Domino Designer
      • Wprowadzenie do pracy grupowej ( groupware )
  • Definicja pracy grupowej oraz komputerowe jej wspomaganie
    • Praca grupowa jest technologią wspomagającą pracę grup osób.
    • Technologia ta może być stosowana do:
      • komunikowania się członków grup,
      • współpracy i koordynacji działań osób.
      • rozwiązywania różnych problemów.
    • Komputerowe wspomaganie pracy grupowej ( Computer-Supported Cooperative Work ) jest dziedziną wiedzy zajmującą się prowadzeniem badań i analizą narzędzi pracy grupowej.
    • Technologię pracy grupowej można postrzegać w dwóch różnych aspektach:
      • członkowie grup pracują razem w tym samym czasie (tryb rzeczywisty lub praca synchroniczna ), lub w różnym czasie (praca grupowa asynchroniczna).
      • członkowie grup pracują razem w tym samym miejscu ( face-to-face ) lub w różnych, czasem nawet bardzo oddalonych od siebie miejscach ( distance ).
  • Elementy pracy grupowej (2009)
    • Informacja tekstowa oraz kontekst pracy
    • Narzędzia komunikacji (poczta elektroniczna, konferencje WWW, Instant Messaging )
    • Narzędzia koordynujące (spotkania, workflow , kalendarze grupowe, awareness )
    • Repozytoria informacji (współdzielenie wiedzy, zbieranie i odtwarzanie wiedzy)
    • Społeczności i towarzystwo ( Sociality ): filtrowanie znajomości, zaufane osoby
    • Zintegrowane systemy: przestrzenie „multimedialne”, wirtualne środowiska, współpraca ( collaboration )
    • Osoby (ludzie)
      • Nazwa, wygląd, status, rola, itd.
    • Artefakty
      • Obiekty używane (lub wyprodukowane) podczas interakcji pomiędzy osobami
    • Zadania i aktywności
      • Cele, zadania, scenariusze wykonania, czynności do wykonania
    • Sytuacje „interaktywne”
      • Relacje pomiędzy osobami, czas i przestrzeń
    • Protokoły „interaktywne”
      • Wykorzystywane do komunikacji i wymiany informacji
  • Cechy aplikacji pracy grupowej
    • Podstawowymi funkcjami aplikacji pracy grupowej są z reguły:
      • poczta elektroniczna , służąca do bezpośredniej wymiany informacji.
      • zarządzanie dokumentami zarówno tekstowymi, jak i różnego rodzaju informacją (np. grafika, wideo, pliki dźwiękowe, inne).
      • harmonogram zadań .
      • rozbudowane przesyłanie wiadomości pocztowych wraz z ich dekretacją.
      • definiowanie i zarządzanie przepływem pracy .
      • odpowiednie prawa dostępu (bezpieczeństwo danych) .
  • IBM Lotus Domino 8 oraz środowisko Domino Designer
      • Wprowadzenie do platformy IBM Lotus Domino 8
  • Platforma Lotus Notes Domino (1)
    • Zintegrowana komunikacja:
      • Poczta elektroniczna, kalendarze, lista czynności do wykonania.
    • Szablony, na podstawie których można tworzyć nowe aplikacje:
      • Baza dyskusyjna, biblioteka dokumentów ( workflow ), blog, zarządzanie projektami ( TeamRoom ).
    • Bazy i aplikacje dostępne w Lotus Notes i WWW.
    • Narzędzie do tworzenia nowych baz dokumentów (Domino Designer).
    • Możliwość rozszerzenia za pomocą Lotus Expeditor (Eclipse i aplikacje kompozytowe).
  • Platforma Lotus Notes Domino (2)
    • Architektura typu klient – serwer:
      • klientem może być Lotus Notes.
      • klientem może być również przeglądarka WWW.
      • z zasobów serwera można też korzystać z urządzeń mobilnych.
    • Serwer pracujący na wszystkich znanych platformach sprzętowych:
      • systemy MS Windows.
      • inne systemy IBM, jak np. AS/400 (iSeries).
      • Sun Solaris.
      • Linux.
    • Na serwerze Domino mogą być uruchomione różne zadania, np.:
      • router - odpowiedzialny za pocztę elektroniczną.
      • replica – proces replikacji danych pomiędzy serwerami.
      • http – serwer WWW.
    SERWER DOMINO APLIKACJE DOMINO TELEFONY (np. BlackBerry) Lotus Notes/Outlook/Inny WWW Dostęp off-line
  • Platforma Lotus Notes Domino (3). Typy klientów.
    • Lotus Notes – natywny klient dla aplikacji Domino (poczta, aplikacje):
      • Lotus Notes Basic – podstawowa wersja klienta Notes (technologia Notes).
      • Lotus Notes Standard – rozbudowana wersja klienta Notes (technologia Notes i Java).
    • Domino Web Access for MS Outlook (DAMO) – konektor dla MS Outlook.
    • Lotus Domino Designer – środowisko do projektowania aplikacji Domino (np. za pomocą tzw. „formula language”).
    • Lotus Domino Administrator – klient administracyjny (z tego poziomu administrujemy serwerami).
  • Platforma Lotus Notes Domino (4). Typy klientów.
    • IBM Lotus Notes – korzysta z protokołu Notes NPRC w celu wymiany poczty z serwerem Domino (Notes, Internet):
      • Wersja podstawowa (Basic) – oparta głownie na technologii Notes:
        • nlnotes.exe – uruchamia wersję Basic
      • Wersja Standardowa (Standard) – technologia Notes / Eclipse / Expeditor
        • notes.exe – uruchamia wersję Standard
    • Domino Web Access – klient pocztowy dostępny przez przeglądarkę (protokół HTTP)
    • Internet mail – korzysta z pliku poczty poprzez POP3, IMAP lub serwery HTTP. Poczta jest wymieniana za pomocą protokołu SMTP.
    • Można też używać MS Outlook – Domino Web Access for MS Outlook ( DAMO ).
  • Platforma Lotus Notes Domino (5). Lotus Notes 8.
    • Dwie konfiguracje Lotus Notes :
      • Ze względu na wymagania sprzętowe mamy dwie konfiguracje programu lotus Notes 8:
        • Podstawowa
        • Standardowa
    • Mają one różną funkcjonalność
    • Podstawowa funkcjonalnością zbliżona jest do Lotus Notes 7
  • Platforma Lotus Notes Domino (6). Notes Standard. Konfiguracja standardowa oparta jest na technologii Lotus oraz Lotus Expeditor. Lotus Expeditor dostarcza nowych możliwości klienta LN: pasek tytułu, pasek menu, “Open List” , zarządzanie zakładkami, pasek stanu, itp. Lotus Expeditor odpowiada również za wygląd (global.css, który można zmienić).
  • Platforma Lotus Notes Domino (7). Notes Basic.
    • Konfiguracja podstawowa (Basic) jest całkowicie wykonana w technologii Lotus.
    • Oferuje podobną funkcjonalność jak wersja Standard, ale nieco się od niej różni (wizualnie, niektóre elementy okna).
    • Pełny opis różnić pomiędzy wersjami znajduje się w dokumentacji programu.
  • Platforma Lotus Notes Domino (8). Poczta elektroniczna.
    • Tworzenie i wysyłanie wiadomości pocztowych
    • Odbieranie wiadomości, tworzenie odpowiedzi na nie różne rodzaje odpowiedzi
    • Podgląd wiadomości pocztowych
    • Tworzenie folderów
    • Zarządzanie dokumentami
    • Zmiana kolejności kolumn
    • Archiwizacja dokumentów
    • Podpisy cyfrowe
    • Szyfrowanie dokumentów
    • Nowe: np. odwoływanie wiadomości.
  • Platforma Lotus Notes Domino (9). Kalendarz.
    • Zarządzanie kalendarzem, pozycjami kalendarza
    • Tworzenie wpisów do kalendarza (np. termin)
    • Organizowanie spotkań firmowych, zarządzanie spotkaniami
    • Odpowiedzi użytkowników na zaproszenia na spotkania (tzw. Opcje właściciela i uczestnika spotkania)
    • Tworzenie wpisów powtarzających się, np. ze zdefiniowanymi regułami
    • Nieobecność w biurze…
    • Tworzenie listy czynności do wykonania
    • Możliwość przydzielania zadań
    • Nowe pozycje kalendarza
  • Platforma Lotus Notes Domino (10). DWA.
    • dostęp przez przeglądarkę do poczty Domino
    • pełna funkcjonalność:
      • poczta
      • kalendarz
      • zadania
      • dziennik
      • adresy
    • obsługa MS IE & Mozilla Firefox.
    • możliwość pracy offline (DOLS).
    • nowy, wygodny interfejs
    • drag & drop.
  • IBM Lotus Domino 8 oraz środowisko Domino Designer
      • Przegląd przykładowych aplikacji Domino
  • Aplikacje (bazy danych) Domino
    • Zwiększają wielkość tzw. procesu biznesowego, pomagają wzmocnić ten proces.
    • Pozwalają ludziom na szybką komunikację, bez względu na to, gdzie się oni znajdują.
    • Maksymalizują współpracę osób w firmie.
    Aplikacje Lotus Notes Domino pozwalają na tworzenie, komunikowanie, udostępnianie, śledzenie danych opartych na dokumentach.
  • Definicja bazy danych Domino
    • Baza danych Domino jest czymś w rodzaju kontenera dla aplikacji i wszystko jest przechowywane razem w jednym pliku:
      • design elements : dokumenty projektu aplikacji (formularze i inne)
      • data : dokumenty z danymi
      • logic : zapisane „logika” działania aplikacji (języki projektowania)
      • ACL ( Access Control List ) – prawa dostępu do aplikacji
    • Plik ten ma rozszerzenie NSF ( Notes Storage Facility )
    • Plik bazy danych może mieć również rozszerzenie NTF ( Notes Template File ), ale zwykle jest to rozszerzenie szablonu bazy danych.
  • Aplikacje w IBM Lotus Notes Domino 8
    • W platformie IBM Lotus Notes Domino dostępne są szablony (między innymi):
      • Poczta elektroniczna – jej działanie (Notes, WWW).
      • Dziennik osobisty – kontener dokumentów, podstawowe formularze.
      • Baza dyskusyjna (podstawowe dokumenty, dziedziczenie informacji pomiędzy dokumentami, różne widoki).
      • Biblioteka dokumentów MS Office – formularze, możliwość zadeklarowania przepływu ( workflow ) lub Biblioteka dokumentów Document Library (polska wersja językowa).
      • Team Room – zarządzanie projektami, różne formularze oraz prawa dostępu do części aplikacji.
      • Blog – blog firmowy.
  • Jak utworzyć nową aplikację (bazę danych)?
    • Aby utworzyć plik „pustej” bazy danych:
      • Z menu File wybieramy polecenie Aplication/New.
      • W oknie New Application podajemy opisową nazwę dla tworzonej bazy danych.
      • Podajemy również nazwę pliku NSF (zalecane 8 znaków).
    • Uwaga : we wstępnej fazie projektu bazę tworzymy na stacji roboczej projektanta (server: local)
  • Dziennik osobisty ( personal journal )
    • Ta aplikacja jest zaprojektowana do przechowywania prywatnych dokumentów, które nie powinny być dostępne dla innych użytkowników.
    • Zwykle aplikacja jest dostępna na lokalnym komputerze, ale można z niej korzystać z poziomu WWW.
    • Aplikacja jest dość prosto zaprojektowana i może być zastosowana do innych projektów.
  • Baza dyskusyjna ( discussion database )
    • Baza dyskusyjna jest „zwyczajnym” forum dyskusyjnym. Od strony projektowania warto prześledzić:
      • Różne rodzaje odpowiedzi i dziedziczenie danych pomiędzy dokumentami.
      • Widoki hierarchiczne oraz liczbę dostępnych odpowiedzi.
    • Forum dyskusyjne może być dostępne również przez przeglądarkę WWW.
  • Biblioteka dokumentów ( MS Office document library )
    • Biblioteka dokumentów pozwala na zarządzanie nimi według określonego procesu workflow .
    • W aplikacji wbudowano proste obiegi dokumentów oraz informowanie za pomocą poczty elektronicznej.
  • Team Room (1)
    • Szablon TeamRoom pozwala na łatwe i zarządzanie projektem (dokumenty, zadania, workflow ).
    • W aplikacji TeamRoom warto zwrócić uwagę na różnego rodzaju widoki (wyrażenia selekcji) oraz profilowanie dostępu.
  • IBM Lotus Domino 8 oraz środowisko Domino Designer
      • Przegląd środowiska IBM Lotus Domino Designer 8
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (1)
    • Domino Designer jest środowiskiem do tworzenia i modyfikowania elementów projektu aplikacji.
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (2)
    • Mamy następujące elementy Domino Designer:
      • Design Pane .
      • Design List .
      • Work Pane .
      • Programmer’s Pane .
      • Programmer’s Pane InfoList .
      • Objects .
      • Reference .
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (3)
    • Aby otworzyć istniejącą aplikację Domino w programie Domino Designer:
      • Klikamy prawym klawiszem myszy na ikonę aplikacji.
      • Wybieramy polecenie Open in Designer .
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (4). Design Pane .
    • Panel znajduje się po lewej stronie klienta Domino Designer.
    • Działa identycznie jak pasek zakładek w programie Lotus Notes:
      • Projektowane (otwierane) aplikacje są automatycznie dodawane do zakładek.
      • Zakładki można usuwać.
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (5). Design List .
    • Po wybraniu elementu projektu w bazie danych po prawej stronie ekranu pojawiają się dokumenty wybranego typu oraz ich podstawowe właściwości (między innymi: nazwa, datę ostatniej modyfikacji, dostępność w różnych typach klientów).
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (6). Work Pane .
    • Po otwarciu np. formularza (lub innego elementu projektu) otwiera się panel, który pozwala na modyfikację elementów projektu.
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (7). Programmer’s Pane .
    • Panel ten przeznaczony jest dla projektantów / programistów. W panelu tym dodaje się elementy programistyczne:
      • @Formula language .
      • @Command language .
      • Lotus Script .
      • ...
  • Przegląd Domino Designer 8.X (8). Programmer’s Pane InfoList . Objects Tab .
    • Po lewej stronie panelu programistycznego znajduje się InfoList :
      • Zakładka Objects – wyświetla obiekty istniejące w dokumencie projektowym.
      • Zakładka Reference – ułatwia dostęp do możliwości programistycznych.
  • Przegląd środowiska IBM Lotus Domino Designer 8.X (9). Reference Tab .
    • Zakładka Reference jest punktem dostępu do systemu pomocy Domino Designer. Jej zawartość zmienia się w zależności od wybranego języka programowania.
  • Filmy demonstracyjne (1)
    • Zasada działania aplikacji (dyskusja).
    • Zasada działania aplikacji (biblioteka dokumentów).
    • Zasada działania aplikacji TeamRoom.
    • Przeglądanie właściwości aplikacji Domino (okno właściwości).
    • Otwieranie gotowej aplikacji w Domino Designer.
    • Przegląd programu Domino Designer.
  • Praca z elementami projektu aplikacji Sposoby tworzenia aplikacji
  • Podstawowe rodzaje baz danych i aplikacji
    • Broadcast – baza danych dająca użytkownikowi możliwość aktualizowania nowych wiadomości poprzez pocztę elektroniczną. Przykładem takiej bazy może być dystrybucja i rozsyłanie nowości.
    • Discussion – bazy danych tego rodzaju „śledzą” tematy główne i odpowiedzi do nich. Są one bardzo pomocne do współdzielenia informacji w różnorakich środowiskach.
    • Reference – są często określane mianem biblioteki dokumentów. Przechowują informacje, które w każdej chwili mogą zostać uaktualnione.
    • Tracking – w tych bazach dokumentów, dokumenty papierowe (i ich przepływ) zostały przeniesione na ich postać elektroniczną. Te bazy określają status i kategorię dokumentów w sposób automatyczny.
    • Workflow – tego rodzaju aplikacje przesyłają informacje w całym procesie lub cyklu. Ma to zastosowanie, kiedy kilka osób musi przeglądać informacje.
  • Etapy projektowania aplikacji
    • Rozpoznać potrzeby firmy.
    • Rozrysować plan bazy danych na papierze i przedyskutować jej działanie z potencjalnymi użytkownikami.
    • Utworzyć plik bazy (*.nsf) lub kilka plików, jeśli jest to niezbędne.
    • Utworzyć formularze i zdefiniować odpowiednio pola.
    • Utworzyć widoki (np. w oparciu o nazwy wstawionych pól) lub inne elementy projektu bazy danych.
    • Zdefiniować ACL, czyli kto może mieć dostęp do bazy danych.
    • Utworzyć dokument „O bazie danych”.
    • Utworzyć odpowiednią dokumentację i zaprojektować ikonę.
    • Skopiować na serwer i przetestować.
    • Poprawić projekt, zastosować do bazy.
    • Przeszkolić użytkowników aplikacji.
  • Sposoby tworzenia aplikacji (1)
    • Mamy następujące możliwości utworzenie nowych aplikacji:
      • Na podstawie projektu istniejącej bazy danych (kopiowanie aplikacji).
      • Utworzenie aplikacji od początku za pomocą szablonu Blank .
      • Na podstawie gotowego szablonu.
  • Sposoby tworzenia aplikacji (2)
    • Podczas tworzenia aplikacji z szablonu domyślnie włączona jest opcja Inherit future design changes.
    • Oznacza to, że utworzona aplikacja będzie „dziedziczyła” przyszłe zmiany w szablonie.
      • Na serwerze uruchamiane jest zadanie Designer , które odpowiada za odświeżanie zmian z szablonów aplikacji.
    • Opcję można wyłączyć we właściwościach aplikacji.
  • Sposoby tworzenia aplikacji (3)
    • Baza danych Domino jest czymś w rodzaju kontenera dla aplikacji i wszystko jest przechowywane razem w jednym pliku NSF ( Notes Storage Facility ).
      • design elements: dokumenty projektu aplikacji (formularze i inne).
      • data : dokumenty z danymi.
      • logic : zapisane „logika” działania aplikacji (języki projektowania).
      • ACL (Access Control List) – prawa dostępu do aplikacji.
    • Podczas tworzenia bazy danych z szablonu „pobierane” są wszystkie elementy projektu.
    • Szablon Blank ma jedynie domyślny widok ( Untitled ) oraz wstępnie ustalone ACL.
  • Elementy aplikacji Domino (1)
    • Framesets – zestawienie ramek, które są stosowane do oddania struktury aplikacji.
    • Pages : element, który jest używany jedynie do wyświetlania informacji, nie zawiera żadnych pól.
  • Elementy aplikacji Domino (2)
    • Forms – formularze są stosowane do zbierania informacji od użytkownika oraz prezentowania użytkownikowi informacji.
    • Formularze dają ustrukturyzowane podejście do tworzenia i wyświetlania dokumentów.
    • Formularze zwykle mają pola, które obliczają dane lub je przechowują. Dane te są wpisywane przez użytkownika aplikacji.
    • Kiedy użytkownik wypełni formularz i go zapisze tworzony jest dokument. Dokument jest przechowywany poza formularzem. Kiedy jest on otwierany używany jest formularz do wyświetlenia dokumentu.
  • Elementy aplikacji Domino (3)
    • Views – widok stanowi listę dokumentów przechowywanych w aplikacji.
    • Widok może wyświetlać dokumenty w sposób posortowany, na przykład alfabetycznie według nazwiska.
    • Widok może być także kategoryzowany (wyświetlać dokumenty według zadanych kategorii).
    • Każda aplikacja musi mieć przynajmniej jeden widok.
    • Folders – foldery są kontenerem dla powiązanych ze sobą dokumentów.
    • Foldery mają niemalże identyczne właściwości jak widoki.
    • Podstawowa różnica pomiędzy widokiem a folderem:
      • Widoki mają zawsze wyrażenie selekcji.
      • Zawartość folderu wynika z działań użytkownika.
  • Elementy aplikacji Domino (4)
    • Agents – agentów stosuje się do automatyzacji działań użytkownika. Mogą być uruchamiane przez użytkownika, ale mogą działać w tle. Agenci mogą wykonywać proste czynności (np. przenoszenie dokumentów), mogą być bardziej skomplikowane (np. Napisane w języku Java).
    • Web Services – jest to aplikacja modularna ( self-contained, self-describing ) , która bazuje na języku XML. Wymaga znajomości Lotus Script, języka Java i należy do zaawansowanych elementów projektowych.
  • Elementy aplikacji Domino (5)
    • Outlines – struktury pozwalają na zaprojektowanie sposobu poruszania się po aplikacji.
    • Subforms – podformularz to zestawienie elementów projektowych, które są przechowywane jako osobny obiekt.
      • Główną ideą tworzenia i stosowania podformularzy jest ich łatwość ponownego użycia oraz modyfikowania.
  • Elementy aplikacji Domino (6)
    • Shared fields – w aplikacji Domino można zdefiniować pole wspólne ( Shared Field ). Pole takie może być dodane do wszystkich projektowanych formularzy. Pola takie są bardzo użyteczne, na przykład do wyświetlania autora dokumentu oraz daty utworzenia dokumentu.
    • Shared columns - :kolumny w widoku mogą być wspólne, co daje możliwość wstawiania ich do wielu widoków jednocześnie.
    • Actions – czynności są stosowane do automatyzacji fragmentów aplikacji. Mogą być używane w formularzach, stronach, widokach.
    • Script libraries – biblioteka skryptów przechowuje wspólny kod, który używany jest w aplikacji ( LotusScript, JavaScript , Java ) .
  • Elementy aplikacji Domino (7)
    • Image resources – aplikacje mogą przechowywać pliki graficzne. Pliki te mogą być wstawione do różnych elementów aplikacji.
    • Data connections – służy do zdefiniowania polaczenia pomiędzy aplikacją Domino a zewnętrzną aplikacją (np. DB2, baza danych Oracle).
    • Database resources – zasoby aplikacji:
      • Icon – ikona / grafika służąca do identyfikacji aplikacji.
      • About Database – opcjonalny dokument opisujący funkcjonalność aplikacji dla użytkowników.
      • Using Database – dokument opisujący sposób działania aplikacji.
      • Database script – program LotusScript , powiązany z aplikacją.
      • Design Synopsis – raport o zaprojektowanej aplikacji.
  • Filmy demonstracyjne (2)
    • Tworzenie nowej aplikacji w oparciu o szablon.
    • Kopiowanie aplikacji Domino.
    • Tworzenie „pustego” pliku bazy danych (*.NSF).
    • Przegląd wybranych elementów projektowych aplikacji.
  • Ćwiczenie 1
    • Wstępna analiza aplikacji FREETIME
  • Praca z elementami projektu aplikacji Praca z formularzami ( Forms )
  • Formularze w aplikacji Domino (1)
    • Rozróżniamy trzy rodzaje (typy) formularzy:
      • Document – główny dokument bazy danych.
      • Response – dokument typu „odpowiedź”.
      • Response to Response – dokument typu „odpowiedź do odpowiedzi”.
    • Nazwa formularza:
      • jest tzw. case sensitive.
      • Maksymalnie 264 znaki.
      • W menu Create pokazywane są tylko pierwsze 64 znaki.
    • Mogą mieć synonimy (np. Nowy dokument | Dokument:
      • Synonimy są używane np. w formułach.
      • Zmieniają nazwę, która jest widziana przez użytkowników.
  • Formularze w aplikacji Domino (2)
    • Aby utworzyć nowy formularz:
      • Otworzyć aplikację w Domino Designer.
      • Wybrać widok Forms (domyślny) i kliknąć przycisk New Form .
      • Nowy formularz otwiera się automatycznie w panelu roboczym ( Work Pane ).
    • Rekomendowane jest stosowanie aliasów / synonimów.
    • Są one widoczne w menu Create dla potencjalnego użytkownika.
    • Alias jest przechowywany w polu Form , które jest tworzone automatycznie.
    • Alias może być używany przez projektantów w tworzonych formułach.
  • Formularze w aplikacji Domino (3)
    • Każdy element ma swoje właściwości (okno właściwości).
    • Właściwości formularza kontrolują wiele aspektów aplikacji.
    • Niektóre automatycznie wpływają na wygląd przechowywanych w aplikacji dokumentów, pozostałe wymagają ich odświeżenia (np. za pomocą agentów).
  • Formularze w aplikacji Domino (4). Form Info .
    • Name : Nazwa formularza oraz alias / synonim.
    • Comment : Pomocny komentarz dla projektanta (opis).
    • Type : Rodzaj projektowanego formularza.
    • Display : Definicja, gdzie będzie widoczna nazwa formularza.
    • Versioning : Domyślnie zapisywane jest jedna wersja dokumentu, zapisywana po jego edycji. Dokumenty te mogą być wersjonowane, sam sposób przechowywania wersji można zdefiniować.
  • Formularze w aplikacji Domino (5). Form Info .
    • Store form in document . Jeśli opcja ta zostanie zaznaczona, wtedy za każdym razem formularz jest zapisywany z dokumentem. UWAGA: Zwiększa się wielkość aplikacji.
    • Automatically refresh fields . Opcja ta określa sposób przeliczenia pól obliczanych w formularzu. Brak zaznaczenia powoduje konieczność ręcznego przeliczania pól.
    • Anonymous form . Gdy opcja nie jest zaznaczona Notes automatycznie dodaje $UpdatedBy do każdego formularza. Pole to „śledzi” każdego użytkownika, który edytuje formularz. Gdy opcja jest zaznaczona tworzone jest pole $Anonymous z wartością “ “.
    • No initial focus . Domyślnie, gdy użytkownik tworzy nowy dokument kursor wstawiany jest w pierwszym polu do edycji. Zaznaczenie tej opcji powoduje, ze kursor nie jest widoczny.
    • Sign documents that use this form . Opcja ta powoduje utworzenie pola $Signature , które zawiera zaszyfrowany podpis cyfrowy, pochodzący z pliku ID użytkownika tworzącego dokument.
  • Formularze w aplikacji Domino (6). Form Info .
    • Render pass through HTML in Notes . Po zaznaczeniu tej opcji Domino tłumaczy wszystko dla przeglądarki WWW (np. nie są wyświetlane zagnieżdżone widoki).
    • Do not add field names to index . Zaznaczenie tej opcji powoduje, że nazwa pola nie jest dodawana do indeksu. I nie jest przechowywana w pamięci aplikacji.
    • Allow Autosave . Pozwala na zdefiniowanie automatycznego zapisu dokumentu, co X minut. Wymaga to też zaznaczenia odpowiedniej opcji w ustawieniach programu Lotus Notes.
    • Conflict handling . Definiuje sposób postępowania z konfliktami replikacji / zapisu:
      • Create conflicts.
      • Merge conflicts.
      • Create no conflicts.
  • Formularze w aplikacji Domino (7). Defaults .
    • On Create . Opcje, które określają sposób dziedziczenia danych z dokumentu „rodzica”.
    • On Open . Opcje określające stan dokumentu w momencie jego otwarcia:
      • Edit mode – jeśli użytkownik powinien mieć możliwość edycji.
      • Show context pane – pokazuje się powiązany dokument w osobnym panel ( Parent , Doclink ) .
  • Formularze w aplikacji Domino (8). Defaults .
    • On Close . Wybór tej opcji powoduje pojawienie się odpowiedniego komunikatu.
    • On Web Access . Opcja powiązana z "Treat document contents as HTML . Kiedy “Generate HTML for all fields” zostanie zaznaczona, generowany jest HTML zawierający wszystkie ukryte pola na formularzu.
    • Dodatkowo można zdefiniować kolorystykę łączy / linków w generowanym kodzie HTML.
    • Data source options : Opcje używane, jeśli łączymy aplikację z inną, relacyjną bazą danych.
  • Formularze w aplikacji Domino (9). Launch Properties .
    • Auto Launch . Można zdefiniować, co ma być uruchamiane podczas otwierania dokumentu (po jego zapisaniu). Opcja ta nie dotyczy zastosowania formularza lecz już utworzonego dokumentu.
    • Auto Frame . Opcja ta ma wpływ na formularz oraz na dokumenty utworzone za jego pomocą. Określa sposób uruchomienia formularza (dokumentu).
  • Formularze w aplikacji Domino (10). Form Background . Header Properties .
    • Color Use . Umożliwia zdefiniowanie koloru formularza.
    • Graphic or Resource. Umożliwia zdefiniowanie tła formularza.
    • Allow users to change these properties – pozwala na zmianę koloru lub grafiki przez użytkownika (dokument).
    • Add header to form . Umożliwia dodanie nagłówka do formularza / dokumentu.
    • Size Properties oraz Border Properties to opcje pozwalające na kontrolę wstawianego nagłówka.
  • Formularze w aplikacji Domino (11). Printing Properties . Security .
    • Printing properties . Opcje, które pozwalają na zdefiniowanie dodatkowego tekstu pojawiającego się podczas wydruku dokumentów (nagłówek firmowy).
    • Security. Opcje określające, kto może czytać (tworzyć) dokumenty utworzone za pomocą projektowanego formularza.
  • Formularze w aplikacji Domino (12). Zapisywanie i podgląd formularza.
    • Aby obejrzeć formularz w programie Lotus Notes:
      • Zapisz formularz (CTRL+S).
      • Z menu Design wybierz Preview in Notes lub Preview in Web Browser .
      • Można wybrać odpowiednią ikonę na pasku ikon.
  • Właściwości tekstu (1)
    • Projektując formularz można definiować ustawienia tekstu oraz akapitów.
  • Właściwości tekstu (2). Paragraph Hide When . Paragraph Style .
    • Paragraph Hide When . Opcje te umożliwiają zdefiniowanie sposobu (przypadków) ukrycia tekstu.
    • Paragraph Style . Możliwe jest utworzenie stylów tekstu i akapitów, podobnie jak w zwykłym edytorze tekstu.
  • Tworzenie tabel (1).
    • Tabele są bardzo przydatne, gdy chcemy odpowiednio „ułożyć” pola na formularzu:
    • Aby utworzyć nową tabelę:
      • Z menu Create wybrać polecenie Table . Można też kliknąć odpowiednią ikonę na pasku ikon.
      • W oknie Create Table wybrać rodzaj tabeli.
      • Podać liczbę wierszy i kolumn, kliknąć OK .
  • Tworzenie tabel (2). Rodzaje tabel.
    • Dostępne są następujące rodzaje tabel:
      • Basic Table – „standardowa” tabela.
      • Tabbed Table – tabela, w której wiersze przedstawione są w postaci zakładek.
      • Animated Table – tabela, która wyświetla kolejno wiersze na 2 sekundy.
      • Caption Table – każdy wiersz jest wyświetlany po kliknięciu kursorem.
      • Programmed Table – wyświetla wiersz w zależności od zadanych warunków.
  • Właściwości tabeli (3). Table Layout .
    • Table Layout . Podobnie jak w edytorze tekstu, opcje te pozwalają na kontrolę rozmiaru komórek oraz umiejscowienia tabeli na formularzu.
    • Opcje zaznaczone „gwiazdką” dotyczą całej tabeli, bez względu na to, która komórka tabeli została zaznaczona.
  • Właściwości tabeli (4). Cell Borders / Background .
    • Cell Borders . Opcje pozwalające na zdefiniowanie obramowania komórek lub tabeli.
    • Table/Cell Background . Opcje pozwalające na zdefiniowanie kolorów lub grafiki w komórkach lub tabeli.
  • Właściwości tabeli (5). Table Borders / Margins .
    • Table Borders . Opcje określające sposób obramowania tabeli.
    • Table Margins . Opcje pozwalające na kontrole marginesów tabeli.
  • Właściwości tabeli (6).
    • Ostatnie zakładki okna właściwości tabeli zawierają specjalne opcje dotyczące programowania / sposobu wyświetlania i nazewnictwa wierszy w tabeli.
  • Właściwości tabeli (7). Przykłady tabel.
  • Filmy demonstracyjne (3)
    • Tworzenie formularza i zapisywanie go (nazwa).
    • Dodawanie tekstu do formularza.
    • Dodawanie tabeli do formularza (typy tabel).
    • Przeglądanie projektowanego formularza w Notes.
    • Przegląd wybranych zakładek właściwości tekstu.
    • Przegląd wybranych zakładek właściwości tabeli.
    • Przegląd wybranych zakładek właściwości formularza.
  • Ćwiczenie 2
    • Tworzenie formularzy, formatowanie tekstu, dodawanie pól tekstowych
  • Praca z elementami projektu aplikacji Praca z polami w formularzu ( Fields )
  • Pola w formularzu (1). Nazwy pól.
    • Pola to nazwana część formularza, która przechowuje dane wpisane przez użytkownika lub oblicza na podstawie wpisanej formuły.
    • Pola mogą wyglądać różnie dla użytkownika:
      • Styl Notes ( Notes style ).
      • Styl OS ( native OS style ).
    • Nazwa pola:
      • Nie może zawierać spacji.
      • Musi się rozpoczynać literą, znakiem _, znakiem $
      • Może zawierać numery.
      • Musi być unikatowa dla formularza.
      • Nie jest case sensitive .
    • Nazwa pola powinna być opisowa, ale w miarę krótka.
    • Zwyczajowo stosuje się wielkie i małe litery, na przykład DepartmentName .
    • Niektóre nazwy są zarezerwowane: SendTo .
  • Pola w formularzu (2). Dodawanie pól.
    • Aby dodać nowe pole do formularza:
      • Z menu Create wybrać polecenie Field . Można kliknąć ikonę na paku ikon.
      • Wpisać nazwę pola.
      • Zdefiniować opcje dotyczące wstawionego pola.
  • Pola w formularzu (3). Typy danych.
    • W platformie jest dostępnych 18 typów danych dla pól w formularzach (każdy typ ma swoją ikonę, która widoczna jest podczas projektowania formularza).
  • Pola w formularzu (4). Właściwości pola.
    • Każde pole ma swoje właściwości. Kolejno są one następujące:
      • Field Info : nazwa pola, typ danych, styl.
      • Control : format danych, które są zależne od wybranego typu pola. Na przykład pole typu Text ma kilka opcji, pole typu Number ma ich wiele.
      • Advanced : pomoc do pola, separatory wielu wartości, opcje bezpieczeństwa.
      • Font : rozmiar czcionki, styl czcionki oraz jej atrybuty.
      • Alignment : sposób wyrównania, wypunktowanie, odstępy.
      • Hide When : opcje pozwalające na ukrycie pola, w zależności od warunków.
      • Field HTML : definiowanie tagów HTML.
  • Pola w formularzu (5). Text .
    • Pole typu Text :
      • Domyślnym typem pola jest Text (podczas dodawania pola do formularza). Pole to pozwala na wpisywania jakichkolwiek znaków, ale nie pozwala na ich formatowanie. Jedynie projektant ma możliwość definiowania sposobu formatowania pola typu Text .
      • Pole typu Text nie może być stosowane w formułach matematycznych. Pole można stosować do danych typu numer telefonu, nr dokumentu tożsamości.
      • Dane przechowywane w polu Text muszą być konwertowane do innego typu.
    • Pole typu Rich Text :
      • Możliwość formatowania znaków
      • Możliwość importowania grafiki.
      • Możliwość dodawania tabel.
      • Możliwość przechowywania załączników.
      • Możliwość tworzenie sekcji tekstu.
    • Jest podobne pole – Rich Text Lite , które daje możliwość wskazania typu przechowywanych obiektów.
    • Ograniczenia:
      • Zawartość pola nie może zostać dodana do widoku.
      • Zawartość pola Rich-Text nie można połączyć z innymi rodzajami danych w formule.
      • Brak możliwości kontroli nad informacją wpisywaną przez użytkownika.
      • Maksymalna wartość pola 1 GB.
  • Pola w formularzu (6). Pole Number .
    • Number – pole numeryczne, przechowujące dane numeryczne lub np. walutowe.
    • Jest wiele opcji pozwalających na formatowanie pola.
    • Wpisanie danych tekstowych powoduje wyświetlenie komunikatu o błędzie.
  • Pola w formularzu (7). Pole Date/Time .
    • Pole przechowuje informacje dotyczące daty i czasu.
    • Daje możliwość utworzenia w łatwy sposób „ikonki” wyboru daty (opcja Calendar /Time control ).
    • Kiedy użytkownik wpisuje datę jest ona automatycznie interpretowana.
      • Jeśli jest to niemożliwe pojawia się komunikat „ Unable to Interpret Time or Date ”.
    • Można wpisać tekst:
      • Today .
      • Tomorrow .
      • Yesterday .
  • Pola w formularzu (8). Listy wyboru.
    • Notes umożliwia zaprezentowanie użytkownikowi listy do wyboru:
      • Dialog List .
      • Radio Buttons .
      • Checkboxes .
    • Choices : lista wpisów do wyboru. Domyślnie są one wpisywane w kolejnych wierszach.
    • Refresh fields on keyword change : Powoduje odświeżenie pól na formularzu, gdy użytkownik wybierze wartość (przydatne, gdy zawartość zależy od wybranej opcji).
    • Gdy opcja nie jest zaznaczona, pola zostaną odświeżone podczas zapisywania dokumentu.
    • Refresh choices on document refresh : Powoduje odświeżenie listy wyboru gdy użytkownik odświeży dokument ( F9 lub z menu View -> Refresh ).
  • Pola w formularzu (9). Dialog List .
    • Pola Dialog List (lista dialogowa) pozwala użytkownikowi na wybranie wartości z okna dialogowego.
    • Projektant może umożliwić:
      • Wyświetlanie pola „wyboru”, którego kliknięcie otwiera okno dialogowe.
      • Wpisanie nowych słów kluczowych przez użytkownika (opcja Allow values not in list ).
      • Wybór kilku wartości jednocześnie (opcja Allow Multiple Values ).
  • Pola w formularzu (10). Checkbox .
    • Można utworzyć pole, pozwalające użytkownikom na możliwość wyboru z predefiniowanych wartości:
      • Listę wyboru można zdefiniować ręcznie lub za pomocą formuły.
      • Nie można dodać nowych słów kluczowych.
      • Pole można formatować za pomocą różnych opcji.
  • Pola w formularzu (11). Radio Button .
    • Pole typu Radio Button :
      • Jest podobne do pola typu Checkbox , można podobnie je formatować.
      • Umożliwia użytkownikowi wybranie jednej tylko wartości.
      • Po jej wybraniu niemożliwe jest odznaczenie pola.
      • Użytkownik nie ma możliwości dodania nowych słów kluczowych.
  • Pola w formularzu (12). Pola typu Names .
    • Notes oferuje 3 typy pól, które związane są z nazwami użytkowników:
      • Names .
      • Readers .
      • Authors .
    • Pola Readers i Authors mają dodatkowe znaczenie w definiowaniu bezpieczeństwa.
  • Pola w formularzu (13). Pola typu Names .
    • Names – pozwala na przechowywanie informacji związanych z nazwami użytkowników (funkcja @UserName).
    • Nazwy użytkowników mogą być wyświetlane w dwóch formatach:
      • CN=User One/OU=Sales/O=USA (canonical).
      • User One/Sales/USA ( abbreviated ) .
    • Użytkownik, który ma poziom dostępu Autor musi mieć prawo do edycji swojego dokumentu. W tym celu należy w dokumencie powinno znajdować się przynajmniej jedno pole typu Autor . Pole to powinno zawierać przynajmniej jednego użytkownika lub grupy.
    • Pole Readers pozwala użytkownikom na wskazania, kto może czytać ten dokument. Osoby te muszą mieć minimum poziom dostępu Reader .
    • Jeśli pole typu Readers jest puste wtedy wszyscy z poziomem dostępu Reader (czytelnik) mają do niego dostęp.
    CN=Betty Power/OU=Handel/O=RBC/C=PL Nazwa hierarchiczna użytkownika (cannonical format) Betty Power/Handel/RBC/PL Nazwa skrócona użytkownika (fully distinquished in abbreviated format)
  • Pola w formularzu (14). Inne pola.
    • Color – pole tego typu pozwala na dodanie opcji wyboru koloru ( color picker ) bezpośrednio z formularza.
    • Formula - pole tego rodzaju może być użyte, by zapewnić możliwość „obsługi” prenumeraty dokumentów w projektowanej aplikacji. Jest to ważne w momencie współpracy z bazą danych headline.nsf .
    • Password – pole typu „password” przechowujące informacje związane z hasłem.
    • Time Zone – pozwala na wybór przez użytkownika odpowiedniej strefy czasowej (na przykład podczas umawiania spotkań w kalendarzu).
  • Pola w formularzu (15).
    • Dla przypomnienia:
      • Nazwa pola powinna być unikalna dla pojedynczego formularza.
      • Nazwa nie może rozpoczynać się od liczby.
      • Niektóre znaki (na przykład $, @ są zarezerwowane.
    • Istnieją następujące podziały pól, które dodajemy do formularzy:
      • Podział według „sposobu” przeliczania.
      • Podział według rodzaju danych.
    Pola (FIELDS) Single Use Wspólne (SHARED) Edytowalne Obliczane Typy danych
  • Pola w formularzu (16). Pola Shared .
    • Tworzone pola są zawsze na początku typu single-use (zastosowanie tylko dla pojedynczego formularza).
    • Aby pole można byłoby zastosować w kilku formularzach należy zmienić jego typ na Shared .
    • Przykłady pół typu Shared :
      • Autor dokumentu.
      • Data utworzenia dokumentu.
    • Pole współdzieli jedynie swoją definicję.
      • Typ danych.
      • Definicję sposobu obliczania (Editable, computed).
      • Formuły.
    • Pola tego rodzaju nie współdzielą:
      • Czcionki (styl, rozmiar).
      • Akapity (styl, wyrównanie).
      • Opcje ukrywania.
  • Pola w formularzu (17). Pola Shared .
    • Aby zdefiniować nowe pole typu Shared :
      • W Domino Designer wybrać Resources -> Shared Fields.
      • Kliknąć przycisk New Shared Field .
      • Nazwać pole i zdefiniować właściwości.
      • Zapisać pole, zamknąć okno.
    • Jeśli pole już stanieje (single-use):
      • Otworzyć formularz, zaznaczyć pole.
      • Z menu wybrać Design -> Share this field .
    • Aby wstawić pole Shared do formularza:
      • Z menu wybrać Create -> Resource -> Insert shared field .
      • W oknie wybrać nazwę pola wstawianego.
      • Kliknąć OK .
  • Filmy demonstracyjne (4)
    • Dodawanie pola do formularza, nazywanie pola.
    • Przegląd wybranych zakładek okna właściwości pola.
    • Dodawanie „zwykłych” pól tekstowych.
    • Opisywanie pól za pomocą tekstu pomocy
    • Zmiana typu pola oraz przegląd możliwości pól wyboru (Dialog List).
    • Dodawanie i modyfikowanie pola typu Radio Button.
    • Tworzenie pola typu Shared. Wstawianie pola Shared do formularza.
  • Ćwiczenie 3
    • Dodawanie i modyfikowanie rodzajów pól w formularzach
  • Praca z elementami projektu aplikacji Praca z widokami ( Views )
  • Widoki w aplikacji (1). Proste widoki.
    • Widok ( View ) to lista zapisanych w aplikacji dokumentów. Dokumenty te mogą być sortowane, ale i kategoryzowane (grupowanie dokumentów).
    • Widoki dają użytkownikowi możliwość przeglądania dokumentów na różne sposoby.
    • Aplikacja musi mieć przynajmniej jeden widok.
    • Widoki są konstruowane za pomocą kolumn i wierszy (dokumenty).
    • Kolumna to definicja danych, które mają być wyświetlane:
      • Proste funkcje ( Simple functions ).
      • Pole ( Field contents ).
      • Formuła ( Formula results ).
  • Widoki w aplikacji (2). Typy widoków.
    • Shared – dostępne dla użytkowników z prawem dostępu minimum Reader . Są przechowywane w aplikacji.
    • Shared, contains documents not in any folder – widok, który pomaga w znalezieniu dokumentów, które znajdują się w folderach (np. w sytuacji gdy źle opisaliśmy wyrażenia selekcji).
    • Shared, contains deleted documents – widok przechowujący „usunięte” dokumenty. Można je z takiego widoku odzyskać.
    • Shared, private on first use – widok przechowywany w bazie danych. Po kliknięciu staje się widokiem Private . Idealny do dystrybucji prywatnych widoków do wielu osób.
    • Shared, desktop private on first use – podobny do poprzedniego, ale przechowywany na stacji roboczej, w pliku desktop.dsk .
    • Private – widok przeznaczony dla użytkownika, który go utworzył. Gdy ma prawa w ACL do tworzenia prywatnych widoków to jest przechowywany w bazie danych. Jeśli nie, to w desktop.dsk .
  • Widoki w aplikacji (3). Tworzenie widoku.
    • Aby utworzyć nowy widok w aplikacji Domino:
      • Otworzyć Domino Designer i wybrać Views .
      • Kliknąć przycisk New View .
      • Wpisać nazwę dla widoku, wybrać typ.
      • Kliknąć Save and Customize – widok zostaje zapisany, otwiera się okno projektu.
  • Widoki w aplikacji (4). Praca z kolumnami.
    • Aby dodać nową kolumnę w widoku:
      • Kliknąć na nagłówku kolumny (zaznaczyć kolumnę).
      • Wybrać z menu Create -> Insert New Column lub Create -> Append New Column.
      • Kliknąć dwukrotnie na nagłówku, aby sformatować ją ( Column Properties ).
      • Wpisać nazwę kolumny .
    • Aby usunąć kolumnę z widoku:
        • Kliknąć na nagłówku kolumny (zaznaczyć kolumnę).
        • Z klawiatury wybrać DELETE .
  • Widoki w aplikacji (5). Simple Functions .
    • Dla kolumn w widokach dostępne są proste funkcje, które pozwalają na przyspieszenie projektowania widoków:
      • Attachments – wyświetla liczbę załączników w dokumencie.
      • Author(s) Distinguished Names – wyświetla nazwę autora dokumentu, np. Marek Zawadzki / Marketing / Poland .
      • Author(s) Simple Name – wyświetla imię i nazwisko autora dokumentu.
      • Creation Date – wyświetla datę i/lub czas utworzenie dokumentu.
      • Last Modified – wyświetla datę ostatniej modyfikacji dokumentu.
      • # in View – wyświetla kolejny numer dokumentu w widoku (ustawienie domyślne dla pierwszej tworzonej kolumny). Odpowiedzi są także numerowane, na przykład: 1.1.
  • Widoki w aplikacji (6). Simple Functions .
    • Aby zastosować prostą funkcję do kolumny w widoku:
      • Otworzyć widok i zaznaczyć żądaną kolumnę.
      • W panelu Programmer’s Pane kliknąć opcję Simple Function .
      • Wybrać funkcję i odświeżyć widok (ikona Odśwież ).
  • Widoki w aplikacji (7). Fields .
    • Aby wyświetlić zawartość pola w widoku:
      • Otworzyć widok i zaznaczyć żądaną kolumnę.
      • W panelu Programmer’s Pane kliknąć opcję Field .
      • Wybrać pole i odświeżyć widok (ikona Odśwież ).
  • Widoki w aplikacji (8). Formatowanie kolumn.
    • Projektant aplikacji może zdefiniować sposób wyświetlania danych:
      • Szerokość kolumny.
      • Tytuł kolumny.
      • Rodzaj, rozmiar i kolor czcionki.
      • Format daty i czasu.
      • Format liczbowy.
      • Czcionkę, rozmiar, kolor i styl nagłówka.
  • Widoki w aplikacji (9). Shared Column .
    • Projektant aplikacji ma możliwość tworzenia kolumny typu Shared , co pozwala zaoszczędzić czas projektowania oraz dbać o spójność aplikacji.
    • Kolumnę taką (np. Autor dokumentu) można dodawać do widoków w aplikacji.
    • Aby utworzyć nową kolumnę Shared :
      • Otworzyć Domino Designer i wybrać Shared Code -> Columns .
      • Kliknąć przycisk New Shared Column .
      • W oknie właściwości podać nazwę kolumny, a także zdefiniować inne parametry.
      • Zapisać i zamknąć projekt kolumny.
  • Widoki w aplikacji (10). Shared Column .
    • Aby dodać kolumnę Shared do widoku:
      • Otworzyć projekt widoku.
      • W menu wybrać Create -> Insert Shared Column lub Append Shared Column.
      • Wybrać kolumnę do wstawienia.
    • Uwaga : Domyślnie wartość i format są dodawane. Opcja Use Formula Only pomija formatowanie.
    • Aby zmienić wartość kolumny:
      • Wybrać Design -> Edit Shared Column.
    • Aby uwspólnić istniejącą kolumnę w widoku:
      • Otworzyć widok, zaznaczyć żądaną kolumnę.
      • Wybrać Create -> Copy as Shared Column.
      • Wpisać nazwę kolumny.
  • Filmy demonstracyjne (5)
    • Tworzenie nowego (prostego) widoku.
    • Praca z kolumnami w widoku (dodawanie, usuwanie, przenoszenie).
    • Zastosowanie prostych funkcji (Simple Functions) do kolumn w widoku.
    • Zastosowanie zawartości pól w kolumnach widoku.
    • Przegląd wybranych możliwości formatowania kolumn w widoku.
    • Tworzenie kolumny typu Shared. Dodawanie kolumny do widoku.
    • Uwspólnianie kolumn w widoku.
  • Ćwiczenie 4
    • Tworzenie prostych widoków
  • 3. Programowanie aplikacji Domino Wprowadzenie do języka formuł ( Formula Language )
  • Programowanie aplikacji (1).
    • Projektant bazy danych Domino ma następujące możliwości projektowania aplikacji (między innymi):
      • Simple formula – „zapisane” fragmenty kodu, które można zastosować (np. CopyToDatabase).
      • Formula Language – język funkcji „matematycznych”, za pomocą których można łatwo i szybko projektować aplikacje Domino.
      • @Commands – zaprogramowane wcześniej gotowe fragmenty kodu, które odzwierciedlają działanie poleceń menu.
      • LotusScript –język programowania, podobny do MS Visual Basic
    • Dodatkowo można używać języka JavaScript, a także HTML.
    • W wersji 8 jest możliwość rozszerzania aplikacji za pomocą Lotus Expeditor (Java) – nowe funkcje Notes 8 w wersji Standard.
  • Programowanie aplikacji (2). Zastosowanie.
    • Formuły mogą być używane w wielu miejscach aplikacji Domino:
      • Pola edytowalne ( Editable fields ).
      • Pola obliczane ( Computed fields ).
      • Przyciski czynności ( Action buttons ).
      • Struktury ( Outlines ).
      • Agenty ( Agents ).
      • Kolumny w widoku ( View columns ).
      • Wyrażenia selekcji widoku ( View selection ).
      • Punty aktywne ( Hotspots ).
      • Czynności ( Actions ).
      • Tytuły okna ( Window titles ).
  • Programowanie aplikacji (3). Elementy.
    • W formułach Domino stosujemy następujące elementy składowe:
      • Zmienne ( Variables ).
      • Stałe ( Constants ).
      • Operatory ( Operators ).
      • Słowa kluczowe ( Keywords ).
      • Funkcje ( @Functions ).
    • Za pomocą formuł możemy oprogramować różnego rodzaju elementy, na przykład przyciski czynności.
    • Dostępne są wtedy zdarzenia ( events ), między innymi:
      • Input translation (zmiana wpisu np. do pola).
      • Input validation (walidacja poprawności wpisu).
      • Window Title (tytuł okna).
      • Default Value (wartość domyślna).
    Tworząc formuł należy uważać na typy danych! Operator 1 2 + Argument Argument
  • Programowanie aplikacji (4). Zmienne.
    • Zmienna ( variable ) jest wartość, która ulega zmianom w dokumencie, na przykład, imię i nazwisko:
      • FirstName (nazwa pola jako prosta formuła)
      • FirstName + " " + LastName (z odpowiednimi operatorami)
      • @ProperCase(FirstName) (jako argument)
    • Tymczasowe zmienne ( temporary variable ) istnieją jedynie w formule i nie mają żadnych dodatkowych atrybutów. Dane przypisane tymczasowej zmiennej nie są zapisywane.
    • Składnia i przykład:
      • tempname := value
      • firstname := “John”;
      • lastname := “Smith”;
      • @ProperCase(firstname) + “ “ + @ProperCase(lastname)
  • Programowanie aplikacji (4). Stałe i operatory.
    • Stosowane w przypadku, gdy wartości są stałe:
      • Text (29/12/98)
      • Number (-987).
      • Time [01/18/96 09:30:45] (84600 s/day).
      • „ Joe" + " " + "Boston" + @Text(Total).
    • Dwukropek Colon (:)
      • "Cleveland" : "Melbourne" : "Rotterdam"
    • Średnik Semicolon (;)
      • @If(@Attachments = 1 ; 5 ; &quot; &quot;) @If(DueDate < @Today ; &quot;Past Due&quot; ; NULL)
    NULL – nieznany typ danych lub brakujące dane
  • Programowanie aplikacji (5). Operatory.
  • Programowanie aplikacji (6). Słowa kluczowe.
    • Słowa kluczowe używamy do opisu wyrażeń w formułach lub do wyrażeń selekcji:
    • Oznaczenie komentarza w formule:
      • REM &quot;To jest mój formularz&quot;
    • Wyrażenie selekcji w widoku:
      • SELECT Form = &quot;Idea&quot;
    • Przypisanie wartości do pola w formularzu:
      • FIELD CompanyName := Company + &quot; inc.&quot;
    • Przypisanie wartości domyślnej dla pola:
      • DEFAULT City := “New York”
    • Ustawienie zmiennej systemowej w pliku notes.ini na stacji roboczej:
      • ENVIRONMENT Department := “HR”
  • Programowanie aplikacji (7). Zasady w formułach.
    • Formuły Notes bazują na pewnych regułach (ogólne zasady tworzenia formuł, stosowaniu separatorów, operatorów oraz nawiasach).
    • Notes rozpoznaje 3 separatory:
      • Colon ( : ) – oddziela wartości w liście (“Austin” : “Paris” : “Rome”)
      • Semicolon (; ) – oddziela wyrażenia w formule
        • SELECT City = “Paris” ;
        • FIELD Country := “FR”
      • Spaces - spacje mogą stosowane w formułach (REM “Comments Only”).
  • Programowanie aplikacji (8). Zasady w formułach.
    • Język formuł nie zależy od wielkości znaków, poza na znakami cudzysłów ( quotation marks ):
      • “ new york”
      • “ New York”
    • Podane przykłady są różnymi wartościami.
    • Znaki te mogą być stosowane tylko do stałych tekstowych.
  • Programowanie aplikacji (9). @Functions.
    • Mamy następujące rodzaje funkcji (między innymi):
      • String Manipulation – obróbka danych tekstowych.
      • Logical Operation – operacje logiczne.
      • Date / Time Operation – operacje na dacie i czasie.
      • Arithmetic Operation – operacje arytmetyczne.
      • List Operation – operacje na listach.
      • Data Conversions – konwersja danych.
      • Special Functions – funkcje specjalne.
    • Funkcje stosujemy następująco (składnia i przykłady):
      • @funname(arg1 ; arg2 ; ... ; argn).
      • @Sum(1 ; 32 ; 43 ; 56) .
      • @Text(TargetRetailPrice) .
  • Programowanie aplikacji (10). String Manipulations .
    • @ProperCase
      • Konwertuje wpis w formule (każde słowo rozpoczyna się od wielkiej litery).
    • @UpperCase
      • Zwraca tekst KAPITALIKAMI.
    • @Trim
      • „ pozbywa” się nadmiarowych znaków spacji.
    • @Length
      • Zwraca wartość równą liczbie znaków.
    • @Left
      • Zwraca znaki określone w formule (lewa strona).
    • @NewLine
      • Dodaje nową linię (znak karetki).
    • @ProperCase(marek zawadzki)
      • Marek Zawadzki
    • @Trim(@UpperCase(&quot;_Roger_S&quot;)
      • ROGER S
    • @Length(&quot;Co robisz?&quot;)
      • 10
    • @Left(&quot;Do roboty&quot; ; 2)
      • Do
    • Name + @NewLine + Addresss
      • Marek Zawadzki BELGRADZKA
  • Programowanie aplikacji (11). Logical Operations .
    • @If
      • Funkcja warunkowa, zwraca różne wartości w zależności od warunków.
    • @Failure
      • Powoduje wyświetlenie komunikatu o błędzie (podczas walidacji formuł).
    • @Success
      • Zwracana jest wartość True (1).
    • @If(Name = &quot;Marek&quot; ; &quot;Instructor&quot; ; &quot;Student&quot;)
    • @If(Age > 70 ; &quot;Stary&quot; ; &quot;Młody&quot;)
    • @If(@IsNewDoc ; &quot;Nowy dokument&quot; ; &quot;Stary dokument&quot;)
    • @If(LName = NULL ; @Failure(&quot;Wpisz coś&quot;) ; @Success)
  • Programowanie aplikacji (12). Date / Time Operations .
    • @Created
      • Zwraca datę utworzenia dokumentu.
    • @Adjust
      • Zwracana jest data zadeklarowana w formule.
    • @Today (@Tomorrow)
      • Zwraca dzisiejszą i jutrzejszą datę.
    • &quot;Dokument utworzono dnia &quot; + @Text(@Created)
    • @Adjust(CreateDate ; 0 ; 0 ; 30 ; 0 ; 0 ; 0)
    • @Adjust(@Today ; 0 ; 0 ; 30 ; 0 ; 0 ; 0)
    • @Adjust(@Tomorrow ; 0 ; 0 ; 30 ; 0 ; 0 ; 0)
    • @Month(@Created)
  • Programowanie aplikacji (13). Arithmetic Operations .
    • @Max
      • Zwraca wartość maksymalną z podanej listy.
    • @Round
      • Zaokrągla wynik podanej formuły.
    • @Sum
      • Zwraca sumę podanych argumentów w formule.
    • @Max(MonthOne ; MonthTwo)
    • @Round(123 ; 10)
    • @Sum(Price ; 10 ; Tax)
    • @Sum(Price : 10 : Tax)
    • Uwaga : W dwóch ostatnich przykładach pola muszą zawierać wartości domyślne.
  • Programowanie aplikacji (14). List Operations .
    • @Elements
      • Oblicza liczbę elementów w liście elementów.
    • @Subset
      • Przeszukuje elementy listy i zwraca podany (numer kolejny) element.
    • @Sort(list;[ORDER])
      • Sortuje listę w zadany sposób
    • Students := &quot;Joe&quot; : &quot;Sue&quot; : &quot;Tom„
    • @Elements(Students)
    • @If(@Elements(Students) = 3 ; &quot;OK&quot; ; &quot;&quot;)
    • @Subset(&quot;Cleveland&quot; : &quot;Singapore&quot; : &quot;Mel&quot; ; 2)
      • Cleveland : Singapore
    • @Subset(&quot;A&quot; ; &quot;B&quot; ; &quot;C&quot; ; &quot;D&quot; ; -3)
      • B ; C ; D
    • Cities := “Paris” : “Rome” : “Berlin”;
    • @Sort(Cities; [ASCENDING])
  • Programowanie aplikacji (15). List Operations .
    • @UserName
      • Zwraca nazwę użytkownika na podstawie pliku user.id.
    • @Name
      • Przetwarza nazwę użytkownika według podanych w formule parametrów.
    • @IsNewDoc
      • Sprawdza status dokumentu.
    • @Name([CN] ; Author)
    • @UserName
    • @If(@IsNewDoc ; &quot;Tworzysz nowy&quot; ; &quot;Edytujesz stary dokument &quot; + Title)
    • @If(Department = NULL ; @Failure(&quot;No, no”) ; @Success)
  • Programowanie aplikacji (16). Aplikacja . Na CD-ROM znajduje się baza danych, w której znajdują się przykładowe formuły Notes.
  • Programowanie aplikacji (17). Format danych .
    • Gdy formaty danych są nieodpowiednie pojawiają się następujące komunikaty błędów:
      • “ Field: ‘Total’: Incorrect data type for operator or @Function: Number expected”
      • “ Field: ‘Department’: Incorrect data type for operator or @Function: Text expected:
    • Funkcje do konwersji danych są następujące:
    • @Text(value)
      • @Text(RetailPrice)
    • @TextToNumber
      • @TextToNumber(“100”)
    • @TextToTime
      • @TextToTime(“1/1/99”)
  • Programowanie aplikacji (18). User Input (przykłady).
    • Jest kilka @ Funkcji, które pomagają w zaprojektowaniu mechanizmu wprowadzania danych przez użytkownika.
    • Dane wprowadzone przez użytkownika są przechwytywane przez formułę i są zwracane we wskazanym polu.
    • @Prompt - wyświetla okno dialogowe dla użytkownika i zwraca odpowiednią wartość tekstową. Funkcja jest użyteczna dla „pobierania” informacji od użytkownika i projektowania następujących po sobie czynności.
    • @DialogBox – wyświetla okno dialogowe wraz z aktualnym dokumentem. Użytkownik może wybrać przycisk OK. lub Cancel.
    • @PickList - wyświetla okno, którego zawartość może być następująca:
      • Zadany w formule widok, z którego użytkownik może wybrać jeden lub kilka dokumentów. @PickList zwraca wartość kolumny z wybranego dokumentu.
      • Okno adresowe , wyświetlające informacje ze wszystkich dostępnych książek adresowych. Użytkownik może wybrać jedną lub kilka osób / grup. Zwracane są nazwy wybranych elementów.
  • 3. Programowanie aplikacji Domino Zastosowanie formuł w formularzach / polach
  • Pola edytowalne i obliczane (1)
    • Pola dzieli się również na:
      • Edytowalne ( editable ) – użytkownik może zmienić wartość pola (nawet po jego obliczeniu)
      • Obliczane ( computed ) – wartość pola jest obliczana według podanej formuły obliczeniowej.
    • W zależności od rodzaju pola obliczanego pole jest odświeżane w różnych sytuacjach:
    Computed Fields Computed Computed for display Computed when composed CREATED SAVED REFRESH OPENED (E, R) REFRESHED (Current Session) CALCULATE ONCE WHEN CREATED
  • Pola edytowalne i obliczane (2). Editable .
    • Pola edytowalne pozwalają na wprowadzanie danych przez użytkownika, ale mogą też korzystać z następujących formuł:
      • Default Value – przechowuje i zwraca domyślną wartość.
      • Input Translation – modyfikuje wprowadzoną zawartość pola.
      • Input Validation – weryfikuje wprowadzona wartość w polu, według zadanych warunków.
  • Pola edytowalne i obliczane (3). Computed .
    • Pola obliczane nie pozwalają na wpisanie danych przez użytkownika. Ich wartość obliczana jest na podstawie formuły.
    Computed Fields Computed Computed for display Computed when composed CREATED SAVED REFRESH OPENED (E, R) REFRESHED (Current Session) CALCULATE ONCE WHEN CREATED
  • Praca z formułami (1). Programmer’s Pane .
    • Projektant / programista wprowadza formuły w panelu programisty Programmer’s Pane . Panel ma także swoje właściwości, które można dostosować do własnych potrzeb:
      • Otworzyć element projektu, kliknąć pole. Otworzy się automatycznie podgląd w panelu.
      • Kliknąć prawym klawiszem myszy na panelu i wybrać właściwości.
  • Praca z formułami (2). Programmer’s Pane .
    • Formuły wprowadza się „ręcznie” – podczas wpisywania pojawia się pomoc, opis stosowanej funkcji (składnia).
    • Sprawdzana jest też poprawność wpisanej formuły.
  • 3. Programowanie aplikacji Domino 11. Tworzenie formularza odpowiedzi ( response form ), dziedziczenie danych
  • Formularz Response , dziedziczenie danych (1)
    • Formularz typu Response daje takie same możliwości jak formularz typu Document . Dodatkową funkcją jest możliwość dodania komentarza do oryginalnego dokumentu bez potrzeby jego edycji (w większości aplikacji użytkownik nie może edytować cudzych dokumentów).
    • Dokument typu Response jest tworzony z dokumentu „rodzica”. Gdy nie ma dokumentu „rodzica” pojawia się komunikat o będzie.
    • Trzeci rodzaj formularza – Response to Response – pozwala na skomentowanie obu dokumentów: dokumentu odpowiedzi oraz dokumentu głównego.
    • Wszystkie dokumenty zwykle pokazywane są w widokach hierarchizowanych (np. baza dyskusji).
  • Formularz Response , dziedziczenie danych (2)
    • Każdy dokument utworzony w Notes przechowuje „swój” numer ID, którego częścią jest tzw. unique ID ( UNID ).
    • Kiedy jest zapisywany dokument odpowiedzi, przechowuje on UNID dokumentu „rodzica” w polu $REF.
  • Formularz Response , dziedziczenie danych (3)
    • Aby utworzyć formularz typu Response :
      • Otworzyć Domino Designer.
      • W widoku Forms kliknąć przycisk New form .
      • Otworzyć okno właściwości formularza, wybrać typ Response .
  • Formularz Response , dziedziczenie danych (4)
    • Domyślnie nie jest włączone dziedziczenie danych ( data inheritance ) z dokumentu głównego.
    • Aby zdefiniować dziedziczenie danych z dokumentu głównego:
      • Zaznaczamy opcję „ Formulas inherit values from selected documents” w oknie właściwości formularza (na zakładce Defaults ).
      • Określamy, które pola z głównego dokumentu mają być dziedziczone.
      • Wpisać formuły w polach, które mają dziedziczyć informacje. Formuły te maja być powiązane z polami, których wartości dziedziczymy.
    • UWAGA: Dziedziczenie danych odbywa się tylko raz, w momencie tworzenia dokumentu. Pola muszą być typu Computed when Compose .
  • Filmy demonstracyjne (6)
    • Przegląd aplikacji FUNCTIONS.NSF.
    • Definiowanie wartości domyślnych w polach (Radio Button, Date/Time).
    • Definiowanie tytułu okna w formularzach.
    • Definiowanie zdarzeń Input Validation oraz Input Translation.
    • Formatowanie panelu Programmer’s Pane.
    • Zmiana typu formularza, dziedziczenie wartości.
  • Ćwiczenie 5
    • Dodawanie logiki do aplikacji (Formula Language)
  • 3. Programowanie aplikacji Domino 12. Rozszerzanie funkcjonalności formularzy, za pomocą czynności ( actions )
  • Dodatkowe możliwości (1). Czynności formularza ( actions ).
    • Czynność to procedura do wykonania, którą dodaje się do formularza lub widoku. Czynności są widoczne albo w postaci przycisków na pasku czynności ( action bar ) lub w menu Actions .
    • Czynności mogą być programowane za pomocą:
      • Prostych czynności ( simple actions ).
      • Języka formuł ( formula language ).
      • LotusScript.
      • JavaScript.
  • Dodatkowe możliwości (2). Czynności systemowe ( system actions ).
    • Każdy formularz i widok ma wbudowane czynności systemowe. Nie są one automatycznie wyświetlane w panelu czynności.
    • Aby dodać czynności systemowe:
      • Należy z menu wybrać Create -> Action -> Insert System Actions .
  • Dodatkowe możliwości (3). Tworzenie czynności.
    • Aby dodać nową czynność (akcję) do formularza:
      • Otworzyć formularz i wyświetlić panel czynności Action Pane .
      • Z men u wybrać Create -> Action .
      • W oknie właściwości czynności podać jej nazwę.
      • ( opcjonalnie ) Zmienić jej pozycję w menu Actions .
      • Wybrać opcje Display (np. Only show icon …).
      • Wybrać ikonę dla projektowanego przycisku (różne możliwości).
      • Wprowadzić formułę dla czynności w panelu programistycznym.
  • Dodatkowe możliwości (4). Proste czynności ( simple actions ).
    • Notes dostarcza kilka prostych czynności, które nie wymagają od projektanta umiejętności programistycznych.
    • Aby zastosować predefiniowaną prostą czynność:
      • Utwórz nową czynność, przejdź do panelu Programmer’s Pane .
      • Wybierz Simple Actions z listy rozwijalnej.
      • Dodaj wybraną czynność za pomocą przycisku Add Action .
      • Zapisz i zamknij dokument.
  • Dodatkowe możliwości (5). @Commands .
    • Polecenia @Command to specjalny typ @Function – pozwalają na uruchamianie poleceń programu Notes.
    • Za pomocą @Commands można obsłużyć polecenia programu Notes, jak i dodatkowe (np. administracyjne) polecenia systemowe.
    • Podstawowa składnia jest następująca:
      • @Command([CommandName]; parameters)
    • Nie wszystkie wymagają parametrów:
      • @Command([FileSave]) .
      • @Command([FilePrint]) .
  • Dodatkowe możliwości (6). @Commands .
    • @Command([FileSave])
      • Zapisuje aktywny dokument, wymusza polecenie File -> Save .
    • @Command([FileCloseWindow])
      • Zamyka bieżące okno Notes. Jeśli dokument nie był zapisany, pojawia się odpowiedni komunikat.
    • @Command([ToolsSpellCheck])
      • Uruchamia sprawdzenie pisowni. Dokument musi być w trybie do edycji.
    • @Command([Compose]; “ FormName”)
      • Tworzy nowy dokument w oparciu o wskazany formularz (nie jest wymagane).
    • @Command([MailForward])
      • Umożliwia przesłanie aktywnego dokumentu innym osobom.
    • @Command([ToolsRefreshAllDocs])
      • Odświeża wszystkie pola w formularzu, dokumenty w widoku.
  • Dodatkowe możliwości (7). @Commands .
    • Aby dodać @Command do projektowanej czynności:
      • Wybierz istniejącą czynność lub utwórz nową.
      • Przejdź do panelu Programmer’s Pane .
      • Wpisz żądaną komendę @Command . Aby uzyskać listę wszystkich poleceń wybierz zakładkę Reference , a następnie wybierz Formula @Commands z dostępnej listy.
  • Dodatkowe możliwości (8). Shared Actions .
    • Projektant aplikacji może utworzyć czynność Shared Action , która może zostać dodana do dowolnego formularza i widoku:
      • Otworzyć Domino Designer, następnie Share Code i wybrać Actions .
      • Kliknąć przycisk New Shared Action .
      • Wprowadzić informacje w oknie właściwości.
      • Wprowadzić formułę dla projektowanej czynności.
      • Zapisać czynność i zamknąć okno.
  • Dodatkowe możliwości (9). Shared Actions .
    • Aby dodać Shared Action do widoku:
      • Otworzyć dokument widoku, wyświetlić panel czynności.
      • Z menu wybrać Create -> Action -> Insert shared action .
      • W oknie dialogowym wybrać czynność, którą chcemy dodać (można dodać kilka czynności)
      • Kliknąć przycisk Done .
  • Dodatkowe możliwości (10). Actions / Subactions .
    • Jeśli formularz lub widok wymaga zaprojektowania większej liczby czynności, wtedy czynności takie można pogrupować ( sub-actions ):
      • Z menu wybrać Create -> Action -> Action with Sub Action .
      • Nazwać przycisk „nadrzędny” oraz projektowaną czynność.
      • Opisać jej działanie za pomocą formuły.
      • Zapisać i zamknąć dokument.
  • Dodatkowe możliwości (11). Actions Bar Properties .
    • Pasek czynności można dostosować do potrzeb użytkowników:
      • W panelu czynności wybrać polecenie z menu Design -> Action Bar Properties .
      • Wybrać żądane opcje i zdefiniować je (zakładki okna właściwości paska czynności):
        • Alignment – wyrównanie paska.
        • Bar height – wysokość.
        • Bar color – kolorystyka paska czynności.
        • Borders – obramowanie.
        • Button size – rozmiar przycisków.
        • Button font size and style – rodzaj i rozmiar czcionki.
  • Filmy demonstracyjne (7)
    • Przegląd czynności w różnych aplikacjach.
    • Wstawianie czynności systemowych (system actions).
    • Tworzenie czynności, użycie Simple Actions.
    • Tworzenie czynności, polecenia @Commands.
    • Tworzenie czynności Shared Action, dodawanie jej do formularza.
    • Tworzenie przycisków czynności (Actions with Subactions).
    • Formatowanie paska czynności.
  • Ćwiczenie 6
    • Projektowanie czynności ( actions )
  • 3. Programowanie aplikacji Domino Ukrywanie elementów ( Hide – When Options )
  • Ukrywanie elementów projektu (1)
    • Nie wszystkie informacje muszą być widoczne dla użytkownika w tym samym czasie.
    • Dostępne są następujące opcje / możliwości ukrycia fragmentów dokumentu:
      • Opcje Hide-When dla tekstu i pól.
      • Opcje Hide-When dla tabel.
      • Opcje Hide-When dla czynności.
      • Wbudowane opcje ukrywania (np. Printed ).
      • Formuły Hide-When.
  • Ukrywanie elementów projektu (2)
    • Aby zdefiniować opcje ukrywania:
      • Wyświetlić właściwości elementu, który chcemy ukryć.
      • Wybrać zakładkę Hide-When .
      • Wybrać żądane opcje ukrywania.
  • Ukrywanie elementów projektu (3)
    • W poniższym przykładzie zastosowano formułę ukrywającą elementy formularza.
    • Dodatkowo należy zaznaczyć opcje Refresh fields on keyword change , co powoduje odświeżenie zawartości formualarza.
  • Filmy demonstracyjne (8)
    • Przykładowe działanie formuły Hide-When w aplikacji.
    • Ukrywanie przycisków (standardowe zdarzenia Notes).
    • Ukrywanie fragmentu formularza (formuła Notes).
  • Ćwiczenie 7
    • Ukrywanie przycisków czynności (Hide-When)
  • 3. Programowanie aplikacji Domino 14. Przeglądanie zapisanych dokumentów, wyszukiwanie dokumentów.
  • Przeglądanie zapisanych dokumentów (1)
    • Projektując aplikację dla środowiska Domino warto zadbać o ponowne użycie raz zapisanych w aplikacji informacji (dokumentów, formularzy, widoków).
    • Temu celowi służą dwie funkcje:
      • @DbColumn – w celu utworzenia dynamicznej listy w polach wyboru ( radio button , dialog list ) .
      • @DbLookup – zwraca żądaną informację (wartość pola) z dokumentu w widoku.
  • Przeglądanie zapisanych dokumentów (2). @DbColumn .
    • Przyczyną zastosowania funkcji @DbColumn jest wyszukiwanie i zwracanie kolumny danych z widoku.
    • Formuła może wyszukiwać dane wewnątrz lub na zewnątrz aplikacji.
    • Formułę zwykle stosuje się tworzenia „dynamicznych” list wyboru (pola: radio button , dialog list ) .
    • Gdy lista opcji jest generowana za pomocą funkcji @DbColumn , wtedy projektant nie musi „ręcznie” zarządzać listą wyboru.
    • Składnia funkcji @DbColumn jest następująca :
      • @DbColumn(Class : “NoCache” ; Server : Database ; View ; ColumnNumber)
  • Przeglądanie zapisanych dokumentów (3). @DbColumn .
    • Class : “NoCache”
      • Identyfikacja bazy danych, z której korzystamy. Baza Notes jest identyfikowana “Notes” lub “”.
      • NoCache – definiuje, czy dane mają być przechowywane do ponownego użycia, czy przeglądane za każdym razem, kiedy jest wykonywana formuła.
    • Server : Database
      • Nazwa serwera, nazwa bazy danych.
    • View
      • Dokładna nazwa widoku, który ma być przeszukiwany za pomocą formuły.
    • ColumnNumber
      • Numer kolumny, której wartości mają być zwrócone przez funkcję.
      • Notes „liczy” kolumny od lewej strony.
      • Nie wszystkie kolumny są liczone – na przykład kolumny zawierające dane statyczne ( static text ) nie są liczone.
  • Przeglądanie zapisanych dokumentów (4). @DbColumn .
    • @DbColumn(“” ; “” : “Lookups.NSF” ; “Departments” ; 2)
    • Formuła:
      • Stosuje wyszukiwanie Notes.
      • Przechowuje rezultaty wyszukiwania do dalszych operacji.
      • Przeszukuje bazę danych Lookups .nsf na tym samym serwerze.
      • Przeszukuje widok Departments .
      • Zwraca wartości kolumny 2.
    • @DbColumn(“” : “NoCache”; “85255CEB:0032AC04”; “Requests”; 1)
    • Formuła:
      • Stosuje wyszukiwanie Notes.
      • Nie przechowuje rezultatów wyszukiwania ( no cache ).
      • Przeszukuje baze danych o numerze ID Replica.
      • Przeszukuje widok Requests .
      • Zwraca wartość kolumny 1.
  • Przeglądanie zapisanych dokumentów (5). @DbLookup .
    • Funkcja @DbLookup sprawdza pierwszą posortowaną kolumnę i wyszukuje dokument zawierający wartość kluczową ( key value ) . Na tej podstawie zwracana jest informacja.
    • Składnia jest podobna do @DbColumn , ale ma jeszcze kilka dodatkowych argumentów.
      • @DbLookup( Class : &quot;NoCache&quot; ; Server : Database ; View ; Key ; ColumnNum )
      • lub
      • @DbLookup( Class : &quot;NoCache&quot; ; Server : Database ; View ; Key ; “Fieldname” )
  • Przeglądanie zapisanych dokumentów (6). @DbLookup .
    • Class : “NoCache”
      • Identyfikacja bazy danych, z której korzystamy. Baza Notes jest identyfikowana “Notes” lub “”.
      • NoCache – definiuje, czy dane mają być przechowywane do ponownego użycia, czy przeglądane za każdym razem, kiedy jest wykonywana formuła.
    • Server : Database
      • Nazwa serwera, nazwa bazy danych.
    • View
    • Dokładna nazwa widoku, który ma być przeszukiwany za pomocą formuły.
    • Key
      • Informacja, która jest wyszukiwana w pierwszej posortowanej kolumnie. Zwykle jest to nazwa pola.
      • Identyfikuje dokument do odczytania.
    • ColumnNumber
      • Kiedy używa się numeru kolumny, Notes znajduje dokument według kluczowej wartości, a następnie wyświetla jakąkolwiek wartość z podanej kolumny.
    • Fieldname
      • Nazwa pola, z którego dane będą przeglądane, po zidentyfikowaniu dokumentu.
      • Jeśli używa się nazwy pola, nie musi być ono widoczne w widoku.
      • Argument ten podany jest w “” .
  • Przeglądanie zapisanych dokumentów (7)
    • Baza danych ma formularz o nazwie Departament, w którym są następujące pola:
      • DepartmentName – nazwa departamentu.
      • DepartmentManager – kierownik departamentu.
    • Kiedy dokument jest tworzony za pomocą formularza Departament (alias Dept):
      • Kol. 1: zawartość pola DepartmentName .
      • Kol 2: zawartość pola DepartmentManager .
  • Przeglądanie zapisanych dokumentów (8)
    • Aplikacja FREETIME ma formularz, gdzie znajdują się pola:
      • Department – zawartość pobierana jest za pomocą @DBColumn.
      • ManagerName – zawartość zależy od wybranego departamentu.
    • Kiedy użytkownik wskaże zawartość pola Department , inne pola „wyliczają” się automatycznie.
    • Pole Department :
        • @DbColumn(&quot;&quot; ; &quot;&quot; : &quot;Departamenty.nsf&quot; ; &quot;Dept&quot; ; 1)
    • Pole ManagerName :
        • @If(Department = NULL; NULL; @DbLookup(&quot;&quot; ; &quot;main&quot; : &quot;Departamenty.nsf&quot; ; &quot;Dept&quot; ; Department; 2))
  • Przeglądanie zapisanych dokumentów (9)
    • Aby aktualizacja dokumentu odbywała się „automatycznie” należy włączyć opcję Refresh fields on keyword change .
    • Za każdym razem, gdy użytkownik zmieni wartość w polu pole docelowe zostanie odświeżone.
  • Ćwiczenie 8
    • Wykorzystanie zapisanych w dokumentach informacji
  • 3. Programowanie aplikacji Domino Implementacja prostego obiegu dokumentów
  • Implementacja workflow (1)
    • Projektant aplikacji może łatwo dodać obieg dokumentów do aplikacji. Aplikacje te mogą przesyłać dokumenty pomiędzy jedną aplikacją, a drugą. Można również wysyłać powiadomienia do użytkowników.
    • Przesyłanie dokumentów może być uruchomione za pomocą:
      • Czynności użytkownika (kliknięcie przycisku).
      • Formuł w polach formularza.
      • Zdarzeń formularza.
      • Agentów (stacja robocza, serwer).
    • Wymagania konieczne:
      • Musi być adresat (adres).
      • Dokument jest tworzony na podstawie formularza z opcją „ mail enabled form ”.
  • Implementacja workflow (2)
    • Dla formularza należy włączyć opcję „ mail enabled ” .
    • Projektant ma 3 sposoby na włączenie funkcjonalności przesyłania dokumentów:
      • Zaznaczyć opcję “ On close: Present mail send dialog ” we właściwościach formularza.
      • Zastosować funkcję @MailSend bez argumentów.
      • Zastosować funkcję @MailSend z argumentami.
    • Pole SendTo jest zarezerwowane dla formularzy, które będą przesyłane dalej.
    • Pole SendTo służy do przechowywania nazw, do których będzie przesyłany dokument:
      • Nazwy użytkowników.
      • Nazwy grup.
      • Nazwy baz typu mail-in.
  • Implementacja workflow (4). Mail send dialog .
    • Po zaznaczeniu opcji “ On close: Present mail send dialog ” przy zamykaniu dokumentu będzie się pojawiał dodatkowy komunikat.
    • Wymagania:
      • W formularzu musi się znajdować pole SendTo .
    • Rezultat:
      • Dokument zostanie przesłany do podanych w polu SendTo osób.
  • Implementacja workflow (5). @MailSend .
    • Funkcja @MailSend bez argumentów zwykle dodawana jest do przycisków czynności.
    • Funkcja powoduje przesłanie dokumentu do osób / grup podanych w polu SendTo (nie działa przez WWW).
    • Uwaga : domyślnie formularze i dokumenty są przechowywane osobno. Kiedy wysyłamy dokument użytkownikowi i ten go otwiera pojawia się komunikat błędu:
      • “ Form Not Found: Form Name”.
    • Dokument jest otwierany za pomocą domyślnego formularza w aplikacji.
    • Aby przeciwdziałać błędom tego rodzaju można zaznaczyć opcję Store form in document we właściwościach formularza.
  • Implementacja workflow (6). @MailSend .
    • Funkcja @MailSend z argumentami działa już inaczej.
    • Nie jest przesyłany dokument, lecz tworzona jest nowa wiadomość pocztowa z argumentami, które zadeklarował projektant aplikacji.
    • Składnia funkcji jest następująca:
      • @MailSend(SendTo ; CopyTo ; BlindCopyTo ; Subject ; Remarks ; BodyFields ; [Flags])
  • Implementacja workflow (7). @MailSend .
    • SendTo
      • Główni odbiorcy wiadomości, niekoniecznie musi odpowiadać polu SendTo, może to być całkiem inne pole.
    • CopyTo (Optional)
      • Użytkownicy którzy powinni dostać kopię wiadomości.
    • BlindCopyTo (Optional)
      • Użytkownicy którzy powinni dostać ukrytą kopię wiadomości.
    • Subject (Optional)
      • Temat wiadomości.
    • Remark (Optional)
      • Tekst pojawiający się na początku pola Body wiadomości pocztowej.
    • BodyFields (Optional)
      • Nazwy pól (lub pola), których zawartość ma być dodana do wiadomości.
    • Flags (Optional)
      • Opcje opisujące priorytet wiadomości oraz jej zabezpieczenia.
  • Implementacja workflow (8). @MailSend .
    • [IncludeDocLink]
      • Dodaje łącze (link) do dokumentu.
    • [Sign]
      • Podpisuje cyfrowo wiadomość pocztową.
    • [Encrypt]
      • Szyfruje wiadomość pocztową za pomocą kluczy publicznych adresatów. Tylko oni mogą odszyfrować wiadomość.
    • [PriorityHigh]
      • Powoduje, że wiadomość jest wysyłana natychmiast (ważne, gdy jest kilka serwerów w organizacji).
    • [ReturnReceipt]
      • Wymaga potwierdzenia przeczytania wiadomości.
  • Implementacja workflow (9). Przykład .
    • Przykład może być następujący:
    • @MailSend (&quot;David Lee/&quot;;&quot;&quot;;&quot;Joseph Smith/Support&quot;;&quot;Status Report&quot;; &quot;Sorry it's late!&quot;; &quot;STATUS&quot;:&quot;PLANS&quot;; [SIGN] : [DELIVERYREPORTCONFIRMED] : [RETURNRECEIPT])
  • Implementacja workflow (10). Przykład .
    • W poniższym przykładzie wysyłany jest mail do Kierownika departamentu:
      • sendto := ManagerName;
      • copy := NULL;
      • bcc := NULL;
      • subject := &quot;Nowy wniosek oczekuje na akceptację&quot;;
      • bodytext := &quot;Nowy wniosek urlopowy został wysłany. Aby go otworzyć kliknij ten link - &quot;;
      • bodyfields := NULL;
      • flags := [IncludeDoclink];
      • @MailSend(sendto;copy;bcc;subject;bodytext;bodyfields;flags)
  • Implementacja workflow (11). Przykład .
    • W tym przypadku Manager zmienia status wniosku urlopowego i przesyła poczta informacje o przejrzeniu dokumentu:
    • sendto := RequestedBy;
    • copy := NULL;
    • bcc := NULL;
    • subject := &quot;Wniosek o urlop został zaktualizowany&quot;;
    • bodytext := &quot;Twój wniosek o urlop został przejrzany przez Kierownika. Aby go obejrzeć kliknij link: &quot;;
    • bodyfields := NULL;
    • flags := [IncludeDoclink];
    • @MailSend(sendto;copy;bcc;subject;bodytext;bodyfields;flags)
  • Filmy demonstracyjne (9)
    • Przykład zastosowania funkcji @DbColumn do wyświetlania danych.
    • Przykład zastosowania funkcji @DbLookup do znajdowania danych.
    • Zasada działania opcji Present mail send dialog (gdy nie ma pola SendTo ).
    • Zasada działania opcji Present mail send dialog (gdy JEST pole SendTo ).
    • Zasada działania funkcji @MailSend z parametrami.
  • Ćwiczenie 9
    • Implementacja prostego obiegu dokumentów
  • Widoki oraz nawigacja w aplikacji Domino Widoki kategoryzowane, wyświetlanie odpowiedzi w widokach.
  • Rozszerzanie możliwości widoków (1). Widok domyślny.
    • Projektant może zdefiniować widok domyślny w aplikacji.
    • Po wybraniu tej opcji, wszystkie inne widoki będą podobne do domyślnego widoku.
  • Rozszerzanie możliwości widoków (2)
    • Pierwszy widok w aplikacji można zastosować do utworzenia następnych widoków, zmodyfikować je.
    • Aby utworzyć nowy widok w oparciu o już istniejący:
      • Otworzyć listę widoków w Domino Designer.
      • Kliknąć przycisk New View .
      • Podać nazwę widoku oraz jego typ.
      • Kliknąć przycisk Copy from…
      • Wybrać nazwę kopiowanego widoku i kliknąć OK .
  • Rozszerzanie możliwości widoków (3). Widoki kategoryzowane.
    • Aplikacja zwykle zawiera wiele rodzajów dokumentów. Warto je więc odpowiednio pogrupować w widokach (za pomocą tzw. kategorii).
    • Kolumny kategorii:
      • Pierwsza kolumna w widoku.
      • Mają szerokość = 1 .
      • Nie mają tytułu.
      • Wyświetlają „twistie”.
    • W widoku kategoryzowanym kolumna kategorii zwykle ma większą i pogrubioną czcionkę (dla odróżnienia).
  • Rozszerzanie możliwości widoków (4). Widoki kategoryzowane.
    • Aby utworzyć kolumnę kategorii:
      • Zaznaczyć kolumnę, której zawartość ma być kategoryzowana. Można dodać nową kolumnę.
      • We właściwościach kolumny ustawić width = 1 . Nagłówek pozostawić bez nazwy.
      • Zaznaczyć opcję Show twistie when row is expandable .
      • Kliknąć zakładkę Sorting i zaznaczyć typ Categorized . Można zdefiniować sposób sortowania.
      • Dla kolumny zdefiniować wartości do wyświetlania (pole, formułę).
      • Odświeżyć widok, sformatować kategorię.
      • Zapisać zmiany.
  • Rozszerzanie możliwości widoków (5). Dokumenty odpowiedzi (kolumny).
    • Tworząc dokumenty typu odpowiedź ( response form ) projektant musi zadbać o ich poprawny sposób wyświetlania:
      • Dokumenty odpowiedzi widoczne są pod dokumentem głównym (lekkie wcięcie).
    • Projektant musi dodać nową kolumnę, zawierającą dokumenty odpowiedzi.
  • Rozszerzanie możliwości widoków (6). Dokumenty odpowiedzi (kolumny).
    • Kolumny odpowiedzi ( responses only ):
      • Szerokość = 1.
      • Nie mają tytułu.
      • Znajdują się po kolumnie z kategorią, ale przed pierwszą kolumną z danymi.
      • Wyświetlają wszystkie dokumenty odpowiedzi ( Response , Response to Response ).
      • Mogą wyświetlać „ Twistie ”.
      • Są dobrym wyborem dla kolumn typu Shared .
  • Rozszerzanie możliwości widoków (7). Dokumenty odpowiedzi (kolumny).
    • Aby dodać kolumnę wyświetlającą tylko odpowiedzi:
      • Otworzyć żądany widok i dodać nową kolumnę.
      • Ustawić szerokość kolumny = 1.
      • Opcjonalnie można podać nazwę kolumny, ale warto zaznaczyć opcję Do not display title in column header .
      • We właściwościach kolumny zaznaczyć opcję Show responses only oraz Show twistie when row is expandable .
      • Dla kolumny zdefiniować wartości do wyświetlania (pole, formułę) i zapisać zmiany.
      • Uwaga: We właściwościach widoku znajduje się opcja Show response documents in a hierarchy . Ona odpowiada za wyświetlanie dokumentów w hierarchii.
  • Rozszerzanie możliwości widoków (8). Widoki selektywne.
    • Widoki mogą wyświetlać dokumenty w sposób selektywny.
    • Projektant może utworzyć widok selektywny za pomocą „wbudowanych” warunków wyboru.
    • Aby utworzyć widok selektywny:
      • W Domino Designer wyświetlić listę widoków.
      • Kliknąć przycisk New View (można utworzyć na podstawie już istniejącego).
      • Podać nazwę tworzonego widoku.
      • Kliknąć przycisk Add Condition , dodać odpowiednie warunki i zatwierdzić je.
      • Kliknąć przycisk OK .
  • Rozszerzanie możliwości widoków (9). Widoki selektywne.
    • Wbudowane warunki selekcji dokumentów są następujące:
      • By Author : nazwa autora dokumentu ( contains , does not contain ).
      • By Date : data utworzenie lub modyfikacji dokumentu.
      • By Field : zawartość pola w dokumencie. Podany w wyrażeniu tekst jest tzw. case-sensitive (zależy od wielkości znaków).
      • By Form : według formularza oraz pola w formularzu.
      • By Form Used : według formularza.
  • Rozszerzanie możliwości widoków (10). Widoki selektywne.
    • Warunki selekcji dokumentów mogą być dodane do już istniejącego widoku:
      • Otworzyć żądany widok.
      • W panelu Programmer’s Pane , na zakładce Objects wybrać opcję View Selection , a następnie wybrać Simple Search .
      • Kliknąć przycisk Add Condition , dodać warunki i zatwierdzić zmiany.
  • Rozszerzanie możliwości widoków (11). Formuły selekcji.
    • Zamiast wykorzystywać wbudowane wyrażenia selekcji, Projektant może napisać odpowiednią formułę selekcji:
    • Formuła selekcji wykorzystuje słowo kluczowe SELECT. , skłądnia jest następująca:
      • SELECT condition formula
    • Formuła selekcji jest bardziej rozbudowana niż „wbudowane” wyrażenia selekcji.
    • Przykład: poniższa formuła w widoku wyświetla dokumenty, w których wartość pola Price =>100 (większa, równa 100) i pole Shipping ma wartość Overnight lub Second Day .
      • SELECT Price => 100 & Shipping = “Overnight” : “Second Day”
  • Rozszerzanie możliwości widoków (12). Formuły selekcji.
    • Aby zdefiniować wyrażenie selekcji dla widoku:
      • Kliknąć przycisk New View .
      • Wpisać nazwę dla tworzonego widoku.
      • Kliknąć opcję Select by formula i wpisać formułę selekcji.
      • Kliknąć OK . i zapisać widok.
    • Aby zdefiniować wyrażenie selekcji dla widoku:
      • Otworzyć widok.
      • W panelu Programmer’s Pane wybrać opcję View Selection .
      • Wpisać wyrażenie selekcji, zapisać zmiany w widoku.
  • Rozszerzanie możliwości widoków (12). Odpowiedzi w widokach selektywnych.
    • Tworząc formuły selekcji widoków zdarza się, że nie obejmują one dokumentów odpowiedzi.
    • Na przykład w wyrażeniu:
      • SELECT DepartmentName = “HR”
    • Występuje pole, którego nie ma w dokumentach odpowiedzi. Dokumenty odpowiedzi nie będą wyświetlane.
  • Rozszerzanie możliwości widoków (13). Odpowiedzi w widokach selektywnych.
    • Aby w widoku selektywnym znalazły się również dokumenty odpowiedzi dodajemy funkcję @AllChildren , która odpowiada za wyświetlanie odpowiedzi na dokumenty główne (response):
      • SELECT Department = “HR” | @AllChildren
    • Stosując funkcję @AllDescendants wyświetlimy wszystkie powiązane z dokumentem głównym odpowiedzi (response, response to response).
      • SELECT Department = “HR” | @AllDescendants
    • Funkcja @IsResponseDoc wyświetli dokumenty typu Response :
        • SELECT Department = “HR” | @IsResponseDoc
  • Rozszerzanie możliwości widoków (14). Widok Deleted documents .
    • Specjalnym rodzajem widoków są widoki przechowujące dokumenty usunięte ( “soft” deleted ).
    • Dokumenty te mogą zostać przywrócone z widoku za pomocą odpowiedniej @ Funkcji .
    • Ten typ widoku wymaga od jej manager ustawienia opcji Allow soft deletions , która znajduje się w zaawansowanych właściwościach aplikacji .
    • Opcja Allow soft deletions pozwala na „pozostawienie” dokumentów w bazie danych przez zadaną liczbę godzin. Po upływie tego czasu są automatycznie usuwane z aplikacji.
    • Uwaga : Jeśli czas ustawimy na 0 to nigdy dokumenty nie zostaną automatycznie usunięte.
  • Rozszerzanie możliwości widoków (15). Widok Deleted documents .
    • Do przywracania dokumentów z tego rodzaju widoków można zastosować jedną z następujących funkcji:
      • @Command([EditRestoreDocument]) – komenda, która odzyska wszystkie zaznaczone dokumenty z widoku typu soft delete .
      • @UndeleteDocument – ta funkcja odzyskuje tylko pojedyncze dokumenty z widoku soft delete .
    • Projektant aplikacji może również dodać czynność usuwającą dokumenty w sposób natychmiastowy:
      • @Command([EditClear])
  • Rozszerzanie możliwości widoków (16). Widok Deleted documents .
    • Aby utworzyć widok soft delete :
      • Otworzyć zaawansowane właściwości aplikacji.
      • Zaznaczyć opcję Allow soft deletions i zdefiniować wartość w polu $Undelete Expire Time (in hours) .
      • W Domino Designer otworzyć listę widoków, kliknąć przycisk New View .
      • Podać nazwę widoku i wybrać typ: Shared, contains deleted documents .
      • Kliknąć OK , otworzyć widok w oknie projektu.
      • Zdefiniować widok (ograniczeniem jest brak możliwości odświeżania tego widoku podczas projektowania).
      • Dodać przyciski czynności, które pozwolą na odzyskanie dokumentów, oraz ich usunięcie.
      • Zapisać zmiany, zamknąć okno widoku.
  • Filmy demonstracyjne (10)
    • Definiowanie domyślnego widoku dla aplikacji.
    • Tworzenie nowego widoku na bazie już istniejącego (Copy From).
    • Tworzenie widoku kategoryzowanego (kolumna kategorii).
    • Dodawanie do widoku kolumny „odpowiedzi”. Wyświetlanie dokumentów w hierarchii.
    • Tworzenie widoków selektywnych, wyrażenia selekcji.
    • Tworzenie widoku KOSZ (Soft Delete).
    • Dodawanie przycisków czynności do widoku KOSZ.
    • Zasada działania KOSZ-a.
  • Ćwiczenie 10
    • Tworzenie nowych widoków w aplikacji FREETIME
  • Widoki oraz nawigacja w aplikacji Domino Właściwości widoków
  • Właściwości widoków (1).
    • Jak każde inne elementy, także widok ma swoje właściwości, dostępne w oknie właściwości:
      • View Info : podstawowe informacje o projektowanym widoku, nazwa widoku oraz jej alias.
      • Options : Zachowania widoku, na przykład opcje odświeżania widoku.
      • Style : Ustawienia wyglądu widoku (np. kolory wierszy, tło widoku).
      • Launch : Opcje uruchamiania (tylko dla WWW).
      • Advanced : Kontrola indeksu widoku, zarządzanie znacznikami „nieprzeczytania” dokumentów.
      • Security : Kontrola dostępu do widoku.
  • Właściwości widoków (2). View Info .
    • Na zakładce View Info znajdują się następując e ustawienia:
      • Name: nazwa projektowanego formularza.
      • Alias : Alias nazwy formularza, który jest nadawany przez Projektanta. Alias może być używany w formułach Notes.
      • Comment : komentarz, głównie do celów informacyjnych.
      • Style : W Notes mogą być dwa style widoków:
        • Standard Outline – dokumenty są przedstawiane w wierszach i kolumnach, jak to omówiono wcześniej.
        • Calendar – widok kalendarza. Widok ten wymaga, aby pierwsza kolumna zawierała datę i była posortowana rosnąco.
  • Właściwości widoków (3). View Options .
    • Zakładka View oferuje następujące opcje:
      • Default when database is first opened – domyślny widok, który otwiera się, gdy użytkownik otwiera bazę pierwszy raz.
      • Default design for new folders and views – jako domyślny projekt dla nowych widoków i folderów w aplikacji.
      • Collapse all when database is first opened – domyślnie „zamknięte” kategorie w widoku.
      • Show response documents in a hierarchy – wyświetla dokumenty odpowiedzi w hierarchii.
      • Show in View menu – wyświetla nazwę widoku w menu View .
      • Allow customizations – pozwala na dostosowanie widoku przez użytkowników.
      • Evaluate actions for every document change – „wykonuje” wszystkie czynności widoku, gdy jest otwierany. Jest to przydatne, gdy chcemy wykonywać czynności, gdy tylko pojawi się nowy dokument.
        • UWAGA : Opcja taka bardzo obciąża wydajność aplikacji.
      • Create new documents at view level – daje możliwość tworzenia nowych dokumentów z poziomu dokumentów.
  • Właściwości widoków (4). View Options .
    • Opcje On Open umożliwiają kontrolę nad sposobem otwarcia widoku przez użytkownika:
      • Go to the last opened document – przechodzi do ostatnio otwartego dokumentu.
      • Go to the top row – przechodzi do pierwszego wiersza w widoku.
      • Go to the bottom row - przechodzi do ostatniego wiersza w widoku.
    • Opcje On Refresh kontrolują zachowanie widoku w momencie dodania nowych dokumentów do aplikacji.
      • Display indicator – zmiany w widoku nie zachodzą automatycznie. Pojawia się tylko ikona odświeżania.
      • Refresh display - odświeża widok automatycznie.
      • Refresh display from top row – odświeża począwszy od górnego wiersza. Przydatne, gdy dokumenty są posortowane i użytkownik ogląda tylko te „na górze”.
      • Refresh display from bottom row - odświeża począwszy od dolnego wiersza. Przydatne, gdy dokumenty są posortowane i użytkownik ogląda tylko te „na dole”.
  • Właściwości widoków (5). View Style .
    • Na zakładce View Style znajdują się opcję związane z formatowaniem wyglądu widoku:
      • Body - wyświetlanie wiersza, tła widoku.
      • Grid - umożliwia tworzenie siatki w projektowanym widoku.
      • Header - kontrola nagłówka widoku, na przykład styl nagłówków kolumn w widoku.
      • Rows – formatowanie wysokości wierszy, znaczników nieprzeczytania dokumentów.
      • Other – ukrywa / pokazuje margines wyboru (po lewej stronie w widoku).
      • Margin - umożliwia dodanie marginesów w widoku.
  • Właściwości widoków (6). Launch .
    • Opcje dla przeglądarki WWW:
      • Frameset – pozwala na podanie układu ramek ( frameset ), w którym będzie otwierał się dany widok lub folder.
      • Frame – można także podać, w której ramce ( frame ) będzie się otwierał widok lub folder.
  • Właściwości widoków (7). Advanced .
    • Zakładka Advanced zawiera opcje związane z indeksem widoku (wewnętrzny, w aplikacji, indeks widoków).
      • Uwaga : zadanie Update ( updall ) odpowiada za zarządzanie indeksami widoków.
    • Indeks widoku ma także wpływ na wydajność aplikacji i jej rozmiar na serwerze:
      • Refresh index – odświeża indeks widoku.
      • Discard index – pomija indeks widoku.
  • Właściwości widoków (8). Advanced .
    • Opcja Refresh Index :
      • Auto, after first use - aktualizacja widoku za każdym razem, gdy użytkownik otwiera widok (opcja domyślna).
      • Automatic – aktualizuje się zawsze. Użycie tej opcji powoduje, że widok otwiera się szybciej. Opcję można zastosować do widoków używanych dość często, bez formuł zależnych od czasu.
      • Manual – wymaga od użytkownika odświeżenia za pomocą klawisza F9 .
      • Auto, at most every __ hours – aktualizacja automatyczna, według zdefiniowanego interwału. Opcja dobra dla dużych aplikacji.
    • Opcja Discard Index :
      • After each use – usuwa indeks zaraz po zamknięciu bazy danych przez użytkownika. Zmniejsza zajętość na dysku, ale wymaga utworzenia indeksu „od początku”.
      • If inactive for 45 days – usuwa indeks widoku, gdy widok nie jest używany przez 45 dni. Domino przebudowuje indeks, gdy użytkownik otworzy widok.
      • Never - Trwale zachowuje indeks widoku i dodaje uaktualnienia.
  • Właściwości widoków (9). Advanced .
    • Unread marks - domyślnie aplikacja zarządza znacznikami „nieprzeczytania” dla każdego użytkownika, ale nie są one automatycznie wyświetlane w widoku:
      • None – nie wyświetla znaczników.
      • Unread Documents Only – wyświetla znaczniki nieprzeczytania dla dokumentów (głównych i odpowiedzi). Znaczniki nie pojawiają się dla „zwiniętych” kategorii w widoku.
      • Standard (compute in hierarchy) - wyświetla znaczniki nieprzeczytania dla dokumentów (głównych i odpowiedzi). Znaczniki pojawiają się dla „zwiniętych” kategorii w widoku.
  • Właściwości widoków (10). Advanced .
    • Web Access :
      • Treat view contents as HTML – projektując aplikację dla WWW można sformatować jej wygląd za pomocą HTML w formułach kolumn. Użycie tej opcji pozwala „zastąpić” standard oferowany przez Notes.
      • Use applet in the browser – pozwala na zastosowanie predefiniowanego apletu Java, z wyglądu podobnego do klienta Notes.
      • Link Color Selection – definiuje kolorystykę linków (łączy).
  • Właściwości widoków (11). Security .
    • Zakładka Security pozwala na dodanie restrykcji w dostępie do widoku (dodawane do ACL):
      • Domyślnie wszyscy mają dostęp do widoku (poziom dostępu ACL – Reader do Manager ).
      • Aby nadać osobiste prawa dostępu należy odznaczyć opcję All readers and above , a następnie zaznaczyć osoby, serwery, grupy lub role.
      • Opcja Available to Public Access Users daje możliwość użytkownikom z prawem No Access lub Depositor dostęp do „publicznych dokumentów”.
  • Filmy demonstracyjne (11)
  • Ćwiczenie 11
    • Formatowanie widoków w aplikacji
  • Widoki oraz nawigacja w aplikacji Domino Struktury ( Outlines ), strony ( Pages ), układy ramek ( Framesets ).
  • Sposoby nawigacji w aplikacji (1)
    • Projektant aplikacji ma do dyspozycji róznorodne elementy, które pozwalają zaprojektować nawigację dla użytkownika:
      • Widoki ( Views ).
      • Struktury ( Outlines ).
      • Układy ramek ( Framesets ).
      • Strony ( Pages ).
      • Mapy obrazkowe ( Image maps )
      • Nawigatory (Navigators) – nie są zalecane .
    • Uwaga : Strony nie są elementami nawigacyjnymi, ale stosuje się je w różnych zestawieniach, na przykład z układami ramek.
  • Sposoby nawigacji w aplikacji (2). Nawigatory (Navigators) .
    • Nawigatory były popularne w wersji 4 platformy. Obecnie już się ich nie stosuje.
  • Sposoby nawigacji w aplikacji (3). Strony (Pages) .
    • Strona ( page ) jest podobnym elementem projektowym do formularza. Podobnie jak formularz, jest stosowana do wyświetlania informacji dla użytkownika. Strona może zawierać grafikę, tekst, linki, czynności oraz inne elementy projektu.
    • Strony, w przeciwieństwie do formularzy, nie mogą zawierać pól i nie mogą być zastosowane do zbierania informacji od użytkownika. Są tylko przeglądane przez użytkowników.
    • Uwaga : Strona nie pojawia się w żadnym menu, projektant aplikacji musi więc zadbać o sposób dotarcia do strony przez użytkownika:
      • Przycisk czynności z formułą @Command([OpenPage]; “PageName”) .
      • Wpis w strukturze ( outline ).
      • Link do elementu strony w układzie ramek ( frameset ).
    • Wszystkie sposoby działają w Notes i WWW.
    • Dodatkowo, gdy aplikację otwieramy przez WWW dostępna jest opcja Open designated page .
  • Sposoby nawigacji w aplikacji (4). Strony (Pages) .
    • Aby utworzyć nową stronę:
      • W Domino Designer wybrać listę stron ( Pages ).
      • Kliknąć przycisk New Page .
      • Dodać tekst, grafikę, sekcje – według potrzeby.
      • Zdefiniować właściwości dla strony.
      • Zapisać i zamknąć stronę.
      • Zaprojektować mechanizm „dotarcia” do strony przez użytkownika.
  • Sposoby nawigacji w aplikacji (5). Struktury (Outlines) .
    • Struktury odpowiadają za nawigację w projektowanej aplikacji. Może ona zawierać łącza do widoków, adresów URL oraz innych elementów aplikacji.
    • Wpisy w strukturze można zaprogramować, aby ich kliknięcie kierowało użytkownika w żądane miejsce (strony, tworzenie dokumentu, formularzy, URL, widoków i innych elementów aplikacji).
    • Uwaga : Można utworzyć strukturę, która dotyczyć będzie części lub całości aplikacji.
    • Utworzona strukturę należy zagnieździć ( embeded outline ) na stronie lub formularzu.
    • Taką zagnieżdżoną strukturę można w miarę swobodnie formatować.
    • Kolejność wpisów w strukturze można zmieniać, na przykład za pomocą „drag & drop”.
    • Podczas tworzenia struktury można użyć Generate Default Outline . Tworzona jest wówczas struktura dla wszystkich widoków i folderów w aplikacji.
  • Sposoby nawigacji w aplikacji (6). Struktury (Outlines) .
    • Aby utworzyć nową strukturę:
      • Kliknąć przycisk N ew O utline . Panel roboczy pokazuje nazwę aplikacji.
      • Kliknąć przycisk New Entry , otworzy się okno właściwości.
      • Podać nazwę dla wpisu w strukturze.
      • Przypisać zawartość ( Content ) do tworzonego wpisu (np. widok).
      • Zapisać i zamknąć dokument.
  • Sposoby nawigacji w aplikacji (7). Struktury (Outlines) .
    • Aby utworzyć domyślną strukturę:
      • Kliknąć przycisk N ew O utline . Panel roboczy pokazuje nazwę aplikacji.
      • Kliknąć przycisk Generate Default Outline . Tworzona jest wówczas struktura dla wszystkich widoków i folderów w aplikacji.
      • Zmodyfikować opcjonalnie wpisy w strukturze.
      • Zapisać i zamknąć dokument.
  • Sposoby nawigacji w aplikacji (8). Embeded Outline .
    • Przed użyciem struktury, należy ją zagnieździć na stronie lub w formularzu.
    • Aby zagnieździć strukturę:
      • Otworzyć stronę lub formularz.
      • Z menu wybrać Create -> Embedded Element -> Outline.
      • Wybrać strukturę do zagnieżdżenia.
      • Kliknąć OK.
    • Aby przetestować zagnieżdżoną strukturę należy kliknąć przycisk Use Outline . Automatycznie zostanie utworzona nowa strona z wbudowaną strukturą.
  • Sposoby nawigacji w aplikacji (9). Embeded Outline .
    • Projektant ma możliwość kontrolowania zagnieżdżonego elementu za pomocą jego właściwości:
      • Kliknąć na elemencie prawym klawiszem myszy i wybrać Outline Properties .
      • Podać nazwę zagnieżdżonego elementu, zdefiniować właściwości.
      • Zapisać zmiany i zamknąć dokument.
  • Sposoby nawigacji w aplikacji (10). Embeded Outline .
    • Name – nazwa zagnieżdżonego elementu, może być inna niż samego elementu.
    • Type – możliwość wyboru pomiędzy widokiem z „sekcjami” ( Tree Style ) lub widokiem „płaskim” ( Flat Style ).
    • Title Style - Hide lub Simple . Znaczenie ma to, gdy wybrano typ Flat Style . W takim przypadku aby umożliwić użytkownikowi powrót z gałęzi struktury, należy zastosować opcję Simple . Opcja Hide nie wyświetla żadnej hierarchii struktury.
    • Target Frame – możliwość sterowania, w której ramce zostanie wyświetlony element aplikacji. Ma to sens wtedy, gdy zagnieżdżony element jest wyświetlany w układzie ramek.
  • Sposoby nawigacji w aplikacji (11). Embeded Outline Info .
    • Root Entry – możliwość zdefiniowania elementu wyjściowego dla struktury. Pokazywany jest wtedy podany wpis oraz jego „dzieci”.
    • Outline Size – kontrola rozmiaru zagnieżdżonego elementu.
    • Web Access - sposób wyświetlania struktury przez przeglądarkę WWW.
  • Sposoby nawigacji w aplikacji (12). Embeded Outline Font .
    • Zakładka Embeded Outline Font umożliwia formatowanie wpisów w zagnieżdżonej strukturze:
      • Title Font – czcionka tytułu aplikacji w strukturze.
      • Top-Level Font – czcionka i jej format dla głównych poziomów struktury.
      • Sub-Level Font - czcionka i jej format dla pozostałych wpisów poziomów struktury.
      • Normal - czcionka dla tekstu początkowego, po otwarciu struktury przez użytkownika.
      • Selected – czcionka i jej kolor dla wybranego wpisu w strukturze.
      • Moused – czcionka i jej kolor dla tekstu, nad którym znajduje się kursor myszy.
  • Sposoby nawigacji w aplikacji (13). Embeded Outline Background .
    • Control Background – pozwala na zdefiniowanie tła zagnieżdżonego elementu. Można zastosować kolor (Notes, WWW) oraz grafikę (WWW z włączoną obsługą JavaApplet).
    • Nie jest zalecane używanie animowanych GIF-ów.
    • Pozostałe opcje pozwalają na zdefiniowanie tła:
      • Title Background – kolor tła dla tytułu aplikacji w strukturze (jeśli wybrano typ Simple ).
      • Top-Level Background – pozwala na zdefiniowanie osobnego tła dla głównych wpisów struktury .
      • Sub-Level Background - pozwala na zdefiniowanie osobnego tła dla pozostałych wpisów struktury .
  • Sposoby nawigacji w aplikacji (14). Embeded Outline Layout .
    • Entry - rozmiar wpisu w strukturze.
    • Entry Label – rozmiar nazwy wpisy w strukturze.
    • Entry Image – opcje wyrównania obrazków we wpisach struktury.
  • Sposoby nawigacji w aplikacji (15). Przykład.
  • Sposoby nawigacji w aplikacji (15). Framesets .
    • F rameset - jest zbiorem ramek, które można dodać do aplikacji.
    • Frame – ramka, która jest częścią całości, czyli układu ramek ( frameset ).
    • Pojedyncza ramka może zawierać form ukarz, folder, stronę, dokument lub inny element (także adres URL).
    • Układ ramek jest zwykle używany do ujednolicenia nawigacji w projektowanej aplikacji (Notes, WWW).
  • Sposoby nawigacji w aplikacji (16). Framesets .
    • Jeśli aplikacja korzysta z układu ramek, Projektant musi zdefiniować sposób ich wyświetlania dla użytkownika:.
      • Właściwość aplikacji Open designated frameset .
      • Opcja Auto Frame dla strony lub formularza.
      • @Command( [OpenFrameset] ; FramesetName)
    • Pierwszy sposób (opcja Open designated frameset ) jest najczęściej wybieranym i jednocześnie najprostszym sposobem wyświetlania układu ramek.
  • Sposoby nawigacji w aplikacji (17). Framesets (Frames) .
    • Każda ramka, jak i sam układ ramek powinien mieć swoja nazwę.
    • Nazwy ramek są używane w formułach, jak i podczas definiowania docelowych ramek dla elementów projektu (wpisy w strukturze, czynności).
    • T arget frame – określa, gdzie element projektu zostanie wyświetlony.
    • Można także zdefiniować domyślną ramkę dla wszystkich łączy w ramce.
  • Sposoby nawigacji w aplikacji (18). Framesets (Frames) .
    • Aby utworzyć układ ramek:
      • W Domino Designer wybrać Framesets .
      • Kliknąć przycisk New Frameset .
      • Zdefiniować układ i ilość ramek.
      • Kliknąć przycisk OK .
    • Można później zmienić układ ramek oraz ich ilość za pomocą dostępnych przycisków czynności.
  • Sposoby nawigacji w aplikacji (19). Framesets (Frames) .
    • Do pojedynczej ramki można dodać zawartość:
      • URL
      • Link
      • Named Element (np. widok w aplikacji).
    • Aby dodać zawartość do ramki :
      • W ramce kliknąć prawym klawiszem myszy i wybrać Frame Properties .
      • Podać nazwę ramki.
      • Wybrać zawartość ramki, na przykład Page .
      • Opcjonalnie podać domyślną docelową ramkę dla wszystkich linków w wybranej ramce.
  • Sposoby nawigacji w aplikacji (20). Framesets (Frames) .
  • Sposoby nawigacji w aplikacji (18). Framesets .
  • Filmy demonstracyjne (12)
  • Ćwiczenie 12
    • Elementy nawigacji w aplikacji Domino
  • Automatyzacja zadań oraz bezpieczeństwo Zastosowanie agentów do automatyzacji zadań ( Agents )
  • Zastosowanie agentów (1).
    • Agent y ( agents ) służą do automatyzacji zadań w aplikacji Domino. Są to niewielkie programy wykonujące czynności – mogą być uruchamiane przez użytkownika lub według zdefiniowanego harmonogramu:
      • Wywołanie ( trigger ) – kiedy agent jest uruchamiany.
      • Zakres ( scope ) – na których dokumentach agent ma działać.
      • Czynność (action) – co agent ma wykonać.
    • Agent może być prosty (np. przenoszenie dokumentów do folderu), ale może być skomplikowany (program Java, wykonujący wiele operacji, co pewien czas).
    • Typy agentów:
      • Shared (wspólny) – uruchamiany przez inne osoby.
      • P rivate (prywatny) - uruchamiany przez twórcę.
  • Zastosowanie agentów (2).
    • Agentów można używać jedynie dla aplikacji lub wszystkich aplikacji w domenie.
    • Agenty można dostosować do wielu potrzeb:
      • może zostać uruchomiony przez użytkowników lub automatycznie w tle jako agent zaplanowany.
      • nie jest związany z określonym elementem projektowania, takim jak formułą lub widokiem.
      • może zostać uruchomiony na określonym serwerze, na kilku serwerach, na kliencie Notes lub WWW.
      • może wywoływać innych agentów.
      • może zostać rozprowadzony łatwo, poprzez zwykłe kopiowanie.
    • Agentów można zaprogramować za pomocą następujących narzędzi:
      • Proste czynności ( Simple actions ).
      • Język formuł ( Notes formula language ).
      • Język LotusScript.
      • Język Java.
      • Zaimportowana Java ( Imported Java ).
  • Zastosowanie agentów (3). Przykład.
  • Zastosowanie agentów (4). Lista agentów.
  • Zastosowanie agentów (5). Agent Triggers .
    • Przed utworzeniem agenta Projektant musi zdefiniować sposób jego uruchamiania. Przyczyną wywołania agenta może być zdarzenie ( on event ) lub harmonogram ( on schedule ):
      • Action menu selection - agent zostanie uruchomiony, gdy użytkownik wywoła go z menu Czynności ( Actions ). Zwykle uruchamia on inne agenty w tle.
      • Agent list selection – opcja, która jest zwyczajowo przeznaczona dla agentów wywoływanych przez inne lub dla agentów będących w fazie projektowania.
      • Before new mail arrives – obróbka wiadomości pocztowych, zanim pojawią się w skrzynce pocztowej użytkownika (na przykład do przenoszenia poczty do folderu).
      • After new mail has arrived – obróbka przychodzącej poczty, na przykład odpowiadanie na pocztę przychodzącą, przesyłanie do innych adresatów.
      • After documents are created or modified – dla zadań przepływu dokumentów (nowe i zmodyfikowane dokumenty).
      • When documents are pasted – dla dokumentów, które są wklejane do aplikacji i wymagają modyfikacji po ich wklejeniu.
  • Zastosowanie agentów (6). Agent Triggers .
    • Agenty uruchamiane według harmonogramu ( on Schedule ):
      • Kilka razy dziennie dla aplikacji o wysokim priorytecie (ważne aplikacje biznesowe) oraz dla aplikacji, które są replikowane dość często w domenie:
        • Daily - uruchamiane raz dziennie, o określonej godzinie.
        • Weekly – uruchamiane raz w tygodniu.
        • Monthly - uruchamiane raz w miesiącu.
        • Never – dla agentów uruchamianych przez inne agenty.
  • Zastosowanie agentów (7). Agent Scope .
    • Zakres określa, które dokumenty mają być procesowane przez agenta. Jest to odpowiedź na pytanie „Na których dokumentach działamy?”. Dostępne są następujące możliwości, między innymi
      • All documents in database – dla wszystkich dokumentów w aplikacji.
      • All documents in a view – dla wszystkich dokumentów w widoku.
      • All new and modified documents (since last run) – dla wszystkich nowych dokumentów, które pojawiły się od ostatniego uruchomiania agenta.
      • All selected documents – dla zaznaczonych dokumentów.
      • All unread documents in a view – dla nieprzeczytanych dokumentów w widoku.
      • Run once (@Commands may be used) – uruchom jeden raz.
      • Newly modified documents – dla nowo zmodyfikowanych dokumentów.
      • Pasted documents – dla wklejonych dokumentów.
    • Dodatkowo można dodać formułę selekcji dokumentów, które mają być przerabiane przez agenta (panel Programmer’s pane ).
  • Zastosowanie agentów (8). WWW .
    • Agenci nie mogą być uruchamiani w przeglądarce WWW. Mogą być aktywowani przez przeglądarkę, ale agent uruchamia się na serwerze Domino.
      • Uruchomienie Manually From Agent List lub Manually From Action Menu .
      • Uruchomienie dla All documents in database lub Run once .
      • Run Agent as Web user we właściwościach agenta.
    • Aby aktywować agenta przez przeglądarkę stosuje się komendę ToolsRunMacro :
      • @Command([ToolsRunMacro]; “MacroName”).
    • Może być ona używana:
      • W przyciskach czynności ( action button ).
      • Punktach aktywnych ( hotspot ).
      • Zdarzeniu WebQuerySave dla formularza.
      • Zdarzeniu WebQueryOpen dla formularza.
    • Domyślnie, gdy użytkownik Web uruchamia agenta stosowane są prawa twórcy agenta, Domino sprawdza również jego prawa do aplikacji (ACL). Można jednak zdefiniować bezpieczeństwo tak, aby były sprawdzane prawa także innych osób.
  • Zastosowanie agentów (9). Tworzenie agentów.
    • Aby utworzyć agenta korzystającego z prostych czynności ( built-in simple actions ):
      • Kliknąć przycisk New Agent .
      • Podać nawę tworzonego agenta, ewentualnie komentarz.
      • Domyślnie jest to agent typu Shared , można zmienić jego typ według potrzeby na Private .
      • Wybrać sposób wywołania ( on event , on schedule ) .
      • Zdefiniować zakres działania agenta, (opcjonalnie) dodać kryteria selekcji.
      • Kliknąć Action w panelu obiektów, wybrać Simple action(s) .
      • Kliknąć Add Action i wybrać odpowiednią.
      • Zapisać i przetestować agenta.
  • Zastosowanie agentów (10). Tworzenie agentów.
    • Dostępne są, między innymi, następujące Simple Actions :
      • Copy to Database – kopiuje dokument do wybranej bazy danych.
      • Delete from Database – usuwa dokumenty z bazy danych.
      • Modify Field – modyfikuje pole w dokumentach.
      • Reply to Sender – odpowiada na nadchodzącą wiadomość pocztową.
      • Run Agent – uruchamia innego agenta.
      • @Function Formula – pozwala na użycie języka formuł.
    • Uwaga : Czynności te można ze sobą łączyć.
  • Zastosowanie agentów (11). Tworzenie agentów, zastosowanie Formula Language.
    • Aby utworzyć agenta korzystającego z języka formuł:
      • Kliknąć przycisk New Agent .
      • Podać nawę tworzonego agenta, ewentualnie komentarz.
      • Domyślnie jest to agent typu Shared , można zmienić jego typ według potrzeby na Private .
      • Wybrać sposób wywołania ( on event , on schedule ) .
      • Zdefiniować zakres działania agenta, (opcjonalnie) dodać kryteria selekcji.
      • Kliknąć Action w panelu obiektów, wybrać Simple action(s) .
      • Wpisać formułę.
      • Zapisać i przetestować agenta.
  • Zastosowanie agentów (12). Tworzenie agentów, zastosowanie Formula Language.
    • Język formuł Notes jest dość często stosowany do opisywania działania agentów w aplikacji.
    • Często używa się słów kluczowych SELECT oraz FIELD .
  • Zastosowanie agentów (13). Przykłady Formula Language.
    • Przykład 1
      • Formuła wybiera dokumenty, które mają wartość „ Personnel ” w polu DepartmentName . Zmienia tę wartość na „ Human Resources ” .
      • SELECT DepartmentName = “Personnel”;
      • FIELD DepartmentName := “Human Resources”
    • Przykład 2
      • Formuła wybiera dokumenty bazujące na formularzu “Request Form” . Następnie zmienia wartośc w polu form na “Time Off Request”.
      • SELECT Form = “Request Form”;
      • FIELD Form := “Time Off Request”
  • Zastosowanie agentów (14). Testowanie agentów.
    • Aby przetestować agenta przed uruchomieniem go w aplikacji produkcyjnej, Projektant ma następujące możliwości:
      • Zastosować polecenie Test .
      • Utworzyć testową kopię bazy danych.
    • Aby przetestować agenta:
      • W Domino Designer wybrać listę Agents .
      • Zaznaczyć agenta i wybrać polecenie Agent -> Test.
      • Wynikiem wykonania agenta będzie okno dialogowe Test Run Agent Log .
    • Uwaga : niektórzy agenci wymagają testowania bezpośrednio z poziomu widoku.
  • Zastosowanie agentów (15). Testowanie agentów.
    • Aby utworzyć kopię aplikacji:
      • Z menu wybrać File -> Database -> New Copy.
      • Aplikacja może zostać zapisana lokalnie. Niektóre agenty (obsługujące przychodzące dokumenty) wymagają uruchomienia na serwerze.
      • Utworzyć testowe dokumenty (np. wkleić je do aplikacji).
      • Uruchomić agenta.
      • Po testach skopiować dobrą wersję do produkcyjnej aplikacji.
  • Zastosowanie agentów (16). Agent Log .
    • Projektant ma możliwość sprawdzenie rejestru agenta.
    • Za każdym razem, gdy jest on uruchamiany, zapisywany jest raport:
      • Kiedy został uruchomiony?
      • Liczba dokumentów, które zostały przeprocesowane.
      • Wykonane czynności.
    • Aby obejrzeć rejestr agenta:
      • Zaznaczyć agenta na liście agentów.
      • Wybrać Agent -> Log .
  • Zastosowanie agentów (17). Agent Profiling .
    • Projektant aplikacji może „profilować” agentów w celu zbadania jego wydajności.
    • Profilowanie agenta pozwala na zebranie informacji dotyczących agenta, na przykład: czas potrzebny na jego wykonanie, typ wywołań agenta.
    • Rezultaty profilowania są przechowywane w dokumencie, bazującym na ukrytym formularzu $BEProfile .
    • Profilowanie agenta dotyczy klienta Notes oraz serwera WWW.
  • Zastosowanie agentów (18). Agent Profiling .
    • Aby włączyć profilowanie agenta:
      • Otworzyć agenta w środowisku Domino Designer .
      • Kliknąć w zakładkę Security, w oknie właściwości agenta.
      • Wybrać opcję Profile this agent .
      • Zapisać agenta i zamknąć okno.
  • Zastosowanie agentów (19). Agent Profiling .
    • Aby obejrzeć rejestr agenta:
      • Zaznaczyć agenta na liście.
      • Z menu wybrać Agent ->View Profile Results . Otwiera się raport dotyczący działania agenta.
  • Zastosowanie agentów (20). Agent Profiling .
    • Class – nazwa obiektu klasy obiektu Domino.
    • Method – nazwa metody wywołanej w Domino.
    • Operation – typ wykonanej operacji.
    • Calls – ilość wywołań metody.
    • Time – czas potrzebny na wykonanie (w milisekundach).
  • Zastosowanie agentów (21). Agent Security .
    • W dokumencie serwera Domino znajduje się zakładka Security , w której Administrator definiuje bezpieczeństwo serwera oraz prawa dostępu.
    • Zakładka Security zawiera pola, które kontrolują kto może uruchamiać agentów na serwerze Domino.
  • Zastosowanie agentów (22). Agent Security .
    • Run unrestricted methods and operations – mogą wykonywać wszystkie czynności agenta, włącznie z dostępem do zabezpieczeń systemu.
    • Osoby wymienione w tym polu są nazywane jako “unrestricted signers”.
  • Zastosowanie agentów (23). Agent Security .
    • Zakładka Security we właściwościach agenta zawiera opcję Run on behalf of . Podana tutaj nazwa użytkownika jest przechowywana w polu $OnBehalfOf , które widoczne jest we właściwościach dokumentu.
    • Opcja ta pozwala osobom podpisującym z odpowiednim prawem dostępu na zdefiniowanie w czyim imieniu będzie uruchamiany agent.
    • Oznacza to nazwę osoby, która będzie sprawdzana podczas autentykacji.
    • Użytkownik ten musi występować w ACL aplikacji.
    • Opcja ta jest dostępna dla agentów On Schedule (np. dla OutOfOffice w skrzynce pocztowej).
  • Zastosowanie agentów (24). Agent Security .
    • Chcą skorzystać z opisanej wcześniej opcji użytkownik musi występować w przynajmniej jednym polu:
      • Run unrestricted methods and operations w dokumencie serwera.
      • Access to sign agents to run on behalf of someone else w dokumencie serwera.
    • Opcja ma wiele zalet ale niezbyt dokładnie monitorowana może spowodować szkody. Generalnie kilka osób powinno mieć takie prawo.
    • Na przykład Projektant może utworzyć agenta w imieniu innego użytkownika (wysyłanie poczty). Poczta będzie przychodziła od osoby wymienionej w polu on behalf of , a nie od właściciela wiadomości pocztowej.
  • Zastosowanie agentów (25). Agent Security .
    • Aby utworzyć różnego rodzaju agentów należy mieć następujące prawa:
      • personal agents ( simple actions lub Notes formula ) – prawo dostępu Reader lub wyższe, z włączoną opcją Create personal agents .
      • personal agents (LotusScript, Java ) – prawo dostępu Reader lub wyższe, oraz włączona opcja Create personal agents i Create LotusScript/Java agents .
      • shared agents ( simple actions i Notes formula) – prawo dostępu Designer lub wyższe.
      • shared agents ( LotusScript , Java) – prawo dostępu Designer lub wyższe oraz włączona opcja Create LotusScript/Java agents .
  • Filmy demonstracyjne (13)
  • Ćwiczenie 13
    • Automatyzacja zadań w aplikacjach Domino
  • Automatyzacja zadań oraz bezpieczeństwo Definiowanie dostępu do baz danych (ACL)
  • System zabezpieczeń platformy Notes Domino
    • W platformie Lotus Notes Domino można wymienić następujące poziomy zabezpieczeń:
      • Domena systemu Lotus Notes Domino – związane z samym systemem operacyjnym
      • Serwer Lotus Domino – określenie, kto może korzystać z serwera Lotus Domino
      • Baza danych Domino – na podstawie ACL ( Access Control List )
      • Dokument w bazie danych Domino – „zwykły” dokument też może podlegać prawom dostępu
      • Formularz – można określić, kto może tworzyć dokumentu w oparciu o podany formularz
      • Pole na formularzu – pojedyncze pole na formularzu może podlegać szyfrowaniu. Tylko wybrane osoby będą mogły zobaczyć dane przechowywane w tym polu.
  • ACL - Access Control List (1)
    • Za zabezpieczenia dostępu do bazy danych odpowiada ACL ( Access Control List ):
      • Manager (Menedżer).
      • Designer (Projektant).
      • Editor (Redaktor).
      • Author (Autor).
      • Reader (Czytelnik).
      • Depositor (Deponent).
      • No Access (Brak dostępu).
  • ACL - Access Control List (2)
    • Osoby mające prawo dostępu Manager zarządzają listą ACL aplikacji.
    • Na etapie projektowania Projektant ma pełne prawa dostępu.
    • W środowisku produkcyjnym otrzymuje prawo dostępu Designer, które automatycznie odbiera możliwość nadawania praw innym osobom i zarządzaniem ACL.
    • ACL można uzupełnić za pomocą tzw. roli ( roles ). Role „odcinają” różne możliwości poszczególnych użytkowników aplikacji. Dobrym przykładem zastosowania ról jest katalog Domino (Domino Directory).
  • ACL - Access Control List (3). Manager . Każda baza danych powinna mieć jednego Menedżera. Manager ma prawo do zmiany ACL na bazie danych. Najlepiej jest przypisać dwóch użytkowników.
  • ACL - Access Control List (4). Designer . Osoba posiadająca poziom dostępu do bazy na poziomie Projektanta to zwykle osoba, która jest odpowiedzialna za projektowanie danej bazy danych (lub zastępca). Poziom ten pozwala również na tworzenie indeksu pełnotekstowego.
  • ACL - Access Control List (5). Editor . Przypisać należy poziom dostępu Redaktora osobie, zarządzającej wszystkimi dokumentami w bazie danych.
  • ACL - Access Control List (6). Author . Poziom dostępu Autora posiadają osoby, które mogą współtworzyć dokumenty, ale nie mogą edytować dokumentów utworzonych przez innych autorów.
  • ACL - Access Control List (7). Reader . Taki poziom dostępu do bazy nadaje się użytkownikom, którzy muszą czytać dokumenty a nie tworzyć je.
  • ACL - Access Control List (8). Depositor . Taki poziom pozwala na tworzenie i zapisanie dokumentu w bazie danych. Po zapisaniu dokumentu nie jest on widoczny dla użytkownika z ww. prawem dostępu. Ostatnim prawem dostępu jest No Access...
  • ACL - Access Control List (9). Role .
    • Rola pozwala projektantowi ograniczyć dostęp do pewnych elementów projektu,.
    • Rola jest podobna do grupy ale jest utworzona w bazie danych ACL, zaś grupa jest definiowana w Katalogu Domino. Rola odnosi się tylko do bazy danych, w której został a utworzon a .
    • Rola musi zostać utworzona , zanim zostanie przypisana do użytkownika.
  • ACL - Access Control List (10). Role .
    • Aby przypisać rolę do użytkownika lub grupy osób w ACL:
      • Otworzyć ACL dla bazy danych.
      • Wybrać osoby, grupę osób lub serwerów.
      • Zaznaczyć nazwę roli (kliknąć w okno opcji).
      • Kliknąć OK aby zaakceptować zmiany i zamknąć okno ACL.
  • ACL - Access Control List (11). Role i formuły sprawdzające .
    • Po utworzeniu roli i przypisaniu jej do użytkownika Projektant aplikacji może zdefiniować dostęp do wybranych elementów projektu.
    • Projektant ma do dyspozycji dwie funkcje, które służą do testowania ról użytkownika:
      • @UserRoles – zwraca listę tekstową ról przypisanych do użytkownika.
      • @UserNamesList – zwraca listę zawierającą nazwę użytkownika oraz role.
      • @IsMember - zwraca wartość True jeśli jest spełniony warunek.
      • @IsNotMember – sprawdza, czy użytkownik ma przypisaną rolę w ACL.
  • ACL - Access Control List (12). @UserRoles .
    • Funkcja @UserRoles zwraca listę ról przypisanych do użytkownika.
    • Funkcja @UserRoles jest zwykle stosowana w aplikacjach uruchamianych na serwerze Domino.
    • Gdy zastosujemy ją do bazy lokalnej zwrócona zostanie wartość (&quot;&quot;) , chyba że została zaznaczona opcja Enforce a consistent Access Control List across all replicas w zaawansowanych opcjach ACL.
    • Jest zwykle używana w połączeniu z funkcją @IsMember w celu identyfikacji przypisanej roli do użytkownika.
      • @IsMember( TextList1 ; TextList2 )
    • Funkcja @IsMember zwraca wartość True jeśli jest spełniony warunek.
    • Przykładem jest formuła:
      • @If(@IsMember(&quot;[WebClient]&quot;; @UserRoles); &quot;Webform&quot;; &quot;Notesform&quot;)
    • Gdy rola [WebClient] jest przypisana do użytkownika to wyświetlany jest formularz Webform .
    • W przeciwnym wypadku formularz Notesform .
  • ACL - Access Control List (13). @UserNamesList .
    • @UserNamesList zwraca listę zawierającą nazwę użytkownika, nazwę grup oraz ról.
    • @UserRoles zwraca jedynie część tych informacji.
    • Funkcja @UserNamesList zachowuje się podobnie jak @UserRoles (baza danych na serwerz
    • @UserNamesList jest często stosowana z @IsMember .
    • Przykładem jest formuła, która wstawia nagłówek Marketing jeśli użytkownik ma przypisaną rolę Marketing Team lub należy do grupy Marketing Team .
      • @If(@IsMember(&quot;[Marketing Team]&quot;: “Marketing Team; @UserNamesList); &quot;Marketing Header&quot;; &quot;Generic Header&quot;)
  • ACL - Access Control List (14). @IsNotMember .
    • W dużej części przypadków łatwiej jest sprawdzić rolę, której nie przypisano użytkownikowi.
    • Wyrażenia takie stosuje się w formułach ukrywania Hide-when .
    • Poniższa formuła ukrywa przycisk czynności jeśli użytkownik nie ma przypisanej roli [Dev] .
      • @IsNotMember(&quot;[Dev]&quot;; @UserRoles)
  • Sekcje kontrolowane (1). Controlled Access Section .
    • Sekcje z kontrolowanym dostępem pozwalają Projektantowi na zdefiniowanie dostępu do wybranych części dokumentu:
      • Za pomocą formuły ( formula ) – używając opcji obliczających sekcję.
      • Dostęp definiowany przez autora dokumentu – za pomocą edycji opcji.
    • Należy w takiej sytuacji napisać formułę zawierającą:
      • Nazwę użytkownika ( user’s name ).
      • Listę użytkowników ( user names ).
      • Rolę w ACL ( ACL role ).
      • Nazwę grupy w CL ( ACL group name ).
  • Sekcje kontrolowane (2). Controlled Access Section .
    • Aby dodać sekcję z kontrolowanym dostępem:
      • Zaznaczyć tekst lub grafikę, która ma być dodana do sekcji.
      • Z menu wybrać Create -> Section -> Controlled Access.
      • W oknie właściwości dla sekcji kliknąć zakładkę Formula i wybrać typ.
      • Wpisać formułę, na przykład (dwa przykłady):
        • &quot;User One&quot; : &quot;Marketing Group&quot;
        • &quot;[DeptManager]
      • Jeśli wybrano typ Editable zostanie wyświetlona lista redaktorów.
  • Pola Authors i Readers (1)
    • Pole typu Reader definiuje którzy użytkownicy i serwery mogą czytać dokumenty utworzone za pomocą formularza zawierającego pole tego typu.
    • Domyślnie osoba z prawem dostępu Reader w ACL może czytać wszystkie dokumenty w aplikacji. Wpisy oraz istnienie pola Reader wprowadza restrykcje.
    • Jeśli formularz ma pole Reader (z jednym przynajmniej wpisem) to do czytania dokumentu będzie miała prawo podana w tym polu osoba. Pozostałe osoby, a także serwery nie mają takiego prawa.
    • Uwaga : Pola Readers mogą tworzyć konflikty replikacji, jeśli nazwy serwerów nie zostały podane w polu. Jeśli serwer nie może czytać dokumentów, nie może ich również replikować.
  • Pola Authors i Readers (2)
    • Jeśli formularz ma pola Readers i Authors to wymienione w nich osoby mogą czytać dokumenty.
    • Przykład może być następujący:
      • User One tworzy dokument i jego nazwa jest przechowywana w polu Authors .
      • Formularz ma obliczane pole Readers , którego wartość = Management (grupa osób) .
      • User One oraz wszyscy wymienieni w grupie Management mogą widzieć ten dokument .
      • Nikt inny nie zobaczy dokumentu w widoku.
    • Jeśli pole Readers jest puste to nie ma żadnych restrykcji. Każdy z dostępem do aplikacji na poziomie Reader może czytać dokument.
    • Nie zaleca się tworzenia edytowalnych pól Reader , ponieważ użytkownicy mogą podać inne (niż wymagane) osoby.
  • Pola Authors i Readers (3). Read Access List .
    • Po utworzeniu dokumentu można zmodyfikować listę osób, które mają prawo do czytania dokumentów (osoba z prawem do edycji dokumentu).
    • Dodając listę Read Access List do dokumentu będzie miało wpływ na wartość pola $Readers .
    • Pole to jest widoczne we właściwościach dokumentu.
  • Pola Authors i Readers (5). Read Access List .
    • Aby dodać listę osób, które mogą czytać dokumenty:
      • Zaznaczyć dokument w aplikacji.
      • Kliknąć prawym klawiszem myszy i otworzyć okno właściwości dokumentu.
      • Wybrać zakładkę Security .
      • Odznaczyć opcję All readers and above , a następnie wybrać kto może czytać dokument.
      • Pole $Readers zostanie utworzone.
  • View Access List (1).
    • Projektant może wprowadzić restrykcje dotyczące widoków w aplikacji.
    • Użytkownicy nie wymienieni w liście V iew A ccess L ist nie zobaczą widoku ani folderu w aplikacji. Również wpis do struktury będzie ukryty dla tych użytkowników.
    • Taka opcja nie zapewnia zbyt dobrego bezpieczeństwa dokumentów, gdyż użytkownik może utworzyć widok prywatny, do którego będzie miał dostęp.
    • Zalecane jest korzystanie z listy Read Access List .
  • View Access List (2).
    • To create a view access list, complete the following steps:
    • Aby dodać listę osób, które mogą czytać dokumenty:
      • Otworzyć widok w Domino Designer.
      • Kliknąć prawym klawiszem myszy i otworzyć okno właściwości widoku.
      • Wybrać zakładkę Security .
      • Odznaczyć opcję All readers and above , a następnie wybrać kto może mieć dostęp do widoku.
      • Zapisać zmiany i zamknąć dokument.
  • Form Access List (1).
    • Lista F orm A ccess L ist pomaga w kontrolowaniu osób, które mogą czytać dokumenty utworzone za pomocą tego formularza.
    • Kiedy Projektant dodaje listę, automatycznie tworzone jest pole $Readers .
    • Projektant wybiera wpisy znajdujące się w sekcji Default read access for documents created with this form , która znajduje się na zakładce Security okna właściwości formularza.
    • Projektant może również dodać manualnie pole $Readers i podać osoby, które nie zostały podane w ACL.
  • Form Access List (2).
    • Za pomocą F orm A ccess L ist można również kontrolować, kto może tworzyć dokumenty za pomocą formularza.
    • Dla osób, które nie są zaznaczone w sekcji Who can create documents with this form formularz nie pojawia się.
  • Form Access List (3).
    • Aby zdefiniować listę Form Access List :
      • Otworzyć formularz w Domino Designer.
      • Otworzyć okno właściwości formularza, wybrać zakładkę Security .
      • Zdefiniować dostęp.
      • Zapisać zmiany w formularzu i zamknąć okno.
  • Szyfrowanie pola (1).
    • Pojedyncze pola na formularzu można zabezpieczyć za pomocą szyfrowania pola.
    • Funkcja ta używa pojedynczego klucza, utworzonego przez Projektanta aplikacji.
    • Tylko osoby, które mają odpowiedni klucz mogą zobaczyć zawartość pola szyfrowanego. Jeśli go nie posiadają nie widzą zawartości pola (pole jest puste).
    • Szyfrowanie pola wymaga następujących kroków:
      • Utworzyć klucz szyfrujący.
      • Włączyć szyfrowanie pola w formularzu.
      • Włączyć obsługę szyfrowania we właściwościach formularza.
      • Przeprowadzić dystrybucję klucza szyfrującego.
  • Szyfrowanie pola (2). Tworzenie klucza .
    • Aby utworzyć nowy klucz szyfrujący:
      • Wybrać polecenie File - Security - User Security .
      • Kliknąć zakładkę Notes Data , potem Documents .
      • Kliknąć przycisk New Secret Key , podać nazwę klucza.
      • Kliknąć OK .
  • Szyfrowanie pola (3). Szyfrowanie pola .
    • Można włączyć szyfrowanie dla pola:
      • Otworzyć formularz, wyświetlić właściwości pola.
      • Kliknąć zakładkę Advanced .
      • Zaznaczyć opcję Security options: Enable encryption for this field .
    • Szyfrowane pole „zaznaczone” jest kolorem czerwonym.
  • Szyfrowanie pola (4). Automatyczne szyfrowanie dokumentów .
    • Przed utworzeniem klucza szyfrującego utworzone dokumenty nie są szyfrowane, ale można je zaszyfrować ręcznie.
    • Aby włączyć automatyczne szyfrowanie dla nowych dokumentów:
      • Otworzyć formularz, włączyć szyfrowanie pól .
      • Otworzyć okno właściwości formularza, kliknąć zakładkę Security.
      • Opcja Default encryption keys pokazuje listę dostępnych kluczy szyfrujących.
      • Zapisać i zamknąć formularz.
  • Szyfrowanie pola (5). Export klucza .
    • Aby wyeksportować klucz szyfrujący do postaci pliku:
      • Wybrać polecenie File - Security - User Security .
      • Kliknąć zakładkę Notes Data , potem Documents .
      • Kliknąć przycisk Other Options , wybrać Export Secret Key .
      • Kliknąć OK .
  • Szyfrowanie pola (6). Import klucza .
    • Aby zaimportować klucz szyfrujący (użytkownik):
      • Wybrać polecenie File - Security - User Security .
      • Kliknąć zakładkę Notes Data , potem Documents .
      • Kliknąć przycisk Other Options , wybrać Import Secret Key .
      • Kliknąć OK .
  • Filmy demonstracyjne (14)
  • Ćwiczenie 14
    • Implementacja wybranych elementów bezpieczeństwa
  • Wdrożenie aplikacji na serwer Przygotowanie aplikacji do wdrożenia (ikona, system pomocy)
  • Prace końcowe (1). Ikona aplikacji.
    • Aby aplikacja była łatwo rozpoznawalna przez użytkowników Projektant może zaprojektować ikonę:
      • Otworzyć Domino Designer , wybrać Other -> Database resources .
      • Otworzyć dokument Icon .
  • Prace końcowe (2). Opisy aplikacji.
    • Projektant ma możliwość opisania aplikacji za pomocą następujących dokumentów (między innymi):
      • Using application – opis sposobu korzystania z aplikacji.
      • About Application – opis przydatności aplikacji dla użytkowników.
    • Dokumenty te są widoczne w menu Help .
  • Prace końcowe (3). Using application .
  • Prace końcowe (4). About application .
  • Prace końcowe (5). Zakładka Launch .
    • We właściwościach aplikacji można zdefiniować sposób uruchamiania aplikacji.
    • Dostępne są również opcje związane z opisanymi wcześniej dokumentami:
      • Show „About application” document if modified .
      • Show „About application” document when…
  • Wdrożenie aplikacji na serwer Wdrożenie aplikacji na serwer
  • Wdrożenie aplikacji (1).Zalecenia.
    • Zaleca się korzystanie z trzech szablonów:
      • Szablon produkcyjny – zawartość aplikacji produkcyjnej. Aplikacja produkcyjna będzie aktualizowana za pomocą tego szablonu.
      • Szablon projektowy – generalnie szablon, na którym przeprowadzane są wszelkie testy i poprawki. Po wprowadzeniu poprawek można zastąpić nim szablon produkcyjny.
      • Szablon zapasowy – zawierający zawsze ostatnią wersję szablonu produkcyjnego. Pozwoli to na powrót do działającej wersji aplikacji.
  • Wdrożenie aplikacji (2). Master Template .
    • Aby utworzyć szablon Master Template :
      • Zaznaczyć aplikację.
      • Wybrać polecenie File -> Database -> New Copy oraz miejsce, gdzie ma się ona znajdować.
      • Wprowadzić tytuł aplikacji, pamiętając o rozszerzeniu NTF.
      • Kliknąć Copy: Database design only .
    • Następnie we właściwościach aplikacji należy zaznaczyć opcję Database file is a master template . Podać nazwę.
  • Wdrożenie aplikacji (3). Właściwości aplikacji.
    • Aby plik NSF oznaczyć jako szablon:
      • Zaznaczyć lub otworzyć aplikację.
      • Otworzyć okno właściwości bazy danych.
      • Kliknąć zakładkę Design .
      • Wpisać nazwę szablonu,
    • Nazwa szablonu jest łączem pomiędzy aplikacją i szablonem.
  • Wdrożenie aplikacji (4). Właściwości aplikacji.
    • Aby aplikacja dziedziczyła zmiany z szablonu należy zdefiniować opcje na zakładce Design :
      • Otworzyć okno właściwości aplikacji i kliknąć zakładkę Design .
      • Podać nazwę szablonu, z którego będą dziedziczone zmiany.
  • Wdrożenie aplikacji (5). Replace / Refresh Design .
    • Zmiany z szablonu można pobrać ręcznie (odświeżyć lub zamienić):
      • Zaznaczamy bazę danych.
      • Z menu File wybieramy polecenie Application , a następnie Replace (Refresh) Design .
      • W oknie Replace (Referesh) Application Design wybieramy odpowiedni szablon.
      • Klikamy przycisk Replace (Refresh) Design .
  • Wdrożenie aplikacji (6). Proces replikacji .
    • Repli kacja (replication) jest proces em synchronizacji dokumentów (zmian) pomiędzy aplikacjami Domino:
      • Replikacja Serwer – Serwer (Server To Server)
      • Replikacja Klient – Serwer (Workstation To Server)
    • Proces replikacji pozwala na synchronizację danych pomiędzy specjalnymi kopiami aplikacji (replikami).
    • Elementy składowe biorące udział w procesie replikacji, to, między innymi:
      • Replicator – zadanie na serwerze Domino.
      • Replica ID – specjalny numer aplikacji (bazy danych).
      • Unique Notes Identification Number ( UNID ) – numer identyfikujący dokument w aplikacji.
      • Replication History – historia przebiegu procesu replikacji aplikacji Domino.
  • Wdrożenia aplikacji (7). Proces replikacji .
    • Elementy składowe biorące udział w procesie replikacji, to, między innymi:
      • Replicator – zadanie na serwerze Domino. Replikator wysyła lub pobiera zmiany z replik aplikacji.
      • Replica ID – specjalny numer aplikacji (bazy danych).
      • Unique Notes Identification Number ( UNID ) – numer identyfikujący dokument w aplikacji.
      • Replication History – historia przebiegu procesu replikacji aplikacji Domino.
  • Wdrożenia aplikacji (8). Proces replikacji .
    • Replikacja jest procesem wymiany (synchronizacji) danych pomiędzy replikami:
      • dwie bazy danych są replikami, jeśli mają taki sam numer ID (replica ID).
      • replikacja może przebiegać między serwerami (zadanie: replica).
      • replikacja może przebiegać między serwerami klientem a serwerem (oprogramowanie stacji roboczej).
      • replikacja może być dwukierunkowa lub jednokierunkowa.
      • proces replikacji przebiega na poziomie pól ( field level replication ).
      • replikacja może być selektywna (różne repliki mogą przechowywać różne dane).
  • Wdrożenia aplikacji (9). Proces replikacji .
    • Na stacji roboczej proces replikacji jest wykonywany przez oprogramowanie stacji roboczej.
    • Dostępne są następujące narzędzia:
      • Menu Replication (zawiera wszystkie narzędzia obsługujące proces replikacji)
      • Strona Replicator – podstawowe narzędzie wspomagające zarządzanie replikami aplikacji.
      • Polecenia dostępne w menu kontekstowym Lotus Notes.
  • Wdrożenia aplikacji (10). Tworzenie repliki .
    • Proces replikacji to nie to samo co kopia bazy danych
    • Repliki bazy danych mają taki sam numer REPLICA ID, widoczny we właściwościach bazy danych
    • Aby utworzyć nową lokalną replikę:
      • Wybrać menu File .
      • Polecenie Replication , następnie New replica .
  • Na zakończenie - Design Synopsis .
      • Design Synopsis – raport o zaprojektowanej aplikacji.
    • Jest bardzo przydatne dla projektanta aplikacji:
      • Zaznaczyć aplikację.
      • Wybrać polecenie File -> Application -> Database Synopsis .
      • Wybrać elementy, które chcemy „zbadać”.
      • Kliknąć OK .
  • Filmy demonstracyjne (15)
  • Ćwiczenie 15
    • Wdrożenie aplikacji na serwer