der entspannte administrator - how to make your life easier by using tdi to automate your work

74
Notes & Domino > mit Verse und OnPremises AdminCamp 2015 Sept. 2123 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

Upload: klaus-bild

Post on 20-Mar-2017

825 views

Category:

Presentations & Public Speaking


2 download

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.  

Notes  &  Domino  –>  mit  Verse  und  On-­‐Premises  AdminCamp  2015  –  Sept.  21-­‐23  

Kontaktangaben  

Notes  &  Domino  –>  mit  Verse  und  On-­‐Premises  AdminCamp  2015  –  Sept.  21-­‐23  

Vielen  Dank!  

BiVe  Feedback  Formulare  ausfüllen