AdminCamp 15 Vortrag, Abstract:
Schon gewusst? IBM Connections kann als Datenquelle respektive Datenziel für verschiedenste Applikationen dienen.
In diesem Vortrag zeigen wir Ihnen, wie Sie mithilfe des Tivoli Directory Integrators (TDI):
- die Mitglieder einer Connections Community durch eine Domino Applikation pflegen
- Daten aus der Connections-Datenbank in eine Domino Applikation überführen und dort auswerten
- den Activity Stream von IBM Connections aus beliebigen Anwendungen befüllen und
- Ihren Usern einfach eine embedded Experience zur Verfügung stellen können ohne die darunter liegende Anwendung anzupassen.
Ebenso verstehen Sie dank der Ausführungen zu den TDI Grundlagen, wie Sie das Potential des TDI in Zukunft einsetzen können.
Kommen Sie vorbei und lernen Sie, wie Sie bestehende Daten weiterverwerten können und Ihr Leben als Administrator entspannter wird durch die Verwendung von TDI Assembly Lines.
Der entspannte Administrator - How to make your life easier by using TDI to automate your work
1. 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
2. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Über
uns
Andreas
Artner
Teamlead
&
Senior
Consultant
aartner@fum.de
@AnderlArtner
hVp://tdiblog.anderls.com
Klaus
Bild
Senior
System
Architect
klaus.bild@webgate.biz
@kbild
hVp://kbild.ch
3. 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
4. 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
5. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Einleitung
–
Wer
ist
hier
im
Publikum?
6. 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)
7. 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)
8. 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
9. 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)
10. 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
11. 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.
12. 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.
13. 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.
14. 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…
15. 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
16. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Der
Plan….
Source
Systems
IBM
ConnecRons
AcRvity
Stream,
Blogs,
Files,
Wikis,
etc
Embedded
Experience
IBM
Social
Business
Toolkit
TDI
Script
Connector
TDI
HTTP
Server
Connector
Tivoli
Directory
Integrator
IBM
ConnecRons
Rest
API
TDI
HTTP
Connector
17. 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
18. 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
19. 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!
20. 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>]]>
21. 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
22. 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;">ChrisKan.Guedemann@snt.com</span></span></td><td><span
class="vcard"><a
class="fn
url"
href="">CGU</a><span
class="email"
style="display:
none;">ChrisKan.Guedemann@snt.com</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/photo.do?email=ChrisKan.Guedemann@snt.com)
no-‐repeat;"></div></td></tr><tr><td><span
class="vcard"><a
class="fn
url"
href="">Klaus
Bild</a><span
class="email"
style="display:
none;">Klaus.Bild@snt.com</span></span></td><td><span
class="vcard"><a
class="fn
url"
href="">KBI</a><span
class="email"
style="display:
none;">Klaus.Bild@snt.com</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/photo.do?email=Klaus.Bild@snt.com)
no-‐
repeat;"></div></td></tr><tr><td><span
class="vcard"><a
class="fn
url"
href="">Christoph
Stoeener</a><span
class="email"
style="display:
none;">Christoph.Stoeener@snt.com</span></span></td><td><span
class="vcard"><a
class="fn
url"
href="">CST</a><span
class="email"
style="display:
none;">Christoph.Stoeener@snt.com</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/photo.do?email=CHristoph.Stoeener@snt.com)
no-‐repeat;"></div></td></tr><tr><td><span
class="vcard"><a
class="fn
url"
href="">Sharon
Bellamy</a><span
class="email"
style="display:
none;">Sharon.Bellamy@snt.com</span></span></
td><td><span
class="vcard"><a
class="fn
url"
href="">SBE</a><span
class="email"
style="display:
none;">Sharon.Bellamy@snt.com</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/photo.do?
email=Sharon.Bellamy@snt.com)
no-‐repeat;"></div></td></tr><tr><td><span
class="vcard"><a
class="fn
url"
href="">Wannes
Rams</a><span
class="email"
style="display:
none;">Wannes.Rams@snt.com</span></span></td><td><span
class="vcard"><a
class="fn
url"
href="">WRA</a><span
class="email"
style="display:
none;">Wannes.Rams@snt.com</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/photo.do?email=Wannes.Rams@snt.com)
no-‐repeat;"></div></td></tr></tbody></table></
div>
]]></content><category
scheme="tag:ibm.com,2006:td/type"
term="page"
label="page"
/></entry>
23. 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
24. 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
25. 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
26. 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
27. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
SBT
Simpler
Post
28. 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>jars3rdpartyIBMconnections
kopieren:
29. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Vorbereitung
des
TDI…
für
die
Nutzung
mit
dem
SBTSDK
-‐ sbtsdksampleswaracme.sample.webapp.warWEB-‐INFlib
• 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
-‐ sbtsdktomcatapache-‐tomcat-‐7.0.30lib
• servlet-‐api.jar
30. 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
3rdpartyIBMaxis2
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
31. 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
32. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
How
to:
SBT
Simpler
Post
Step
1:
Daten
füllen
33. 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
34. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Simple
Post
–
how
it
works
SchriV
3:
Post
JSON
zum
AcRvityStreamService
35. 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
36. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
Community
Mitgliedscha[
über
eine
Domino
ApplikaRon
steuern
37. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
Community
Mitgliedscha[
über
eine
Domino
ApplikaRon
steuern
38. 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)
39. 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!
40. 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
41. 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>’;
42. 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!
43. 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
44. 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
45. 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
46. 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>’;
47. 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!
48. 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
49. 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>’;
50. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
How
to:
Community
Mitgliedscha[
Finale
assembly
line
51. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
AcRvity
Stream
mit
embedded
experience
52. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Post
mit
Embedded
Experience
Immer
noch
das
gleiche
Konzept
53. 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
54. 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
55. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Post
mit
Embedded
Experience
Das
generierte
JSON
wird
komplexer…
Loops
56. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Post
mit
Embedded
Experience
Das
Ergebnis….
57. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
Export
des
letzten
Logon
Datums
eines
Benutzers
per
ApplikaRon
58. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Beispiel:
Export
des
letzten
Logon
Datums
eines
Benutzers
per
ApplikaRon
59. 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
60. 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
61. 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
62. 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
63. 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
64. 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.
65. 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
66. 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
67. 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
68. 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
69. 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
70. 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
71. 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
72. 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.
73. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Kontaktangaben
74. Notes
&
Domino
–>
mit
Verse
und
On-‐Premises
AdminCamp
2015
–
Sept.
21-‐23
Vielen
Dank!
BiVe
Feedback
Formulare
ausfüllen