entwicklercamp 2015 entwicklung für inotes: best practices ... · entwicklung für inotes: best...

Post on 09-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Entwicklung für iNotes: Best Practices und typische AnforderungenMatthias Schneider

Leading Technical Sales Professional - IBM Social Business and Collaboration SolutionsIBM Deutschland GmbH

EntwicklerCamp 2015

© 2015 IBM Corporation

Wer bin ich?

© 2015 IBM Corporation

Agenda

Verse Wie anpassbar ist iNotes? Grundlagen iNotes umbauen – Wo fange ich an Anforderungsbeispiele:

─ “Ich brauch einen zusätzlichen Knopf in den Vorgaben!”

─ “Neue Mails sollen automatisch vorbefüllt werden!”

─ “Ich will das in Rot und mit meinem Logo!”

Best Practices

© 2015 IBM Corporation

Verse vs. iNotes?

5 © 2015 IBM Corporation

Verse

Domino als Dreh- und Angelpunkt – Der Zugriff erfolgt über den Client Ihrer Wahl!

© 2015 IBM Corporation

Verse ist perspektivisch die nächste Evolutionsstufe für Web-basierte PIM-Funktionen der IBM.

Verse bietet keine “klassische” Ordner-basierte Inbox sondern führt dynamisch, auf Basis von IBM Content Analytics und Anwender-Vorgaben, Informationen aus Mail und weiteren Kommunikationskanälen zusammen.

Verse kann als “Cockpit” für iNotes dienen – ähnlich wie der ActivityStream in Kombination mit Connections.

Verse und iNotes schließen sich nicht aus! Nicht alle Anwendungsfälle passen auf den Verse-Filteransatz. Nicht jeder iNotes-Anwender ist “Wissensarbeiter”.

Bis zur Verfügbarkeit von Schnittstellen / APIs für Verse wird es noch etwas dauern.

iNotes und Verse nutzen Domino, dessen Abwärtskompatibilität legendär ist.

Deshalb: iNotes bleibt – gerade auch mit dem Plugin für Anwendungen - weiter eine wichtige Client-Option.

Verse vs. iNotes?

© 2015 IBM Corporation

Alles was zum Browser geht, wird über Designelemente gesteuert – eigentlich wie bei Notes...

Aber... Es gibt grundlegende Unterschiede zu “normalen” Domino Webanwendungen oder XPages─ Die Verarbeitung erfolgt bei iNotes hybrid, d.h. nicht nur über das Template gesteuert

─ Nutzung einer eingeschränkten Liste an Domino Web-Kommandos und einigen speziellen URL-Argumenten

─ Verwendung von Tags zur Steuerung der Felder, die über ein POST von der jeweiligen Seite übertragen werden dürfen

─ Verwendung spezieller Server-seitiger Formeln

─ Weitgehender Verzicht auf Agenten (Wie wir sehen werden, kann ich die aber verwenden.)

Wie anpassbar ist iNotes?

© 2015 IBM Corporation

Wie anpassbar ist iNotes?

Unser Ziel vom letztjährigen Workshop: Verstehen, was ich anfassen muss, um das gewünschte Verhalten zu erzielen

Unsere Ziele diesmal: ─ Wie fange ich an?

─ Welche Fallstricke muss ich kennen, damit ich Aufwände sauber planen kann?

─ Wie schinde ich mit simplen Änderungen schnell Eindruck?

─ Wo sage ich besser nein?

© 2015 IBM Corporation

Unser Beispiel aus dem letzten Jahr

© 2015 IBM Corporation

Unser Beispiel aus dem letzten Jahr

© 2015 IBM Corporation

Was machen wir diesmal?

Umgang mit “Classic” FormsKomplexitätmittel

© 2015 IBM Corporation

Was machen wir diesmal?

Vorbefüllungen von Mails – plus Eingriff in StandardfunktionenKomplexitätmittel

© 2015 IBM Corporation

Was machen wir diesmal?

Anpassungen von Logo und Farben Komplexitätgering

© 2015 IBM Corporation

mail\JUser.nsf

iNotes\Forms9.nsf

Domino ServeriNotes\Forms9_x.nsf

Browser

Referenzen

mail9.ntfForms9_x.ntf

Design-Container in iNotes

15 © 2015 IBM Corporation

Muss ein Extension Forms-Template verwenden, das der Dienst bereitstellt Anpassungen sind limitiert

Extension Forms Files in IBM SmartCloud Notes

© 2015 IBM Corporation

Generelle Anpassungswege für iNotes

Policies Aktivieren/Abschalten von Funktionsbereichen Anpassen spezieller Masken (Custom_*), die genau dafür gedacht sind

─ Anpassen von Einträgen in der Menüleiste

─ Anpassen von Spalten in Ansichten

─ Hinzufügen zentraler Header-Bereiche

─ Anpassen des Banner-Logos

─ Hinzufügen von Fonts zum Richtext-Editor

Bearbeiten von Skins und Stylesheets Anpassen weiterer Masken

© 2015 IBM Corporation

iNotes Mail Policies Shared Mail Policies Shared Des ktop Policies Other Policies

• User UI Mode• Functional Areas• Functional Area at Login• Maximum Attachment Size• Mail Threads• Remote Image Display• Browser Cache Management• Logout Scrubbing• Allowing Attachments• Instant Messaging Features• Default Spell Check Dictionary• iNotes ActiveX• Enabling Feeds• Widget Enablement• Lotus Quickr Integration• Calendar Subscriptions• Offline Settings• Refresh Inbox automatically• Enable Unread Count• Auto Update Unread Count• Enable Scroll Hints• Disable Warning on opening

Attachments• Filter out Images from Emails• Proxy Servlet Name/URL Pairs• Show Preferences• Allow Archiving on the Server• Allow local Archiving● Initial Sidebar Display State ● iNotes Display Language● Extensions Forms File● Docs / Connections integration

• Mail Basics• Follow up• Attention Indicators• Message Recall• Calendar Basics• Calendar Display• Notices• Scheduling• Automatic Processing• Rooms and Resources• Mail and Calendar• Disclaimer Text• Disclaimer Position

• Right Double-click to close• Mark Documents read on Preview• Save sent Mail• Sign sent Mail• Encrypt sent Mail• Mail Notification• Internet Mail Format• Prefix each Line with a Char• Wrap Lines at a certain Length• Widgets

Security Password ExpirationPassword QualityCertificate ExpirationNotes ID VaultiNotes Proxies

ArchiveServer-based

ArchivingProhibit ArchivingProhibit private

Archiving Criteria

© 2015 IBM Corporation

Aktivieren/Abschalten von Funktionsbereichen

Policies INI Parameter: iNotes_WA_Areas

─ Achtung: Falls die Policy abweichend gesetzt ist, greift diese!

─ Format: iNotes_WA_Areas = ABCDEF– A = Willkommen– B = Mail– C = Kalender– D = ToDo– E = Kontakte– F = Notebook

─ Beispiel:– iNotes_WA_Areas = 010010 deaktiviert alle Funktionen außer Mail + Kontakte

19 © 2015 IBM Corporation

Einige Einstellungen sind verfügbar in den SCN Administration Account Settings

System Settings – IBM SmartCloud Notes Manche Einstellungen für Profildokumente sind geschützt

Policies in der SmartCloud Notes

© 2015 IBM Corporation

Aktivieren/Abschalten von Funktionsbereichen

URL-Argumente─ &PresetFields

– Beispiel: http://nd85.pscbln.de.ibm.com/mail/dadminis.nsf/iNotes/Calendar/?OpenDocument&PresetFields=h_SkinTypeOverride;h_Blank,s_CalView;2,s_CalDate;20090301

http://nd85.pscbln.de.ibm.com/mail/dadminis.nsf/iNotes/Mail/?OpenDocument&PresetFields=h_SkinTypeOverride;h_Blank,s_ViewLabel;Sent,s_ViewName;%28$Sent%29

– Dokumentation:iNotes Web Access Deployment Guide (Google ist dein Freund...)

─ &Layout– Beispiel:

http://nd85.pscbln.de.ibm.com/mail/dadminis.nsf/iNotes/Contacts/?OpenDocument&layout=BN!H*MS!H*OF!H*LO!H*SW!H*LP!C

– Dokumentation:http://www-10.lotus.com/ldd/dominowiki.nsf/dx/iNotes_Programmatic_URL_Usage

© 2015 IBM Corporation

Seit 8.5 alles in Ajax?

Der “Full Mode” verwendet nun die mit 8.0.1 eingeführte “Lite”-Architektur Tabbed UI über Widgets Ausnahmen bestätigen die Regel: Einige Masken nutzen immer noch die

“Classic”-Architektur● “Full Mode”-Kalender, Kontakte, ToDo, Notebook-Einträge● “Lite Mode”-Kalender und Kontakt-Einträge● Homepage● Vorgaben

Masken etc., die die “Lite”-Architektur neu verwenden, haben ein “_Lite” im Namen

© 2015 IBM Corporation

“Echtes” Anpassen: Wie fange ich an?

Domino installieren – am besten 9.0.1 mit aktuellem Fixpack Werkzeugkasten installieren

─ Domino Designer

─ ggf. Tools wie TeamStudio oder Ytria

─ Firefox mit Firebug, Safari, IE

Forms9_x.nsf anlegen─ Änderungen hier lassen das Standard-Design unangetastet

Doku (Wiki) lesen Beispiele ausprobieren

─ Diese und die letzten EntwicklerCamp-Sessions...

Loslegen!

© 2015 IBM Corporation

Firefox─ Firebug

IE─ Developer Toolbar (in IE9 und später: F9) oder Visual Studio

Safari─ Develop-Menü

Chrome─ Developer Tools

“Obfuscation-Tabelle”─ ObfuscationList.txt in Shared Resources\Files

Debugging

© 2015 IBM Corporation

Log Messages für die iNotes Konsole● Beispiel: AAA.EVI.sr(level, “”,"message”);

– Level:● 0 = error● 1 = warning● 2 = info● 3 = detail

Logging

© 2015 IBM Corporation

Aufbau einer Webseite in iNotes

Alle Masken/Teilmasken verwenden Passthru-HTML Spezielle Tags werden durch den Server interpretiert:

─ Skin einfügen

─ Skin-Komponenten einfügen

─ Teilmasken einfügen

─ Berechnete Blöcke (@formulas)

─ Ermittlung persistenter und berechneter Items

“Full Mode” verwendet nun die die “Lite Mode”-Architektur─ Kombination von Skin-Komponenten (geladen durch den Server) und Widgets (Client)

─ mehr AJAX (“Lazy Loading” etc.)

© 2015 IBM Corporation

...oder vereinfacht dargestellt:

Backend-Code kümmert sich um die Domino-Welt

Frontend-Code baut die HTML-Seitenstruktur

Stylesheets machen alles bunt

Der Rest - gefühlte 80% von iNotes – sind weitgehend kryptisches JavaScript

© 2015 IBM Corporation

Der zentrale Einstieg: Teilmaske Custom_JS_Lite in der Forms9_x.nsf

Teilmaske mit jeder Menge (verständlichem) JavaScript: Hier lassen sich viele typische Anpassungen zentral einpflegen

Statische externe Script-Datei, die in alle wesentlichen Seiten eingebunden ist

Die Scriptseite wird im Server abgelegt – Änderungen erfordern mindestens ein “tell http inotes flushforms”

Hier können Sie auch eigene Funktionen, die von verschiedenen Seiten aus aufrufbar sein sollen, ablegen

– Hinweis: Code, der Anwender- oder Session-spezifischen Formeln enthält, gehört in die l_SessionInfo / f_SessionInfo / s_SessionInfo

© 2015 IBM Corporation

Custom_Scene_Actions_Lite Hinzufügen, Entfernen oder Anpassen von Aktionen

Custom_Scene_PostLoad_Lite Ausführung nach Initialisierung jedes Widgets

Custom_Scene_PreSubmit_Lite Ausführung, bevor eine Aktion an den Server zur Ausführung übergeben wird

API_TimeZones_Lite Hinzufügen von Zeitzonen

API_SetPortalMailViewColumns_Lite Festlegen der in Mail-Ansichten anzuzeigenden Spalten

API_GetWhoAndAltWhoColNamesForView_Lite

Festlegen der anzuzeigenden Spalte bei aktivierten alternativen Namen

Callbacks and Functions

Der zentrale Einstieg: Teilmaske Custom_JS_Lite in der Forms9_x.nsf

© 2015 IBM Corporation

API_GetSelectedDocs_Lite Rückgabe eines String-Arrays mit den UNIDs ausgewählter Dokumente

API_IsView_Lite “Ja” für Ansichten

API_GetMailfilePath_Lite Rückgabe des URL-Pfades mit “.nsf”

Helpers

addActionsLite Hinzufügen neuer Menüs oder Untermenüs zur Aktionsleiste

removeActionsLite Entfernen von Menüs oder Untermenüs

repositionActionsLite Positionsänderungen

checkActionIDs Anzeige der IDs von Menü-Elementen – sehr entwicklerfreundlich!

checkActionPositions Anzeige von Positionsnummern

Mehr in der Custom_ActionsHelper Teilmaske:_te

Sinnvolle Funktionen in Custom_JS_Lite

© 2015 IBM Corporation

Hilfreich für den Entwickler: Aufruf der folgenden Funktionen führt zur Anzeige von ID oder Position der Menü-Einträge

checkActionIDs( s_MenuID ) - Neue Architektur─ Anzeige der Menü-ID bei MouseOver

checkActionPositions(s_TopBranchId) - “Classic”-Masken─ Anzeige der Positionsnummer neben dem Menü-Eintrag

“Bau mir da mal bitte einen Knopf ein”

© 2015 IBM Corporation

Custom_Welcome Anpassbarkeit der Panel-Auswahl

Custom_JS_Edit Hinzufügen neuer Fonts zum Richtext-Editor

Custom_Masthead Hinzufügen eines zentralen Header-Bereiches

Custom_CSS Hinzufügen von CSS-Styles

Custom_Banner_Lite Banner anpassen

Custom_Page_Dictionary 1 NotesVariablen für die Nutzung in Custom_CSS

Custom_xxx_Dictionary 2 Einbinden neuer Notes-Felder und -Variablen

Custom_LazyLoad_Subforms 2 Hinzufügen von Code zur LazyLoad-Tabelle

Custom_Logout 2 Ausführbarer Code bei Logout

Custom_About 2

Custom_SessionInfo 3

Classic_Custom_SessionInfo 4

Anzeige der Version der Forms-Datei sowie weiterer Daten in der iNotes Konsole

Hinzufügen von Informationen zum SessionInfo-Objekt

1 Neu in 8.5.1 3 Neu in 8.5.32 Neu in 8.5.2 4 Neu in 9

Zusätzliche Masken / Teilmasken zum Anpassen

© 2015 IBM Corporation

8.5.2

Keine Design-Vererbung der Extension Forms-DatenbankAblage von Agenten in der Extensions Forms-Datenbank möglich

Neue Teilmasken: Custom_xxx_DictionaryCustom_LazyLoad_SubformsCustom_LogoutCustom_About

8.5.3

Aktualisieren von Menü-Einträgen möglichPolicy für Extensions Forms-DatenbankCustom_SessionInfoiNotes_WA_RunQOAgentsForNewLiteForm

9.0

Classic_Custom_SessionInfoCustom_Masthead verbirgt automatisch Standard-HeaderStandard-Header anpassbar über Custom_Scene_Actions_Lite

Änderungen in 8.5.x und 9.0

© 2015 IBM Corporation

Simples Überschreiben von Strings (statt Anpassen von Standard-Files):Einfach dwa_xx.properties zu den Extension Forms Ressourcen hinzufügen und den zu ersetzenden String dort aufnehmen

Simples Überschreiben von Teilmasken!!Gleichnamige Teilmasken in der Extension Forms werden anstelle der Standard-Quellen verwendet

Anpassung des Verhaltens bei Namens-LookupsHinzufügen einer Teilmaske “Template_NameLookupCard” (für On-Premises) oder “Template_NameLookupCard_SaaS” (für SmartCloud Notes Web). Hier kommt der HTML-Code rein, der das Format beschreibt. Beispiele finden sich in “Template_NameLookupCard” und “Template_NameLookupCard_SaaS” in der Forms9.nsf

Änderungen in 9.0.1

34 © 2015 IBM Corporation

Umbenennen von Forms85_x.nsf in Forms9_x.nsf Ausführung eines Agenten, der das Feld $FormsTemplateFile im Datenbank-

Icon ändert:– "iNotes/Forms9.nsf"

(http://www-10.lotus.com/ldd/nd85forum.nsf/5f27803bba85d8e285256bf10054620d/ed3a 7d9fde2383a28525754a006d6c39?OpenDocument )

Von 8.5 nach 9...

35 © 2015 IBM Corporation

Gut zu wissen...

http://www-01.ibm.com/support/docview.wss?uid=swg21659371

© 2015 IBM Corporation

Anpassungen des “Ultra-light Mode”

Styles:─ m_StyleSheet_xxx

─ iphone.css und standard.css – für 8.5 und älter

Keine Verwendung von Skins Layout und Code werden in m_xxx Masken und Teilmasken kombiniert Grafiken liegen in mxxx Dateien in Shared Resources\Files

© 2015 IBM Corporation

Neue Ressourcen referenzieren

Hinzufügen zur Extension Forms Datenbank─ Ablegen unter Shared Resources\Files

─ src="/iNotes/Forms9_x.nsf/LotusSoftware.png"

─ background-image:url(@{s_EFF}/act-hyper-hover-images.gif?OpenFileResource&MX);

Ablage auf dem Domino Server─ <Domino data directory>\domino\html

─ src="/file.html"

Ablage auf einem externen Server─ src=”http://www.server.com/file.gif'

© 2015 IBM Corporation

Noch mehr Anpassbarkeit...

Gradient Fills (=Vektorgrafiken bei modernen Browsern)─ Spezielle Parameter in dwa.properties

Konsolidierte Icons─ Eine Bilddatei enthält verschiedene Icons

─ Icons werden über die x, y-Koordinaten im Style ausgewählt

─ Dateien: basicicons.gif, commonactionicons.gif, commonactionicons.gif,mailoutlineicons.gif, viewactionicons.gif

© 2015 IBM Corporation

iNotes Code/Forms

Geladen durch InsertNotesSubForm Browser-spezifisch ;-((

─ xxxCode – IE

─ xxxCode_Gecko – Mozilla

─ xxxCode_Safari – Safari

f_xx – genutzt durch “Full Mode” l_xx – genutzt durch “Lite” und “Full Mode” INI-Einstellungen iNotes_WA_Debug_SubForms=1 – Namen der

Teilmasken werden auf der Serverkonsole beim Laden angezeigt

© 2015 IBM Corporation

<InsertNotesSubForm Name=SubFormName>─ Der Name kann ein berechneter Wert sein

– <InsertNotesSubForm Name=@{...}>

– Bedingungen über @If sind möglich– optional="yes" für optionale Teilmasken

<NotesDictionary>…</NotesDictionary>─ Block, der NotesVar und NotesField Tags enthalten kann

Spezielle Tags auf Serverseite

© 2015 IBM Corporation

<NotesField Name=ItemName>─ Definition von persistenten Feldern

– Type=Text|TextList|RichText|Mime|Number|NumberList| Time|TimeList

– InitialValue=

• Prüfung, falls das Item im Dokument nicht existiert– Value=

• Prüfung wenn die Seite generiert und gespeichert wird

─ Beispiel:

– <NotesField Name=Subject>

<NotesVar Name=ItemName>─ Definition eines nur zur Anzeige berechneten Items

─ Gleiche Element-Attribute wie bei einem Notes-Feld

Alle diese Tags unterstützen ein includeif={@formula} Attribut für Bedingungen

Spezielle Tags auf Serverseite

© 2015 IBM Corporation

...bringen Sie das neue NotesField in der Teilmaske xxxDictionary unter ...bauen Sie das HTML-Gegenstück in den Teilmasken xxxRead bzw. xxxEdit

ein ...mit Zuweisung des Feldwertes zum entsprechenden HTML-Item ...für Bearbeiten-Masken: Fügen Sie eventuell Initialisierungs- und Validierungs-

Routinen hinzu

Details hierzu im Wiki: ─ Manipulating Data in iNotes Lite forms

Manipulating Data in Domino Web Access (developerWorks)

Um ein neues Feld hinzuzufügen...

© 2015 IBM Corporation

QueryOpen/QuerySave Agenten

Lotus iNotes verwendet diese in der Kernanwendung nicht Für die Nutzung ist ein Eintrag in der NOTES.INI erforderlich:

iNotes_WA_QueryAgents=1 Zwei Notes Variablen steuern das Einbetten von Agenten:

─ $$QueryOpenAgent

─ $$QuerySaveAgent

─ Beispiel:

– <NotesVar NAME={$$QuerySaveAgent} INITIALVALUE={“YourAgent”}>

Ab 8.5.2 können Agenten auch in der Extension Forms-DB liegen

© 2015 IBM Corporation

Jetzt wird es konkret!

Was brauchen Sie für die folgenden Übungen?─ Domino 9.x

─ Designer 9.x

─ Browser

─ Übungsunterlagen + Code Snippets

© 2015 IBM Corporation

“Ich will die Vorgaben erweitern!”

Komplexitätmittel

© 2015 IBM Corporation

“Ich will die Vorgaben erweitern!”

Fallstricke: “Classic” Design – kein Ajax, keine Custom_JS_Lite Browser-spezifische Masken, d.h. im Extremfall wird alles 3 Mal eingebaut

(IE, Gecko, Safari) Vor 9.0.1 zwingend Anpassung des Standard-Designs (Forms9.nsf) nötig Mit 9.0.1 wird alles gut – oder zumindest besser

© 2015 IBM Corporation

Wo fange ich an?

© 2015 IBM Corporation

Das Domino Backend

Interne Signatur

Externe Signatur

Automatisch einfügen

Änderungen speichern

© 2015 IBM Corporation

Das Web Frontend

Interne Signatur Externe Signatur

Automatisch einfügenÄnderungen speichern

© 2015 IBM Corporation

Das Seiten-Design verstehen

© 2015 IBM Corporation

Alter Code

Neuer Code

Best Practice: Änderungen nachvollziehbar halten!

© 2015 IBM Corporation

© 2015 IBM Corporation

Textmuster anpassen und hinzufügen

© 2015 IBM Corporation

“Mein Mail soll automatisch - und auf Wunsch - vorbefüllt werden”

Komplexitätmittel

© 2015 IBM Corporation

Fallstricke: Ajax, Custom_JS_Lite als Einstieg Trotzdem: Browser-spezifische Masken, d.h. im Extremfall wird alles 3 Mal

eingebaut (IE, Gecko, Safari) Jede Menge JavaScript Aber: Mit 9.0.1 muss auch hier zumindest kein Standard-Design (Forms9.nsf)

mehr angefasst werden

“Mein Mail soll automatisch - und auf Wunsch - vorbefüllt werden”

© 2015 IBM Corporation

Wo fange ich an?

© 2015 IBM Corporation

Das Web Frontend

iNotes Signatur...für den Fall dass Notes und iNotes unterschiedliche Signaturen verwenden dürfen

© 2015 IBM Corporation

Was passiert beim Hinzufügen des Standard-Footers?

© 2015 IBM Corporation

Was passiert beim Hinzufügen des Standard-Footers?

Alter Code

© 2015 IBM Corporation

Funktionen parametrisierbar machen

Falls du von irgendwo einen Parameter bekommst, leg den in das Standard-Feld und mach weiter wie gehabt.

Hol dir die Signatur aus denVorgaben per Agent aus dem Profildokument

© 2015 IBM Corporation

Funktionen parametrisierbar machen

Ausblenden derStandard-Signaturoption

© 2015 IBM Corporation

Was passiert beim Erstellen des Mails?

Die Funktion GuH(..) fügt den eigentlichen Footer hinzu – entweder automatisch oder auf Wunsch des Nutzers

© 2015 IBM Corporation

Die eigentliche Footer-Funktion

Prüfe ob du über das Menü (Mehr > Extern / Intern) aufgerufen wurdest. Wenn ja, nimm die zuvor in der Funktion Gno(...) abgelegte Signatur und mach weiter wie gehabt.

Wenn Du keine übergebene Signatur findest, bist du wahrscheinlich nicht über dieses Menü aufgerufen worden sondern sollst einfach nur ein neues Mail erstellen. In dem Fall ruf den Agenten nochmal auf und hol dir die im Profildokument abgelegte Standard-Signatur.

Was diese Funktion künftig zusätzlich tun soll:

© 2015 IBM Corporation

...der endgültige Code

© 2015 IBM Corporation

Frustriert, abgeschreckt...? Es geht auch anders!

Quelle: Computerwoche

© 2015 IBM Corporation

oder

“Ich will da mein Logo und die Firmenfarben!”

Komplexitätgering

© 2015 IBM Corporation

Fallstricke: Es gibt zwei Möglichkeiten:

─ Nutzung der dafür gedachten Teilmasken Custom_Masthead und Custom_CSS in der Forms9_x.nsf

─ In diesem Fall wird eine zusätzliche Header-Leiste eingeblendet und die Navigation angepasst

─ Übernahme und Anpassung der Standard-Teilmasken Common_Masthead und Common_CSS

─ Bei dieser Option ist der Aufwand vergleichbar gering und die Möglichkeiten vielfältiger

“Ich will da mein Logo und die Firmenfarben!”

Dieser Weg ist im Wiki ausführlich dokumentiert!

© 2015 IBM Corporation

Wo fange ich an?

© 2015 IBM Corporation

Phase 1: Platz schaffen

© 2015 IBM Corporation

Phase 2: Beispielcode für ein Banner finden

© 2015 IBM Corporation

...mit kleinen Änderungen

...und anpassen

© 2015 IBM Corporation

Phase 3: Die Linieneigenschaften finden

© 2015 IBM Corporation

...und anpassen

© 2015 IBM Corporation

Elementare Anpassungen sind auch ohne Entwicklung möglich● Richtlinien, Herausgreifen der gewünschten Funktionsblöcke, ...

Logo, Farbgebung etc. sind schnell und einfach anpassbar

Unkritisch ist alles, was über die Custom_*-Teilmasken eingebaut werden kann – genau dafür sind die da!

Dokumentieren Sie Ihre Änderungen!

Zusammenfassung und Best Practices

© 2015 IBM Corporation

Mit 9.0.1 wird es wesentlich einfacher, Änderungen fast beliebiger Komplexität in iNotes einzubauen und dabei das Standarddesign beizubehalten

Durch die Möglichkeit, Änderungen an zentraler Stelle und unabhängig vom Standarddesign abzulegen, reduzieren sich Deployment-Risiken und Projektaufwände massiv

Behalten Sie trotzdem den Prüf-Aufwand bei Upgrades, Fixpacks etc. im Auge! Hier können Tools weiterhelfen, die Änderungen zwischen Forms9.nsf (ALT) und Forms9.nsf (NEU) erkennen.

Zusammenfassung und Best Practices

© 2015 IBM Corporation

Fragen?

top related