DNUG Konferenz: Wie werden wir morgen arbeiten? Social Business becomes real.  35. DNUG Konferenz   Wie werden wir morgen ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  About: Ulrich Krause Lotus Notes / Domino Administrator & Entwickler sei...
DNUG Konferenz: Wie werden wir morgen arbeiten?    Agenda   Allgemeines   Optionen des Designers   Tools   @Formeln  ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Warum @Formeln verwenden ? Alle Sprachen verwenden die gleichen Kernfunk...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Option Declare Wichtigste Codezeile in LotusScript Option Declare “zwin...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Option Declare Ohne Option Declare Mit Option Declare
DNUG Konferenz: Wie werden wir morgen arbeiten?  Option Declare Der wichtigste Grund, warum wir „Option Declare“  verwend...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Option Declare Every time you don„t use  „Option Declare“, God will kil...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Dim Statement Erstellt eine Referenz zu einem Objekt, ohne das Objekt z...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Dim Statement und Performance Ausführungszeiten messen mit Getthreadinf...
DNUG Konferenz: Wie werden wir morgen arbeiten?   GetNextDocument vs. GetNthDocument 16.260 Dokumente 10 Testläufe / Met...
DNUG Konferenz: Wie werden wir morgen arbeiten?   GetNextDocument vs. GetNthDocument 113.610 Dokumente 4 Testläufe / Met...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Script / Comment Templates
DNUG Konferenz: Wie werden wir morgen arbeiten?  Fonts / Colors • Individuelle Einstellungen für bessere   Lesbarkeit     ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Zeilennummern einblenden
DNUG Konferenz: Wie werden wir morgen arbeiten?   Soft-Coded Field Names One of the worst traps in LotusScript is using h...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Logging Kein Code ist absolut fehlerfrei! Auch wenn momentan keine Fehl...
DNUG Konferenz: Wie werden wir morgen arbeiten?  OpenLog
DNUG Konferenz: Wie werden wir morgen arbeiten?  Source Sniffer Domino Designer extension Sucht in einer oder meheren An...
DNUG Konferenz: Wie werden wir morgen arbeiten?  NotesHound                              http://domino-                   ...
DNUG Konferenz: Wie werden wir morgen arbeiten?   NotesView.AutoUpdate = false Performancegewinn, da die Ansicht nicht ko...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @WhichFolders Neu ab 8.5.1 Nur in Ansichtsspalten zu verwenden Option ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @WhichFolders in LotusScript I db.FolderReferencesEnabled = True $Folde...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @WhichFolders in LotusScript II CreateViewNavFrom Keine zusätzlichen De...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Command( [DiscoverFolders];title) Wie @WhichFolders mit zusätzlichen Mö...
DNUG Konferenz: Wie werden wir morgen arbeiten?    @Transform   Seit Version 6   Entspricht LotusScript statement ForAll...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Transform (Sample) Names.nsf - PeopleBy Client Version Unübersichtlich...
DNUG Konferenz: Wie werden wir morgen arbeiten?  PeopleBy Client Version (new) Mit wenigen Handgriffen Ordnung schaffen
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Transform + @DocFieldshttp://www.eknori.de/2011-07-23/formula-magic/
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Nothing Seit Version 6 Lt. Designer Hilfe nur mit @Transform zu verwen...
DNUG Konferenz: Wie werden wir morgen arbeiten?   @Sort Sortiert eine Liste                  –   [ACCENTSENSITIVE]       ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Sort @Sort kann aber noch mehr – [CustomSort]
DNUG Konferenz: Wie werden wir morgen arbeiten?  @UpdateFormulaContext Ändert den Kontext einer Formel Nachfolgende Befe...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Get the current location name @LocationGetInfo    •   @LocationGetInfo([...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Get the current location name @LocationGetInfo([FullName])     •   @Loc...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @GetMachineInfo (8.5.3) New @Function to support Machine Specific Policy...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @GetMachineInfo vs. @Environment @GetMachineInfo([EnvVariable];"Location...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @CheckFormulaSyntax Überprüft Formeln
DNUG Konferenz: Wie werden wir morgen arbeiten?  @CheckFormulaSyntax (LotusScript) • Verwendet LotusScript EVALUATE
DNUG Konferenz: Wie werden wir morgen arbeiten?  Und was macht IBM? Schade 
DNUG Konferenz: Wie werden wir morgen arbeiten?  @BusinessDays Ermittelt die Anzahl von Werktagen in einem Datumsbereich ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @BusinessDays (LS) Evaluate zur Einbindung von @BusinessDays in LS
DNUG Konferenz: Wie werden wir morgen arbeiten?   @DbLookup + [FailSilent] Keine Fehlermeldung, wenn keine Entsprechung i...
DNUG Konferenz: Wie werden wir morgen arbeiten?   [ReturnDocumentUniqueID] Gibt die DocumentUNID eines @DBLookup Ergebnis...
DNUG Konferenz: Wie werden wir morgen arbeiten?   @ConfigFile Wo ist die notes.ini?           • @Prompt([OK];“notes.ini p...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Programmatic Use Wozu ist die Eigenschaft „Programmatic Use“ da? Keine ...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Permutation Comparison In Hide Formulas Element nicht anzeigen, wenn Us...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Mail Rules Extended Regeln haben starre, vorgegebene Bedingungen
DNUG Konferenz: Wie werden wir morgen arbeiten?   Mail Rules Extended Der Client speichert die Regeln im Kalenderprofil ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Mail Rules Extended Mehr Möglichkeiten bei der Regelerstellung Erforder...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Tweak Auto-Populated Groups Einfache Erweiterung in names.nsf    • Creat...
DNUG Konferenz: Wie werden wir morgen arbeiten?  How to get rid of $UpdatedBy? Unter Umständen sollen die  Bearbeiter ein...
DNUG Konferenz: Wie werden wir morgen arbeiten?    Custom Administration Process Fehlende Funktionen hinzufügen    • Z.B....
DNUG Konferenz: Wie werden wir morgen arbeiten?  Custom Administration Process
DNUG Konferenz: Wie werden wir morgen arbeiten?  Custom Administration Process admin4.nsf anpassen          • Neue Ansich...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Zip / UnZip Verwendung von ZIP/UNZIP mit LotusScript Kostenlos    http:...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Auto-Zip Mail Attachments Anhänge werden beim Versenden automatisch gepa...
DNUG Konferenz: Wie werden wir morgen arbeiten?  XLS ohne Excel erstellen Reports sollen auf einem Server erstellt werden...
DNUG Konferenz: Wie werden wir morgen arbeiten?  XLS ohne Excel erstellen
DNUG Konferenz: Wie werden wir morgen arbeiten?  Lotus Symphony Toolkit %Include "symphonylsx.lss„ OpenNTF.org Contacts ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Wurde das Dokument gelesen? doc.GetRead([username])    • Ab Release 8.5 ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  @Midas Lookups Ben Langhinrichs ( genii software ) Auslesen von Daten a...
DNUG Konferenz: Wie werden wir morgen arbeiten?   @Midas Lookups Erweiterte Möglichkeiten Beispiel: Sortierte Ausgabe al...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Ist RichText Item leer?? @Length(@Text(body))-1 @Attachments rtitem.Va...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Ist RichText Item leer?
DNUG Konferenz: Wie werden wir morgen arbeiten?  Arbeiten mit RichText C/C++ API oder LS2CAPI Normunds Kalbernzin       ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Einordnung der C-API              JAVA                                 Lo...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Ist RichText Item leer? LS2CAPI to the rescue!    • Leeres RTI besitzt n...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Header / Footer Erstellen / Ändern    • Anwendungseigenschaften ( global...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Header / Footer Informationen sind in RichText item gespeichert
DNUG Konferenz: Wie werden wir morgen arbeiten?  Header / Footer LotusScript Library / LS2CAPI
DNUG Konferenz: Wie werden wir morgen arbeiten?  Inline Images Auf Inline Images kann nicht über die embedded objects  Ei...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Inline Images Wie ist ein Inline Image gespeichert ?
DNUG Konferenz: Wie werden wir morgen arbeiten?  Inline Images                                                  Andre Guir...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Inline Images rtLib: framework of LotusScript classes to work with  Note...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Replace Inline Image Bilder, die aus der Zwischenablage in ein Dokument ...
DNUG Konferenz: Wie werden wir morgen arbeiten?   Replace Inline ImageDas Attachment wird an diePosition des Inline Image ...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Insert Richtext into Richtext notesRichTextRange.FindAndReplace( target$...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Insert Richtext into Richtext
DNUG Konferenz: Wie werden wir morgen arbeiten?  Insert Richtext into Richtext
DNUG Konferenz: Wie werden wir morgen arbeiten?  JW Player - Mediaplayer JW Player: Ein paar Zeilen Code für einen Mediap...
DNUG Konferenz: Wie werden wir morgen arbeiten?  JW Player - Mediaplayer
DNUG Konferenz: Wie werden wir morgen arbeiten?  jQuery freie, umfangreiche JavaScript-Klassenbibliothek, welche  komfort...
DNUG Konferenz: Wie werden wir morgen arbeiten?  Xpages und @Formula Nur 97 der 274 @Formeln können in SSJS verwendet  we...
Q+A•   Mail: eknori@eknori.de•   Blog: http://www.eknori.de•   Sametime: bleedyellow.com•   Twitter: eknori
Nächste SlideShare
Wird geladen in …5
×

Dnug35 ak-dev.071111-cookbook

1.439 Aufrufe

Veröffentlicht am

In loser Folge werden Tipps und Tricks aus allen Bereichen der Programmierung in Lotus Notes/Domino vorgestellt. @Formula, LotusScript, XPages, LS2CApi.
Wie konfiguriere ich den Domino Designer?
Welche kostenlosen Tools können mir meine Arbeit erleichtern?
Warum ist es wichtig, richtig zu "dimmen"?
Richtext kann mit LotusScript im Backend nicht in Richtext eingefügt werden. Oder etwa doch? @Transform / @Sort. Was kann man denn damit machen?
8.5.3, was gibt es Neues im Bereich @Formula / LotusScript.

Zielgruppe sind alle, die sich mit Applikationsentwicklung beschäftigen. Anfänger und "alte Hasen"; es ist für jeden etwas dabei.
Kenntnisse: Grundlagen der Entwicklung in Lotus Notes/Domino

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.439
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
19
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Dnug35 ak-dev.071111-cookbook

  1. 1. DNUG Konferenz: Wie werden wir morgen arbeiten? Social Business becomes real. 35. DNUG Konferenz Wie werden wir morgen arbeiten? The Lotus Code Cookbook 7. bis 9. November 2011 Welcome Kongresshotel Bamberg Ulrich Krause, is@web, industrial services AG Mit freundlicher Unterstützung von:
  2. 2. DNUG Konferenz: Wie werden wir morgen arbeiten? About: Ulrich Krause Lotus Notes / Domino Administrator & Entwickler seit 1993 Business Application Developer bei is@web, Niederlassung Ratingen OpenNTF http://openntf.org • !!HELP!!, Cebulon, Trigger Happy • diverse XPages Custom Controls IBM Champion 2011 • https://www- 304.ibm.com/connections/blogs/socialbusiness/entry/announcing_the_2011_ibm_champions_for_collaboration_sol utions4?lang=de Blog http://www.eknori.de Notes Forum (http://www.atnotes.de)
  3. 3. DNUG Konferenz: Wie werden wir morgen arbeiten? Agenda Allgemeines Optionen des Designers Tools @Formeln LotusScript Bearbeitung von Richtext ( C-Api / LS2CAPI ) Javascript (Frameworks) XPages
  4. 4. DNUG Konferenz: Wie werden wir morgen arbeiten? Warum @Formeln verwenden ? Alle Sprachen verwenden die gleichen Kernfunktionen Bei gleicher Funktionalität sind Formeln performanter Nicht alle Formeln können in XPages verwendet werden. • Nur 97 der insgesamt 274 Formeln • http://www-10.lotus.com/ldd/ddwiki.nsf/dx/List_of_Formula_Not_Supported_In_XPagesLotusScript Java @FormulaByteCode Interpreter FormulaEngine Notes Core API
  5. 5. DNUG Konferenz: Wie werden wir morgen arbeiten? Option Declare Wichtigste Codezeile in LotusScript Option Declare “zwingt” zum Deklarieren aller Variablen und erspart das Beseitigen von schwer auffindbaren Fehlern Alle Fehler sind runtime Fehler
  6. 6. DNUG Konferenz: Wie werden wir morgen arbeiten? Option Declare Ohne Option Declare Mit Option Declare
  7. 7. DNUG Konferenz: Wie werden wir morgen arbeiten? Option Declare Der wichtigste Grund, warum wir „Option Declare“ verwenden MÜSSEN, ist …
  8. 8. DNUG Konferenz: Wie werden wir morgen arbeiten? Option Declare Every time you don„t use „Option Declare“, God will kill a kitten !!
  9. 9. DNUG Konferenz: Wie werden wir morgen arbeiten? Dim Statement Erstellt eine Referenz zu einem Objekt, ohne das Objekt zu erstellen Achtung : Dim i, j, k As Integer Dim i As Integer, j As Integer, k As Integer
  10. 10. DNUG Konferenz: Wie werden wir morgen arbeiten? Dim Statement und Performance Ausführungszeiten messen mit Getthreadinfo Wird z.B. ein Integerwert in einem Variant gespeichert, so muss Notes intern eine Typumwandlung vornehmen. Das kostet Zeit !!
  11. 11. DNUG Konferenz: Wie werden wir morgen arbeiten? GetNextDocument vs. GetNthDocument 16.260 Dokumente 10 Testläufe / Methode Tabelle zeigt die Durchschnittswerte
  12. 12. DNUG Konferenz: Wie werden wir morgen arbeiten? GetNextDocument vs. GetNthDocument 113.610 Dokumente 4 Testläufe / Methode Tabelle zeigt die Durchschnittswerte
  13. 13. DNUG Konferenz: Wie werden wir morgen arbeiten? Script / Comment Templates
  14. 14. DNUG Konferenz: Wie werden wir morgen arbeiten? Fonts / Colors • Individuelle Einstellungen für bessere Lesbarkeit http://web.nickshanks.com/fonts/microsoft- core-web-fonts
  15. 15. DNUG Konferenz: Wie werden wir morgen arbeiten? Zeilennummern einblenden
  16. 16. DNUG Konferenz: Wie werden wir morgen arbeiten? Soft-Coded Field Names One of the worst traps in LotusScript is using hard-coded field names. LotusScript makes it simple to hard code field names, because of its support for extended attributes of the NotesDocument class. The LotusScript documentation even describes this as a feature, though you should avoid it like the plague.
  17. 17. DNUG Konferenz: Wie werden wir morgen arbeiten? Logging Kein Code ist absolut fehlerfrei! Auch wenn momentan keine Fehler erkennbar sind, werden Fehler auftauchen. Fehler erkennen, die von Usern nicht immer gemeldet werden. Es gibt Tools, die ein aussagekräftiges Logging mit nur wenigen Codezeilen ermöglichen. Julian Robichaux: OpenLog – http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument &name=OpenLog
  18. 18. DNUG Konferenz: Wie werden wir morgen arbeiten? OpenLog
  19. 19. DNUG Konferenz: Wie werden wir morgen arbeiten? Source Sniffer Domino Designer extension Sucht in einer oder meheren Anwendungen Unterstützt • Java, • Javascript, • Lotusscript, • @Formula, • Xpageshttp://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=Source%20Sniffer
  20. 20. DNUG Konferenz: Wie werden wir morgen arbeiten? NotesHound http://domino- 80.prominic.net/A55BE4/NotesHoundWeb.nsf/web pages/index.html
  21. 21. DNUG Konferenz: Wie werden wir morgen arbeiten? NotesView.AutoUpdate = false Performancegewinn, da die Ansicht nicht kontinuierlich aktualisiert wird. • Zu den technischen Hintergründen; Bob Balaban, http://bobzblog.com/tuxedoguy.nsf/dx/geek-o-terica-10- autoupdating-in-views • http://www-10.lotus.com/ldd/ddwiki.nsf/dx/View.AutoUpdate_ Bei der Verwendung von NotesViewNavigator können Fehler auftreten, wenn AutoUpdate = true („Entry not found in Index“) • Andre Guirard, http://www- 10.lotus.com/ldd/bpmpblog.nsf/dx/autoupdate-false
  22. 22. DNUG Konferenz: Wie werden wir morgen arbeiten? @WhichFolders Neu ab 8.5.1 Nur in Ansichtsspalten zu verwenden Option „Maintain folder unread information“ muß aktiviert sein Option „ Dont maintain Unread marks“ darf nicht aktiviert sein“
  23. 23. DNUG Konferenz: Wie werden wir morgen arbeiten? @WhichFolders in LotusScript I db.FolderReferencesEnabled = True $FolderInfo und $FolderRefInfo – Ansichten können aus der Mailschablone kopiert werden
  24. 24. DNUG Konferenz: Wie werden wir morgen arbeiten? @WhichFolders in LotusScript II CreateViewNavFrom Keine zusätzlichen Designelemente erforderlich Aber langsam bei einer großen Ordneranzahl
  25. 25. DNUG Konferenz: Wie werden wir morgen arbeiten? @Command( [DiscoverFolders];title) Wie @WhichFolders mit zusätzlichen Möglichkeiten, um die Ordnereigenschaften eines Dokuments zu ändern. Uncheck „Don„t maintain unread marks“
  26. 26. DNUG Konferenz: Wie werden wir morgen arbeiten? @Transform Seit Version 6 Entspricht LotusScript statement ForAll x in Liste Führt eine Formel für jedes Element der Liste aus. @Transform( list ; variableName ; formula ) Rückgabewert ist die durch die Formel modifizierte Liste Kann in Ansichtenspalten verwendet werden
  27. 27. DNUG Konferenz: Wie werden wir morgen arbeiten? @Transform (Sample) Names.nsf - PeopleBy Client Version Unübersichtlich, da alle Versionen dargestellt werden.
  28. 28. DNUG Konferenz: Wie werden wir morgen arbeiten? PeopleBy Client Version (new) Mit wenigen Handgriffen Ordnung schaffen
  29. 29. DNUG Konferenz: Wie werden wir morgen arbeiten? @Transform + @DocFieldshttp://www.eknori.de/2011-07-23/formula-magic/
  30. 30. DNUG Konferenz: Wie werden wir morgen arbeiten? @Nothing Seit Version 6 Lt. Designer Hilfe nur mit @Transform zu verwendbar ( „not valid in other context“ ) Funktioniert aber z.B auch in View Selection
  31. 31. DNUG Konferenz: Wie werden wir morgen arbeiten? @Sort Sortiert eine Liste – [ACCENTSENSITIVE] – [ACCENTINSENSITIVE] – [ASCENDING] – [CASESENSITIVE] – [CASEINSENSITIVE] – [CUSTOMSORT] – [DESCENDING] – [PITCHSENSITIVE] – [PITCHINSENSITiVE] Dies lässt sich auch kombinieren – [ASCENDING]:[CASESENSITIVE]
  32. 32. DNUG Konferenz: Wie werden wir morgen arbeiten? @Sort @Sort kann aber noch mehr – [CustomSort]
  33. 33. DNUG Konferenz: Wie werden wir morgen arbeiten? @UpdateFormulaContext Ändert den Kontext einer Formel Nachfolgende Befehle werden im neuen Kontext ausgeführt
  34. 34. DNUG Konferenz: Wie werden wir morgen arbeiten? Get the current location name @LocationGetInfo • @LocationGetInfo([HomeServer]) • @LocationGetInfo([InternetMailAddress]) • @LocationGetInfo([NamePreference]) • @LocationGetInfo([BookmarksFilename]) • @LocationGetInfo([SametimeServer]) @LocationGetInfo([UNID]) • http://www.thenorth.com/apblog4.nsf/0/60C5A5C6540A2D648525719F0012BDE
  35. 35. DNUG Konferenz: Wie werden wir morgen arbeiten? Get the current location name @LocationGetInfo([FullName]) • @LocationGetInfo([AbbreviatedName]) Damit erhalten wir Zugriff auf JEDES beliebige Feld in der aktuellen Arbeitsumgebung
  36. 36. DNUG Konferenz: Wie werden wir morgen arbeiten? @GetMachineInfo (8.5.3) New @Function to support Machine Specific Policy Settings as of Notes / Domino 8.5.3
  37. 37. DNUG Konferenz: Wie werden wir morgen arbeiten? @GetMachineInfo vs. @Environment @GetMachineInfo([EnvVariable];"Location"); • Liefert den gewünschten Wert für alle Variablen in der notes.ini zurück • Egal ob mit „$“ oder ohne • Kann keine Werte setzen @Environment(„Location“) • Liefert nur Variablen mit „$“ zurück ($DDM_SERVER) • Kann auch Werte in der notes.ini setzen
  38. 38. DNUG Konferenz: Wie werden wir morgen arbeiten? @CheckFormulaSyntax Überprüft Formeln
  39. 39. DNUG Konferenz: Wie werden wir morgen arbeiten? @CheckFormulaSyntax (LotusScript) • Verwendet LotusScript EVALUATE
  40. 40. DNUG Konferenz: Wie werden wir morgen arbeiten? Und was macht IBM? Schade 
  41. 41. DNUG Konferenz: Wie werden wir morgen arbeiten? @BusinessDays Ermittelt die Anzahl von Werktagen in einem Datumsbereich • Bestimmte Tage können als Werktage ausgeschlossen werden • Ebenso lassen sich Feiertage als Werktage ausschließen Beispiel: Der Wert eines Items soll auf einen Wert @Today + 3 Tage gesetzt werden. Dabei sollen die Wochenenden und bestimmte Datumswerte nicht als Werktage gelten. @BusinessDays wird in XPages nicht unterstützt
  42. 42. DNUG Konferenz: Wie werden wir morgen arbeiten? @BusinessDays (LS) Evaluate zur Einbindung von @BusinessDays in LS
  43. 43. DNUG Konferenz: Wie werden wir morgen arbeiten? @DbLookup + [FailSilent] Keine Fehlermeldung, wenn keine Entsprechung in der Ansicht gefunden wird @DbLookup(""; ""; "All"; Source; 2;[FailSilent])
  44. 44. DNUG Konferenz: Wie werden wir morgen arbeiten? [ReturnDocumentUniqueID] Gibt die DocumentUNID eines @DBLookup Ergebnisses zurück @DbLookup(""; ""; "All"; “test”; 1; [FailSilent]:[ReturnDocumentUniqueID]); Macht eine zusätzliche Ansicht mit einer Spaltenformel @Text(@DocumentUniqueID) überflüssig
  45. 45. DNUG Konferenz: Wie werden wir morgen arbeiten? @ConfigFile Wo ist die notes.ini? • @Prompt([OK];“notes.ini path“;@configfile) Notes.ini bearbeiten • @Command([Execute];"
  46. 46. DNUG Konferenz: Wie werden wir morgen arbeiten? Programmatic Use Wozu ist die Eigenschaft „Programmatic Use“ da? Keine Redundanz komplizierter Spaltenformeln. Das Ergebnis einer Berechnung kann in einer anderen Spalte verwendet werden
  47. 47. DNUG Konferenz: Wie werden wir morgen arbeiten? Permutation Comparison In Hide Formulas Element nicht anzeigen, wenn User nicht mindestens eine der Rollen hat. • @IsNotMember("[GloAdmin]"; @UserRoles) & @IsNotMember("[GloEditor]"; @UserRoles) Läßt sich kürzen auf: • @IsNotMember("[GloAdmin]" : "[GloEditor]"; @UserRoles) Noch kürzer • !("[GloAdmin]" : "[GloEditor]" *= @UserRoles)
  48. 48. DNUG Konferenz: Wie werden wir morgen arbeiten? Mail Rules Extended Regeln haben starre, vorgegebene Bedingungen
  49. 49. DNUG Konferenz: Wie werden wir morgen arbeiten? Mail Rules Extended Der Client speichert die Regeln im Kalenderprofil Auf dem Server werden die Regeln in “mailrule” Dokumenten gespeichert
  50. 50. DNUG Konferenz: Wie werden wir morgen arbeiten? Mail Rules Extended Mehr Möglichkeiten bei der Regelerstellung Erfordert Änderung an names.nsf Kein grosser Aufwand beim Upgrade
  51. 51. DNUG Konferenz: Wie werden wir morgen arbeiten? Tweak Auto-Populated Groups Einfache Erweiterung in names.nsf • Create a new subform • Create a new field on the subform ( SelectionCriteria,Text, Editable) • Give it the name Custom and an alias starting with $AutoPopulate followed by a number of your choice ( i.e. 9999) • Save the subform • http://www.eknori.de/2008-06-10/tweak-the-auto-populated-groups- feature-in-domino-85 UPDATE 8.5.3 :http://bodek.uwindsor.ca/users/b/bodek/bodekblog.n sf/d6plinks/BFRK-8MRPWN
  52. 52. DNUG Konferenz: Wie werden wir morgen arbeiten? How to get rid of $UpdatedBy? Unter Umständen sollen die Bearbeiter eines Dokuments nicht sichtbar sein.
  53. 53. DNUG Konferenz: Wie werden wir morgen arbeiten? Custom Administration Process Fehlende Funktionen hinzufügen • Z.B. : User aus Gruppe entfernen Verlagerung administrativer Aufgaben in den Servicedesk NotesAdministrationProcess class Seit Release 6 AddGroupMembers method aber keine RemoveGroupMembers method LotusScript Gold Collection (1.3): [*] NotesGroupManager: makes it easy to scan and manage group memberships in public and private address books, including groups with subgroups. http://www.openntf.org/projects/pmt.nsf/ProjectLookup/LotusScript%20Gold%20Collection
  54. 54. DNUG Konferenz: Wie werden wir morgen arbeiten? Custom Administration Process
  55. 55. DNUG Konferenz: Wie werden wir morgen arbeiten? Custom Administration Process admin4.nsf anpassen • Neue Ansicht erstellen oder • Spalte „Action“ anpassenhttp://www.eknori.de/2007-12-15/delete-group-members-using-the-administration-process/
  56. 56. DNUG Konferenz: Wie werden wir morgen arbeiten? Zip / UnZip Verwendung von ZIP/UNZIP mit LotusScript Kostenlos http://www.vcode.no/vcode.nsf/downloads/VCZIPSUP
  57. 57. DNUG Konferenz: Wie werden wir morgen arbeiten? Auto-Zip Mail Attachments Anhänge werden beim Versenden automatisch gepackt Genaue Beschreibung der Anpassungen im Lotus Notes & Domino Wiki • http://www- 10.lotus.com/ldd/dominowiki.nsf/page.xsp?documentId=7963EB58BAD528FB852577 AE0062A72A&action=openDocument&mode=original
  58. 58. DNUG Konferenz: Wie werden wir morgen arbeiten? XLS ohne Excel erstellen Reports sollen auf einem Server erstellt werden, auf dem kein Excel installiert ist. ( Linux ) http://jxls.sourceforge.net/index.html • Support for Excel 2007 OOXML (.xlsx) file format
  59. 59. DNUG Konferenz: Wie werden wir morgen arbeiten? XLS ohne Excel erstellen
  60. 60. DNUG Konferenz: Wie werden wir morgen arbeiten? Lotus Symphony Toolkit %Include "symphonylsx.lss„ OpenNTF.org Contacts Experience – http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument &name=OpenNTF.org%20Contacts%20Experience MailMerge Letter Export Contacts • Symphony • MS Office
  61. 61. DNUG Konferenz: Wie werden wir morgen arbeiten? Wurde das Dokument gelesen? doc.GetRead([username]) • Ab Release 8.5 • Gibt „true“ zurück, wenn das Dokument vom aktuellen User gelesen wurde • Wird ein Username angegeben, wird der Lesestatus dieses Users zurückgegeben
  62. 62. DNUG Konferenz: Wie werden wir morgen arbeiten? @Midas Lookups Ben Langhinrichs ( genii software ) Auslesen von Daten aus RichText Syntax wie @DBColumn und @DBLookupFree download: http://www.geniisoft.com/showcase.nsf/MidasLookups
  63. 63. DNUG Konferenz: Wie werden wir morgen arbeiten? @Midas Lookups Erweiterte Möglichkeiten Beispiel: Sortierte Ausgabe aller Listenpunkte
  64. 64. DNUG Konferenz: Wie werden wir morgen arbeiten? Ist RichText Item leer?? @Length(@Text(body))-1 @Attachments rtitem.ValueLength rtitem.EmbeddedObjects • Attachments OK • Aber: Doclinks, Inline Images, Hotspots (Button)
  65. 65. DNUG Konferenz: Wie werden wir morgen arbeiten? Ist RichText Item leer?
  66. 66. DNUG Konferenz: Wie werden wir morgen arbeiten? Arbeiten mit RichText C/C++ API oder LS2CAPI Normunds Kalbernzin • LotusScript to Lotus C API Programming Guide ( ls2capi.com ) Lee Powell • LotusScriptors Plain Simple Guide to the Lotus Notes C++ API • Download : http://www.eknori.de/downloads/capibook.pdf Ethann Castell • Getting started with the C-API • Control rich text content with precision using the C-API • The View, 09 / 11 , 2007
  67. 67. DNUG Konferenz: Wie werden wir morgen arbeiten? Einordnung der C-API JAVA Lotus Script Visual Basic (COM) JNI Notes Object Interface (NOI) C++ API Notes Core ( C API ) Betriebssystem
  68. 68. DNUG Konferenz: Wie werden wir morgen arbeiten? Ist RichText Item leer? LS2CAPI to the rescue! • Leeres RTI besitzt nur einen CDRecord von Typ Text
  69. 69. DNUG Konferenz: Wie werden wir morgen arbeiten? Header / Footer Erstellen / Ändern • Anwendungseigenschaften ( global ) • Dokumenteneigenschaften Keine Möglichkeit über @Formel oder LotusScript
  70. 70. DNUG Konferenz: Wie werden wir morgen arbeiten? Header / Footer Informationen sind in RichText item gespeichert
  71. 71. DNUG Konferenz: Wie werden wir morgen arbeiten? Header / Footer LotusScript Library / LS2CAPI
  72. 72. DNUG Konferenz: Wie werden wir morgen arbeiten? Inline Images Auf Inline Images kann nicht über die embedded objects Eigenschaft zugegriffen werden Inline Images werden z.B. nicht bei DAOS berücksichtigt. Es gibt keine Methoden, um Inline Images mit LotusScript so umzuwandeln, daß sie als Anhang im Dokument gespeichert werden.
  73. 73. DNUG Konferenz: Wie werden wir morgen arbeiten? Inline Images Wie ist ein Inline Image gespeichert ?
  74. 74. DNUG Konferenz: Wie werden wir morgen arbeiten? Inline Images Andre Guirard http://www.openntf.org/internal/home. nsf/project.xsp?action=openDocument &name=LotusScript%20Gold%20Coll ection
  75. 75. DNUG Konferenz: Wie werden wir morgen arbeiten? Inline Images rtLib: framework of LotusScript classes to work with Notes Rich Text on 32-bit versions of Domino on AIX, Solaris (SPARC), Linux, MacOS, OS X (currently PowerPC only) and Windows. Normunds Kalnberzins http://www.rtlib.com/
  76. 76. DNUG Konferenz: Wie werden wir morgen arbeiten? Replace Inline Image Bilder, die aus der Zwischenablage in ein Dokument eingefügt werden, werden bei DAOS nicht berücksichtigt. Methoden zum Umwandeln in ein Attachment gibt es in Lotus Notes nicht. Funktion muss folgende Voraussetzungen erfüllen • Umwandeln des inline image in ein Attachment • Ersetzen des inline image durch das Attachment • Beibehalten der Position
  77. 77. DNUG Konferenz: Wie werden wir morgen arbeiten? Replace Inline ImageDas Attachment wird an diePosition des Inline Image gesetzt.
  78. 78. DNUG Konferenz: Wie werden wir morgen arbeiten? Insert Richtext into Richtext notesRichTextRange.FindAndReplace( target$ , replacement$ , [ options& ] ) Damit lässt sich aber nur Text innerhalb von RichText finden und ersetzen Für das Einfügen eines kompletten RichText Items oder Teile davon an eine definierte Stelle in einem anderen RichText Item gibt es keine Methode.
  79. 79. DNUG Konferenz: Wie werden wir morgen arbeiten? Insert Richtext into Richtext
  80. 80. DNUG Konferenz: Wie werden wir morgen arbeiten? Insert Richtext into Richtext
  81. 81. DNUG Konferenz: Wie werden wir morgen arbeiten? JW Player - Mediaplayer JW Player: Ein paar Zeilen Code für einen Mediaplayer für Flash und HTML5 support Skins http://www.longtailvideo.com/players/
  82. 82. DNUG Konferenz: Wie werden wir morgen arbeiten? JW Player - Mediaplayer
  83. 83. DNUG Konferenz: Wie werden wir morgen arbeiten? jQuery freie, umfangreiche JavaScript-Klassenbibliothek, welche komfortable Funktionen zur DOM-Manipulation und - Navigation zur Verfügung stellt http://www.reizkraft.com/content/die-43-sch%C3%B6nsten-jquery-plugins- f%C3%BCr-webdesign Animated gif created with http://picasion.com/
  84. 84. DNUG Konferenz: Wie werden wir morgen arbeiten? Xpages und @Formula Nur 97 der 274 @Formeln können in SSJS verwendet werden – http://www- 10.lotus.com/ldd/ddwiki.nsf/dx/List_of_Formula_Not_Supported_In_XPages Michael Gollmick hat ein paar Formeln umgesetzt • @WebDBName – http://blog.gollmick.de/mgoblog.nsf/40f2c735481f54dd80256d650047636c/0 687660450ad65bdc125754a008357ce?OpenDocument • @URLEncode, @URLDecode – http://blog.gollmick.de/mgoblog.nsf/dx/some-more-Functions-for-XPages- URLEncode-URLDecode.htm
  85. 85. Q+A• Mail: eknori@eknori.de• Blog: http://www.eknori.de• Sametime: bleedyellow.com• Twitter: eknori

×