1 / 11

Udnyt Lotus Notes C-API fra Lotusscript Semaphor Lotusscript og Notes C-API

Udnyt Lotus Notes C-API fra Lotusscript Semaphor Lotusscript og Notes C-API Udnyt de features og kerne funktioner der ligger i Notes. Præsenteret af: Ronni Kahalani, Semaphor Udviklingschef / Systemarkitekt mail: ronni.kahalani@semaphor.dk web: www.semaphor.dk.

genica
Download Presentation

Udnyt Lotus Notes C-API fra Lotusscript Semaphor Lotusscript og Notes C-API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Udnyt Lotus Notes C-API fra Lotusscript Semaphor Lotusscript og Notes C-API Udnyt de features og kerne funktioner der ligger i Notes. Præsenteret af: Ronni Kahalani, Semaphor Udviklingschef / Systemarkitekt mail: ronni.kahalani@semaphor.dk web: www.semaphor.dk Trekronergade 147B, 2500 Valby, telefon: 35 300 700, fax: 35 300 701, web:www.semaphor.dk, email: info@semaphor.dk

  2. Agenda • Hvad er Notes C-API’et? • Hvorfor bruge Notes C-API’et? • Eksempel: En simpel deklaration. • C-API- og LS datatype mapping • Fordele og ulemper • Demo af Lotusscript og brug af C-API • Hvordan kommer man i gang? • Afslutning

  3. Hvad er Notes C-API’et • Samling af kerne funktioner og datatyper som Notes/Domino er bygget op af. • Over 937 fuktioner • Over 515 datatyper • Over 717 symbolske værdier/konstanter • Findes også som C++, men med mere begrænset funktionalitet. • API’et giver mulighed for f.eks. • Stand-alone applikationer • Lotus Domino Server add-in tasks • Notes menu add-ins • Notes import og eksport add-ins • Database hook drivers • Extension manager hooks • Drivers til eksterne (ikke-Domino) databaser • Brug af API fra Lotusscript • O.m.a.

  4. Hvad er Notes C-API’et

  5. Hvorfor bruge Notes C-API’et? • Løse performance krævende udfordringer. • Brug af kerne funktionalitet, som ikke findes i LS eller @-funktioner. • Udvikling af ny server og klient funktionalitet • Typiske eksempler på brug af API: • Lokal template design refresh. • Opdatering af NAB, ved online registrering af web brugere. • Udnyttelse at interne Notes GUI elementer (eks. Progressbar) • Server tasks • Update,Replica,Router,AMgr,AdminP,CalConn,Sched,HTTP, DIIOP… • Server og klient EM hooks ( spam/virus, extended logging og custom apps) • Dynamisk oprettelse af notes dokumenter og design (agenter, views, forms…)

  6. Eksempel: En simpel deklaration Her er et par grundlæggende Notes C-API funktioner: STATUS LNPUBLIC NSFDbOpen(char far *PathName, DBHANDLE far *rethDB); // Åbner en database. STATUS LNPUBLIC NSFDbClose(DBHANDLE hDB);// Lukker en database. Defineres i LotusScript/Visual Basic som følgende (on a Windows platform): Declare Function MyDbOpen Lib "nnotes.dll" Alias “NSFDbOpen” (Byval PathName AsString, _rethDB As Long) As Integer Declare Function MyDbClose Lib "nnotes.dll" Alias ”NSFDbClose” (Byval hDB AsLong) AsInteger %REM Eksempel på brug af deklarerede API metoder. %END REM Sub Intialize Dim dbHandle As Long Dim status As Integer status = MyDbOpen(”c:\lotus\notes\data\names.nsf”, dbHandle) status = MyDbClose(dbHandle) End Sub

  7. C-API- og LS datatype mapping Fra API- til LotusScript datatype • Pointer (*) variabler som ByRef. • Strenge mappes som ByVal. • Brugerdefinerede data typer som ByRef. • NULL parameter til API funktioner,deklareres som ByVal Integer (0). 1 – 4 byte value. 2 – in general, sometimes Integer.3 – in R5+, cannot convert pre-R5.4 – Integer on Mac and some UNIX.

  8. Fordele og ulemper Fordele • Løse udfordringer, som LS og @Formula ikke kan ”out-of-the-box”. • Mulighed for performance optimering. • Udnytte eksisterende kerne funktionalitet. Ulemper • Følsomheden, forkert brug af C-API kan crashe server og klient. • Platform og versions afhængighed. (når flere replika kører på forskellige OS). Tips: • Vær sikker på at applikationen ikke skal ligge på forskellige OS. • Diskuter en alternativ løsning, da API-et principelt kan ændrer sig senere. • Etabler staging/test miljø, hvis det ikke findes pt.

  9. Demo af Lotusscript og brug af C-API • C-API • ProgressBar • ServerConsole • Server ping • WIN-API • Registry

  10. Hvordan kommer man i gang? Hent følgende databaser: • Lotus C API Notes/Domino User Guide v6.5 [download] [vis online] • Lotus C API Notes/Domino Reference v6.5 [download] [vis online] Læs artiklerne: • C API programming for Lotus Notes/Domino [vis online]

  11. Afslutning Tak for jeres interesse!

More Related