der entspannte administrator - how to make your life easier by using tdi to automate your work
TRANSCRIPT
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Der entspannte Administrator -‐ How to make your life easier by using TDI to automate your work
Andreas Artner -‐ Fritz & Macziol GmbH Klaus Bild – WebGate ConsulRng AG
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Über uns
Andreas Artner Teamlead & Senior Consultant
[email protected] @AnderlArtner hVp://tdiblog.anderls.com
Klaus Bild Senior System Architect
[email protected] @kbild hVp://kbild.ch
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Agenda
Einleitung TDI (a.k.a SDI) • Was ist TDI • Wie kann man TDI mit Domino nutzen • Wie kann man TDI mit ConnecRons nutzen • Die Idee und warum TDI Beispiele, Beispiele, Beispiele • Erstellen einer Wiki Seite mit Adressliste von Benutzern aus dem
Domino Adressbuch • Einfacher Post zum AcRvity Stream • Community Mitgliedscha[ über eine Domino ApplikaRon steuern • Post zum AcRvity Stream mit embedded Experience • Export des letzten Logon Datums eines Benutzers per ApplikaRon
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Ziel der Session?
Dieser Vortrag soll Ihnen die Grundlage vermiVeln,
wie Sie den Tivoli Directory Integrator
nutzen können um Daten, die in Domino, ConnecRons oder beliebigen anderen Systeme
gespeichert sind, wieder zu verwenden
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Einleitung – Wer ist hier im Publikum?
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Was ist der Tivoli Directory Integrator (TDI 7.1.1) aka Security Directory Integrator (SDI 7.2)
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Was ist der Tivoli Directory Integrator (TDI 7.1.1) aka Security Directory Integrator (SDI 7.2)
Modi: • AddOnly (A) • CallReply (C) • Delete (D) • Delta (Δ)
• Iterator (I) • Lookup (L) • Update (U) • Server (S)
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Was ist der Tivoli Directory Integrator (TDI 7.1.1) aka Security Directory Integrator (SDI 7.2)
Vorhandene Konnektoren (7.1.1, über 60): AcRve Directory Change DetecRon Connector AssemblyLine Connector Axis Easy Web Service Server Connector Axis2 Web Service Server Connector CCMDB Connector Command line Connector Database Connector Deployed Assets Connector Direct TCP /URL scripRng custom Domino AdminP Connector Domino Change DetecRon Connector Domino Users Connector DSMLv2 SOAP Connector DSMLv2 SOAP Server Connector EIF Connector File Connector File Management Connector Form Entry Connector FTP Client Connector Generic Log Adapter Connector Old HTTP Client Connector HTTP Client Connector Old HTTP Server Connector HTTP Server Connector IBM MQ Connector IBM Directory Server Changelog Connector IdML CI and RelaRonship Connector IT Registry CI and RelaRonship Connector ITIM Agent Connector TIM DSMLv2 Connector JDBC Connector JMS Connector JMS Password Store Connector
JMX Connector JNDI Connector LDAP Connector LDAP Group Members Connector LDAP Server Connector Log Connector Lotus Notes Connector Mailbox Connector Memory Queue Connector Memory Stream Connector ProperRes Connector RAC Connector RDBMS Change DetecRon Connector SAP ABAP ApplicaRon Server Business Object Repository Connector SAP ABAP ApplicaRon Server User Registry Connector Script Connector Server NoRficaRons Connector Simple Tpae IF Connector SNMP Connector SNMP Server Connector Sun Directory Change DetecRon Connector System Queue Connector System Store Connector TADDM Change DetecRon Connector TADDM Connector TCP Connector TCP Server Connector Tivoli Access Manager (TAM) Connector Timer Connector Tpae IF Change DetecRon Connector Tpae IF Connector URL Connector Web Service Receiver Server Connector Windows Users and Groups Connector z/OS LDAP Changelog Connector
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Wie kann man TDI mit Domino nutzen
Vorhandene Konnektoren für Notes/Domino: • Domino Change DetecKon Connector (Mode: I):
Befähigt TDI Änderungen in einer nsf Datenbank auf einem Domino Server zu erkennen und meldet die veränderten Dokumente.
• Domino Users Connector (Mode: ADILU): Liefert Zugriff auf Lotus Domino Benutzer Accounts und ermöglicht das Verwalten dieser Accounts.
• Lotus Notes Connector (Mode: ADILU): Direkter Zugriff auf jegliche Notes Dokumente in jeglicher nsf Datenbank.
• Domino AdminP Connector (Mode: AI): Dieser Konnektor ist eine spezialisierte Version des Lotus Notes Konnektors, DatenbankakRonen werden immer gegen die Datenbank admin4.nsf ausgeführt. Dieser Konnektor kann auch Felder beim Hinzufügen signieren und man kann AdminP requests erstellen.
Oder benutzen eines nicht Domino spezifischen Konnektors: LDAP Connector (ADILUΔ) / HTTP Client Connector (AILC)
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Wie kann man TDI mit Domino nutzen
Unterstütze Session Typen für die Konnektoren:
-‐> IIOP Sessions ergeben die höchste Flexibilität
Supported Sessions > Connectors V
Local Client Session Local Server Session IIOP session
Domino Change DetecRon Connector
Yes No Yes
Domino Users Connector
Yes Yes Yes
Lotus Notes Connector Yes Yes Yes
Domino AdminP Connector
No
Yes Yes
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Wie kann man TDI mit Domino nutzen
Falls IIOP Sessions genutzt werden sollen, muss folgendes im TDI Client gemacht werden:
Die Datei Notes.jar darf nicht im TDI_install_dir/jars Verzeichniss oder einem Unterordner davon vorhanden sein.
Kopieren von Domino_data/domino/java/NCSO.jar nach TDI_install_dir/jars/3rdparty/IBM oder in das Verzeichniss, welches in der Variable com.ibm.di.loader.userjars in der Datei global.properties (oder solution.properties) definiert ist.
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Wie kann man TDI mit ConnecRons nutzen
VorgeferKgte Scripts für IBM ConnecKons: “Offizieller” Weg für Änderungen der imporRerten Benutzer respekRver
Anpassung ihrer Profildaten. Vorhandene Scripts: collect_dns, delete_or_inactivate_employees,
dump_photos_to_files, dump_pronounce_to_files, fill_country/department/emp_type/organization/workloc, load_photos_from_files, load_pronounce_from_files, mark_managers, populate_from_dn_file, sync_all_dns
BenöRgt einen Import der Skripts in das TDI SoluRon Verzeichniss und liefert auch zwei zusätzliche Konnektoren (Profile/Photo).
IBM ConnecKons API: Ermöglicht Zugriff auf fast jede FunkRon, welche man über das ConnecRons
Benutzer Interface nutzen kann. Man kann die Standard TDI Konnektoren nutzen (zB. HTTP Client Konnektor). Leider ist die API DokumentaRon nicht sehr ausführlich.
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Wie kann man TDI mit ConnecRons nutzen
Direkter Zugriff auf die Datenbanken: ConnecRons speichert fast alle Daten im RDBMS, leider sind die
Schemas der Datenbanken von IBM aber nicht beschrieben worden. Über diesen Weg kann man Daten direkt manipulieren, dies ist aber NICHT supported (obwohl einige Partner Lösungen genau dies machen). Das Auswerten von IBM ConnecRons Daten ist so aber direkt möglich.
IBM Social Business Toolkit: TDI ist Java basierend und darum kann das IBM SBT SDK direkt
verwendet werden, um eigene Skript Konnektoren herzustellen. Teile des SDKs müssen in das TDI environment dazu aber imporRert werden. Es ist ratsam Entwickler background mitzubringen.
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Two guys -‐ the same Idea…
Tivoli Directory Integrator
PosKng Events
Retrieving and UpdaKng Data
Any other…
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Warum der Tivoli Directory Integrator ?
IntegraKon -‐ TDI kommt mit über 50 Konnektoren zu den unterschiedlichsten Systemen
Erweiterbar -‐ Java basiert – ein „perfect match“ für das IBM SBT SDK -‐ „Eigene“ Konnektoren können einfach erstellt werden
Flexibel -‐ Daten können einfach verarbeitet und manipuliert werden
Kostenlos -‐ Solange die Daten im Kontext von IBM Domino und/oder IBM ConnecRons
stehen
Look for me
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Der Plan….
Source Systems
IBM ConnecRons
AcRvity Stream, Blogs, Files, W
ikis, etc
Embedded Experience
IBM Social Business Toolkit
TDI Script Connector
TDI HTTP Server Connector
Tivoli Directory Integrator IBM ConnecRons Rest API
TDI HTTP Connector
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Erstellen einer Wiki Seite mit Adressliste von Benutzern aus dem Domino Adressbuch
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Erstellen einer Wiki Seite mit Adressliste von Benutzern aus dem Domino Adressbuch
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
1. Sammeln aller Domino Benutzer im names.nsf: Nutzen des Domino Users Konnektors im Iterator mode, einfach.
Best pracRce:
Nutzen von Property Dateien für Parameter erspart enorm Zeit, wenn die Assembly Lines auch mit anderen Servern resp. Umgebungen genutzt werden sollen!
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
2. Erstellendes Wiki Seiten Atom Dokuments (AL create_Wiki_Entry_Atom):
• Wie muss das Atom Dokument aussehen? -‐> hVp://www-‐10.lotus.com/ldd/appdevwiki.nsf/dx/Wiki_page_content_ic50 oder durch testen im SBT playground hVps://greenhouse.lotus.com/sbt/SBTPlayground.nsf/Explorer.xsp#api=Social_Wikis_API_Working_with_wiki_pages
• Sollte einfach sein, aber… Beispiel auf dem SBT playground funkRoniert nicht
• FunkRoniert, wenn folgende Zeile angepasst wird <content type="text/html"><![CDATA[<p>This is James's wiki page.</p>]]>
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
2. AL create_Wiki_Entry_Atom: • Definieren des HTML Codes der Seite • Nutzen des Prologs für den ersten Teil • Nutzen des Iterators für die Liste • Nutzen des Epilogs für das Ende
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
2. AL create_Wiki_Entry_Atom: Finale Code, alles auf EINER Linie: <?xml version="1.0" encoding="UTF-‐8"?><entry xmlns="hep://www.w3.org/2005/Atom"><content type="text/html"><![CDATA[<div><p dir="ltr"><strong
style="color: rgb(67, 106, 173);font-‐size:large;">All data is from the Domino directory -‐ Example for IBM Connect in Zurich </strong> <img src="/images/graphics-‐star-‐wars-‐300566.gif" width="151" height="100"/></p><table border="1" cellpadding="5" cellspacing="0" dir="ltr" style="border-‐collapse: collapse; width: 800px;" width="246"><tbody><tr height="14"><td><strong>Name</strong></td><td><strong>Shortname</strong></td><td><strong>Title</strong></td><td><strong>Company</strong></td><td><strong>Number</strong></td><td><strong>Photo (ConnecKons photo!)</strong></td></tr><tr><td><span class="vcard"><a class="fn url" href="">ChrisKan Guedemann</a><span class="email" style="display: none;">[email protected]</span></span></td><td><span class="vcard"><a class="fn url" href="">CGU</a><span class="email" style="display: none;">[email protected]</span></span></td><td>Senior System Architect</td><td>WebGate ConsulKng AG</td><td><a href="sip://+41008008008">+41008008008</a></td><td><div style="width: 150px;height: 150px;border-‐radius: 75px;-‐webkit-‐border-‐radius: 75px;-‐moz-‐border-‐radius: 75px;background: url(/profiles/[email protected]) no-‐repeat;"></div></td></tr><tr><td><span class="vcard"><a class="fn url" href="">Klaus Bild</a><span class="email" style="display: none;">[email protected]</span></span></td><td><span class="vcard"><a class="fn url" href="">KBI</a><span class="email" style="display: none;">[email protected]</span></span></td><td>Senior System Architect</td><td>WebGate ConsulKng AG</td><td><a href="sip://+41004004004">+41004004004</a></td><td><div style="width: 150px;height: 150px;border-‐radius: 75px;-‐webkit-‐border-‐radius: 75px;-‐moz-‐border-‐radius: 75px;background: url(/profiles/[email protected]) no-‐repeat;"></div></td></tr><tr><td><span class="vcard"><a class="fn url" href="">Christoph Stoeener</a><span class="email" style="display: none;">[email protected]</span></span></td><td><span class="vcard"><a class="fn url" href="">CST</a><span class="email" style="display: none;">[email protected]</span></span></td><td>Senior IT Consultant</td><td>Fritz and Macziol GmbH</td><td><a href="sip://+41003003003">+41003003003</a></td><td><div style="width: 150px;height: 150px;border-‐radius: 75px;-‐webkit-‐border-‐radius: 75px;-‐moz-‐border-‐radius: 75px;background: url(/profiles/[email protected]) no-‐repeat;"></div></td></tr><tr><td><span class="vcard"><a class="fn url" href="">Sharon Bellamy</a><span class="email" style="display: none;">[email protected]</span></span></td><td><span class="vcard"><a class="fn url" href="">SBE</a><span class="email" style="display: none;">[email protected]</span></span></td><td>IT Consultant</td><td>Cube Sor ConsulKng</td><td><a href="sip://+41003003003">+41003003003</a></td><td><div style="width: 150px;height: 150px;border-‐radius: 75px;-‐webkit-‐border-‐radius: 75px;-‐moz-‐border-‐radius: 75px;background: url(/profiles/[email protected]) no-‐repeat;"></div></td></tr><tr><td><span class="vcard"><a class="fn url" href="">Wannes Rams</a><span class="email" style="display: none;">[email protected]</span></span></td><td><span class="vcard"><a class="fn url" href="">WRA</a><span class="email" style="display: none;">[email protected]</span></span></td><td>Social Business Consultant</td><td>GFI</td><td><a href="sip://+41003003003">+41003003003</a></td><td><div style="width: 150px;height: 150px;border-‐radius: 75px;-‐webkit-‐border-‐radius: 75px;-‐moz-‐border-‐radius: 75px;background: url(/profiles/[email protected]) no-‐repeat;"></div></td></tr></tbody></table></div> ]]></content><category scheme="tag:ibm.com,2006:td/type" term="page" label="page" /></entry>
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
3. Senden des Wiki seiten Atom Dokuments an das Wikis API (HTTP client connector): • Dies ist gut dokumenRert (kein Witz)
hVp://www-‐10.lotus.com/ldd/appdevwiki.nsf/dx/UpdaRng_a_wiki_page_ic50
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
Benutzer benöKgt Editoren Rechte auf diesem Wiki
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
• Die meisten ConnecRons Umgebung forcieren SSL • Falls folgender Fehler Au[riV beim Aufruf den ConnecRons APIs
mit SSL, muss das ConnecRons Server ZerRfikat in den Keystore TDI_install_dir/jserverapi/testadmin.jks (pw: administrator) imporRert werden
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How To: Erstellen einer Wiki Seite
4. Finaler SchriV ist das Erstellen einer AL, welche create_Wiki_Entry_Atom AL und den HTTP Client Konnektor verbinden
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: SBT Simpler Post
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Vorbereitung des TDI… für die Nutzung mit dem SBTSDK
Get ready: -‐ Eine neue TDI Instanz
• TDI Version 7.1.1 oder SDI Version 7.2 -‐ Das SBTSDK von openn| herunterladen und entpacken -‐ Die folgende Java Archiveins Verzeichnis
<TDI_Directory>\jars\3rdparty\IBM\connections\ kopieren:
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Vorbereitung des TDI… für die Nutzung mit dem SBTSDK
-‐ sbtsdk\samples\war\acme.sample.webapp.war\WEB-‐INF\lib\ • apache-‐mime4j-‐06.jar • com.ibm.commons-‐9.0.0.jar • com.ibm.commons.runRme-‐1.0.2.20140527-‐1807.jar • com.ibm.commons.xml-‐9.0.0.jar • com.ibm.sbt.core-‐1.0.2.20140527-‐1807.jar • commons-‐codec-‐1.6.jar • commons-‐fileupload-‐1.2.2.jar • commons-‐io-‐2.4.jar • commons-‐logging-‐1.1.1.jar • hVpclient-‐4.3.3.jar • hVpcore-‐4.3.jar • hVpmime-‐4.3.1.jar
-‐ sbtsdk\tomcat\apache-‐tomcat-‐7.0.30\lib\ • servlet-‐api.jar
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Vorbereitung des TDI… für die Nutzung mit dem SBTSDK
-‐ Die folgenden Archive aus dem Verzeichnis <TDI_Directory>\jars\3rdparty\IBM\axis2\ löschen
• commons-‐codec-‐1.3.jar • commons-‐fileupload-‐1.2.jar • commons-‐io-‐1.4.jar • commons-‐logging-‐1.1.1.jar • hVpcore-‐4.0-‐beta1.jar
-‐ Den commons folder im ibmjs.jar löschen
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Vorbereitung des TDI… für die Nutzung mit dem SBTSDK
-‐ TDI starten und ein neues Projekt erstellen -‐ Die ressources vom OpenNTF Project
„TDI Connectors for IBM ConnecRons“ hinzufügen
copy&paste drag&drop
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: SBT Simpler Post
Step 1: Daten füllen
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: SBT Simpler Post
Step 2: Hierarchical data structure erstellen und zu JSON konverReren
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Simple Post – how it works
SchriV 3: Post JSON zum AcRvityStreamService
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: SBT Simpler Post
Mehr details zu den TDI Konnektoren und Scripts: hVp://www.entwicklercamp.de/EC15/Track2Session4
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Community Mitgliedscha[ über eine Domino ApplikaRon steuern
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Community Mitgliedscha[ über eine Domino ApplikaRon steuern
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
Der Ablauf ist: 1. Iterieren durch alle Community Einträge in der Notes DB 2. Erstellen der Community, falls sie neu ist
-‐ Test ob es eine neue Community ist -‐ Erstellen eines Community Atom Eintrags -‐ Call/Reply request an das CommuniRes API -‐ Abfangen der Uuid der neuen Community & zurückschreiben in die Notes DB
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Iterieren durch alle gefundenen Mitglieder einer Community (aus der Notes DB) und
Kontrolle, ob dieser Benutzer kein Mitglied im Community member feed ist -‐ Erstellen des Member Atom Eintrags -‐ Senden des Member Atom Eintrags an das CommuniRes API
4. Hinzufügen von fehlenden Eigentümern (gleiche SchriVe wie beim hinzufügen von Mitgliedern)
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
1. Iterieren durch alle Community Einträge in der Notes DB Nutzen des Lotus Notes Konnektor im Iterator mode, einfach zu machen.
Es wird kein laufender HTTP Task auf dem Domino Server benöRgt, wenn der DIIOP IOR String als Server IP Adresse verwendet wird!
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
2. Erstellen der Community, falls sie neu ist -‐ Test ob es eine neue Community ist
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
2. Erstellen der Community, falls sie neu ist -‐ Erstellen eines Community Atom Eintrags
var atom_community_entry = '<?xml version="1.0" encoding="UTF-8"?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:snx="http://www.ibm.com/xmlns/prod/sn"><title type="text">' + work.Community_Name + '</title><content type="html">' + work.Description + '</content><category term="community" scheme="http://www.ibm.com/xmlns/prod/sn/type"></category><snx:communityType>' + work.Access + '</snx:communityType></entry>’;
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
2. Erstellen der Community, falls sie neu ist -‐ Call/Reply request an das CommuniRes API
Der Benutzer benöRgt die Admin Security Role für die CommuniRes app!
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
2. Erstellen der Community, falls sie neu ist -‐ Abfangen der Uuid & zurückschreiben in die Notes DB
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Laden des Community Member feeds (mit dem HTTP Client Konnektor)
Dies erstellt einen Request an folgende URL: …/communiRes/service/atom/community/ members?communityUuid=$uuid&role=member
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Iterieren durch alle gefundenen Mitglieder einer Community (aus der
Notes DB) und Kontrolle, ob dieser Benutzer kein Mitglied im Community member feed ist
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Erstellen des Member Atom Eintrags
var atom_member_entry = '<?xml version="1.0"
encoding="UTF-8"?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:snx="http://www.ibm.com/xmlns/prod/sn"><contributor>¨<email>' + work.InternetAddress + '</email><snx:role>member</snx:role></contributor><snx:role component="http://www.ibm.com/xmlns/prod/sn/communities">member</snx:role></entry>’;
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Senden des Member Atom Eintrags an das CommuniRes API (HTTP Client
Konnektor)
URL auf der nächsten Seite
Der Benutzer benöRgt die Admin Security Role für die CommuniRes App!
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von nicht vorhandenen Mitgliedern in jede Community -‐ Senden des Member Atom Eintrags an das CommuniRes API (HTTP Client
Konnektor)
Dies erstellt einen Request an folgende URL: …/communiRes/service/atom/community/ members?communityUuid=$uuid
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
3. Hinzufügen von fehlenden Eigentümern (gleiche SchriVe wie beim hinzufügen von Mitgliedern)
var atom_owner_entry = '<?xml version="1.0" encoding="UTF-8"?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:snx="http://www.ibm.com/xmlns/prod/sn"><contributor><email>' + work.InternetAddress_Owner + '</email><snx:role>owner</snx:role></contributor><snx:role component="http://www.ibm.com/xmlns/prod/sn/communities">owner</snx:role></entry>’;
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Community Mitgliedscha[
Finale assembly line
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: AcRvity Stream mit embedded experience
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Post mit Embedded Experience
Immer noch das gleiche Konzept
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Post mit Embedded Experience
Aber… Der Inhalt wird dynamisch -‐ Wir lesen Felder von einem Notes Dokument
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Post mit Embedded Experience
Wir verwenden einen „ConnecRons-‐Profiles“ Connector um email-‐Adressen zu ConnecRons Benutzern zu mappen.
Der post wird an einzelne Benutzer adressiert Wir fügen die Embedded Experience hinzu und übergeben Parameter
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Post mit Embedded Experience
Das generierte JSON wird komplexer…
Loops
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Post mit Embedded Experience
Das Ergebnis….
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Export des letzten Logon Datums eines Benutzers per ApplikaRon
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
Beispiel: Export des letzten Logon Datums eines Benutzers per ApplikaRon
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
Beispiel • Wir werden das letzte Logon Datum für alle Benutzer exporReren • Für alle ApplikaRonen • Export in eine Domino DB • Export in eine CSV Datei
Ablauf 1. Iterieren durch alle Einträge in der PeopleDB und Abfragen der UID und des
Full Name 2. Verbinden mit den ApplikaRons Tabellen, welche die Profildaten enthalten 3. Abfragen des User Key 4. Verbinden mit den ApplikaRons Tabellen, welche das letzte Logon Datum
enthalten 5. Wiederholen für alle ApplikaRonen 6. Schreiben in die Domino DB 7. Schreiben in die csv Datei
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
1. Iterieren durch alle Einträge in der PeopleDB und Abfragen der UID und des Full Name -‐ Erstellen einer neuen AL und hinzufügen eines Datenbank Konnektors.
Iterator Modus wählen und verbinden mit der Profiles Datenbank und der Employee Tabelle
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
2. Verbinden mit den ApplikaRons Tabellen, welche die Profildaten enthalten -‐ Wir zeigen nur das Beispiel für 1 Datenbank (FILES) und zeigen für die
anderen Databanken nur die Mapping Tabelle -‐ Verbinden mit der Files Datenbank, USER_TO_LOGIN Tabelle
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
3. Abfragen des User Key -‐ Nutzen des uid_lower als Schlüssel um die ApplikaRons UID des Benutzers
zu eruieren
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
4. Verbinden mit den ApplikaRons Tabellen, welche das letzte Logon Datum enthalten -‐ Verbinden mit der Files Datenbank USER Tabelle um das letzte Logon
Datum dieses Benutzers mit der USER_ID des letzten SchriVs zu erhalten
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
5. Wiederholen für alle ApplikaRonen -‐ Wiederholen dieser SchriVe für alle ApplikaRonen, ausser Blogs. Bei der
Blogs Datenbank enthält die Tabelle ROLLERUSER die UID und das letzte Logon Datum.
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
• Tabelle für alle Datenbanken
ApplicaKon Uid lookup Table
Table Name Uid Column User Key Column
Blogs Not needed Not needed Not needed
Bookmarks PERSONLOGIN LOGINNAME PERSON_ID
Files USER_TO_LOGIN LOGIN_ID LOGIN_ID
Forum DF_MEMBERLOGIN LOGINNAME_LOWER MEMBERID
Homepage LOGINNAME LOGINNAME PERSON_ID
AcRviRes OA_MEMBERLOGIN LLOGINNAME MEMBERID
Profiles EMPLOYEE PROF_UID_LOWER PROF_KEY
CommuniRes MEMBERLOGIN LOWER_LOGIN MEMBER_UUID
Wikis USER_TO_LOGIN LOGIN_ID USER_ID
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
• Tabelle für alle Datenbanken
ApplicaKon Last Logon table
Table Name Uid Last Logon
Blogs ROLLERUSER USERNAME LASTLOGIN
Bookmarks PERSON PERSON_ID LASTLOGIN
Files USER ID LAST_VISIT
Forum MEMBERPROFILE MEMBERID LASTLOGIN
Homepage PERSON PERSON_ID LAST_UPDATE
AcRviRes OA_MEMBERPROFILE MEMBERID LASTLOGIN
Profiles PROFILE_LAST_LOGIN PROF_KEY LAST_LOGIN
CommuniRes MEMBERPROFILE MEMBER_UUID LASTLOGIN
Wikis USER ID LAST_VISIT
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
6. Schreiben in die Domino DB -‐ Erstellen einer Domino DB mit einer Form “User” und folgenden Werten:
AcRviRes_LASTLOGIN, Name, Blogs_LASTLOGIN, CommuniRes_LASTLOGIN, Dogear_LASTLOGIN, Files_LASTVISIT, Forum_LASTVISIT, Homepage_LASTUPDATE, Profiles_LASTLOGIN, Uid, Wikis_LASTVISIT
-‐ Hinzufügen einer View für diese Felder
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
6. Schreiben in die Domino DB -‐ Hinzufügen eines Lotus Notes Konnektors zur AL und verbinden mit der
Domino DB über DIIOP -‐ Modus auf “AddOnly” stellen
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
6. Schreiben in die Domino DB -‐ Erstellen folgender Output Map -‐ Werte kommen im java.sql.date Format, we müssen sie in einen String
umwandeln
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
7. Schreiben in die csv Datei -‐ Um in eine csv Datei zu schreiben
muss ein File System Konnektor verwendet werden und csv als parser gewählt werden. Die Header Felder müssen den Field Names hinzugefügt werden
-‐ Wählen von “;” als Seperator
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
7. Schreiben in die csv Datei -‐ Nun muss noch
der Speicherort und Dateinamen definiert werden.
-‐ Dies wird dynamisch über eine JavaScript FunkRon bewerkstelligt: var srcPath=system.getTDIProperty("Cnx", "export_path") var stDateStamp=system.formatDate((new Date()),"yyyyMMdd"); var outFile=srcPath + system.getTDIProperty("Cnx", "export_filename") + stDateStamp + ".csv"; return outFile
Notes & Domino –> mit Verse und On-‐Premises AdminCamp 2015 – Sept. 21-‐23
How to: Export des letzten Logon Datums
7. Schreiben in die csv Datei -‐ Bei der csv Datei können wir das Original Datumsformat ungeändert
lassen, der Parser wird für uns alles direkt wandeln in einen String.