Developing XPages - Part I - RKJ-Soft EntwicklerCamp 2013 - Home
EntwicklerCamp 2014Lab 3-1: Setting up Social Edition Beispiel Embedded Experiences Lab 3-3:...
Transcript of EntwicklerCamp 2014Lab 3-1: Setting up Social Edition Beispiel Embedded Experiences Lab 3-3:...
-
© 2014 IBM Corporation
iNotes und XPagesMatthias Schneider
Leading Technical Sales Professional - IBM Social Business and Collaboration SolutionsIBM Deutschland GmbH
EntwicklerCamp 2014
-
© 2014 IBM Corporation
Embedded Experiences: XPages in iNotes iNotes-Elemente in XPages Die Praxis: Jetzt dürfen Sie ran! Q & A
Agenda
-
© 2014 IBM Corporation
Wie anpassbar ist iNotes
Alles was zum Browser geht, wird über Designelemente gesteuert – eigentlich wie bei Notes...
Aber... Es gibt grundlegende Unterschiede zu XPages und “normalen” Domino Webanwendungen─ Die Verarbeitung erfolgt 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.)
Grundlegende Herausforderung: Verstehen, was ich anfassen muss um das gewünschte Verhalten zu erzielen
-
© 2014 IBM Corporation
mail\JUser.nsf
iNotes\Forms9.nsf
Referenzen
Domino Server
iNotes\Forms9_x.nsf
Browser
Design von Ansichten
Daten
Großteil des Designs:
CSS, JavaScript, Bilder, HTML
Anpassungen
mail9.ntfForms9_x.ntf
Referenzen
Rendering in iNotes
-
© 2014 IBM Corporation
Embedded Experiences und OpenSocial Gadgets
Embedded Experiences ermöglichen es dem Anwender, Einträge aus dem ActivityStream zu öffnen und mit ihnen im Kontext zu interagieren – aber noch weitaus mehr!
Support für Embedded Experiences:─ IBM Connections 4 CR2 (Persönliche und Community Activity Streams)
─ IBM Connections 4 CR2 Mail
─ IBM Notes 9 und IBM iNotes 9
Embedded Experiences enthalten entweder ...─ Beliebige Webseiten oder...
─ OpenSocial Gadgets
XPages!!
-
© 2014 IBM Corporation
Web Pages vs OpenSocial Gadgets in Embedded Experiences
Webseiten─ URLs zu Webseiten, Rendering in iFrames
─ Kontext wird via URL-Parameter übergeben
─ SSO und Basic Authentication
─ (Zugriff auf IBM Connections via IBM Connections REST API)
OpenSocial Gadgets─ XML Descriptoren
─ Kontext wird via OpenSocial Container übergeben
─ OAuth und SSO (SSO nur in IBM Connections 4, nicht IBM Notes 9)
─ OAuth zu Drittanbietern wird über den Container gesteuert
─ Zugriff auf IBM Connections via IBM Connections REST API
─ Erweiterung von Menüs und Aktionsleisten
─ Zwei Arten (Beide verwenden iFrames)– URL Content– HTML Content
-
© 2014 IBM Corporation
Beispiel: Embedded Experiences – ohne Connections!!
Vorbereitung:─ Einrichtung von OpenSocial für Notes und iNotes
─ https://www.ibmdw.net/social/docs/enabling-opensocial-gadget-support-on-ibm-notes-and-domino-9-0/
Beispiel-Anwendung:─ Trouble Tickets Notes-to-XPages Example
─ http://www.openntf.org/internal/home.nsf/project.xsp?r=project/Trouble%20Tickets%20Notes-to-XPages%20Example/summary
─ Erfordert SBTK
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
Erweiterung von Aktionen
Menüs und Aktionsleisten lassen sich über OpenSocial Gadgets nahezu beliebig erweitern
Verwendung der OpenSocial Container Services API und der folgenden Services:
– gadgets.selection: Andocken am Ereignis-Modell der Auswahl innerhalb des Containers– gadgets.actions: Andocken an Schaltflächen und Menüeinträgen im Container-UI– gadgets.views: Öffnen und Schließen von Gadgets und Seiten im Container
Erweiterungspunkte für IBM Notes und IBM iNotes und deren existierende Popup-Menüs und Toolbars
-
© 2014 IBM Corporation
Beispiel: OpenSocial Gadgets in iNotes
Beispiel-Anwendung:─ Trouble Tickets Notes-to-XPages Example
─ http://www.openntf.org/internal/home.nsf/project.xsp?r=project/Trouble%20Tickets%20Notes-to-XPages%20Example/summary
─ Eine leere Datenbank mit einem Gadget...
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
]]>
*
...
OpenTickets.xml
-
© 2014 IBM Corporation
…
function status(str) { document.getElementById("status").innerHTML = str; if (gadgets.util.hasFeature('dynamic-height')) { gadgets.window.adjustHeight(); } }
function findMessage(selection) { selection = [].concat(selection); var message; for (var i = 0, selected; !message && (selected = selection[i]); i++) { if (selected.type && selected.dataObject && selected.type.toLowerCase() == 'opensocial.message')
{ message = selected.dataObject; }
} return message; }
function searchTicket(selection) { var message = findMessage(selection); var said=message.senderId; var url="http://nd9de.pscbln.de.ibm.com/TroubleTicketsSE.nsf/employeeHome.xsp?name=" if (said) { var said2=said.substring(said.indexOf(":")+1);
url=url+said2; } document.getElementById('XPageGadget').src=url; } …
-
© 2014 IBM Corporation
...
gadgets.util.registerOnLoadHandler(function() { gadgets.actions.updateAction({
id: "org-trouble-searchTicketMessage", callback: searchTicket });
if (gadgets.util.hasFeature('dynamic-height')) { gadgets.window.adjustHeight(); } });
]]>
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
iNotes-Designelemente für XPages
content─ Anzeige des iNotes-Kalenders
content─ iNotes Kalender-Storagekomponente
content─ iCal-Storagekomponente
content─ Anzeige einer Ansicht als iNotes-Listenansicht
content─ Spalte einer iNotes-Listenansicht
content─ Design einer iNotes-Listenansicht
content─ Storagekomponente einer iNotes-Listenansicht
-
© 2014 IBM Corporation
-
© 2014 IBM Corporation
Beispiel
-
© 2014 IBM Corporation
Beispiel
● iNotes-spezifisches Format der Daten (vordefinierte Spalten etc.)
-
© 2014 IBM Corporation
Und jetzt...
...dürfen Sie ran!
-
© 2014 IBM Corporation
Schritte Einrichtung von OpenSocial und Embedded Experiences
─ Lab 3-1: Setting up Social Edition
Beispiel Embedded Experiences─ Lab 3-3: Embedded Experiences and Activity Streams
─ für 9.0.1: – TroubleTicketsSE.nsf– Social Business Toolkit SDK – 20140125– Leere gadgets.nsf mit importierter OpenTickets.xml (Dateien)
Beispiel iNotes Custom Controls─ XPDemo1.nsf – oder Teamroom...
Was brauchen Sie?─ Domino 9.x
─ Designer 9.x
─ Übungsunterlagen + Code Snippets
-
© 2014 IBM Corporation
Fragen?