IBM Connections Adminblast

Christoph Stoettner

+49 173 8588719

christoph.stoettner@panagenda.com

Christoph Stoettner

  • Senior Consultant bei panagenda

    • IBM Domino seit 1999

    • IBM Connections seit 2009

  • Schwerpunkt

    • Migrationen, Installationen

    • Performance Analysen

  • Focus auf

    • Monitoring, Security

    • panagenda ConnectionsExpert

1. Funktionieren die PUSH Notifications

2a. Benutzer mit minimalen Rechten

  • WebSphere Dienst stoppen benötigt Username/Passwort

    • $DMGR/properties/soap.client.props

      • Absichern mit bin/PropFilePasswordEncoder.sh|bat

    • Konfiguration Dienst

      • Absichern mit -encodeParams

      • Klartext

Beide Varianten nicht sicher,
aber besser als Passwort im Klartext in der History!

2b. Benutzer mit minimalen Rechten für WebSphere Dienst

  • Sicherheit erhöhen

    • Lokalen WebSphere Benutzer mit Rolle Operator anlegen

WebSphere User

3. Surveys Setup mit IBM Connections 6

  • Java 1.8 Voraussetzung mit Connections 6

$$WEBSPHERE_ROOT/java(_1.8_64)/jre/lib/stax.properties
javax.xml.stream.XMLInputFactory=com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl
javax.xml.stream.XMLOutputFactory=com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl
ESI Cache

4. globalSenderEmailAddress

  • Empfehlung bisher: alwaysUseGlobalSender

notification-config.xml
<property name="globalSenderEmailAddress">mail@mail.com</property>
<property name="alwaysUseGlobalSender">true</property>
<property name="globalSenderName">Connections Newsletter</property>
  • 5.5 - 6.0: Reply-To in Emails auf xxx-admin@example.com

  • "alle" Mailadressen in notification-config.xml ersetzen

5. Orient Me Install Cheat Sheet

  • Mount Punkte definieren

    • /pv-connections

    • /var/lib

  • Keine hosts Einträge benutzen

    • Alles läuft in Containern (die haben eigene hosts)

    • Server müssen im DNS auflösbar sein

      • Workaround: Container mit Bind9

  • Setup benötigt Internetzugriff

    • Proxy mit Username/Passwort problematisch

6. WAS & 4096-bit SSL Keys

  • Seit Java SDK SR5 FP10:

    • Unlimited Policy aktiv

    • kein Tausch mehr notwendig

  • Ohne SDK → Policy tauschen

  • Um die alten Policies zu aktivieren

    • crypto.policy=limited in java.security

JCE code signing certificate expires in October 2018
  • Ablauf hat keinen Einfluss auf die Funktion

    • Update auf Java SDK SR5 FP20

6a. Ohne Java SDK Installation

Auf allen WebSphere Servern der Umgebung

7. Community Katalog Seedlist nicht ändern

Community Katalog Seedlist

8. Seedlists nicht regelmäßig prüfen

  • Seedlist Validierung löscht die temporären Dateien nicht

    • bei jedem Test werden die Seedlists gespeichert

    • je nach Umgebung mehrere GB pro Monat

    • DATA_LOCAL/search/persistence/seedlist*.attempted.xml

  • Wann?

9. Textbox.io Konfiguration

  • Dokumentation:

    • /opt/ephox/application.conf

    • BOOTDRIVE:\opt\ephox\application.conf

      • muss WebSphere Drive heissen!

  • Application Server ▸ JVM Generic Properties für alle OS

-Dephox.allowed-origins.origins.0=https://cnx.example.com
-Dephox.allowed-origins.origins.1=http://cnx.example.com
-Dephox.allowed-origins.url=https://cnx.example.com/ephox-allowed-origins/cors (1)
1bis Connections 5.5CR1 notwendig, danach weglassen

10. SPNEGO und LimitRequestFieldSize

  • Manche Benutzer können u.U. SPNEGO nicht nutzen

    • Mitglied vieler Gruppen

    • häufig VIP Benutzer

    • Fehler: HTTP 400 - Bad Request (Request header too long)

  • SPNEGO authentication header kann bis zu 12392 Bytes benutzen

    • IHS Default: LimitRequestFieldSize 8192 Bytes

    • Alle Gruppen des Benutzers im Header

httpd.conf
LimitRequestFieldSize 16384

11. Datenbank Tuning

  • DB2 Maintenance Skripts beschleunigen Connections

  • CONNECTIONS_ROOT\xkit\connections.sql

  • Reihenfolge beachten (db2 -tvf <script>)

    • Runstat.sql

    • Reorg.sql

    • Runstat.sql

  • Regelmäßig ausführen

  • Nur für Connections Core Applikationen verfügbar

12. Download Connections 6.0 Software

Part Nummern

13. Homepage DB wird riesig

14. Suchindex Optimieren

  • Verwenden Sie nur ein Wörterbuch/Dictionary

    • Probleme seit Verbindungen 2.5

  • Aktivieren Sie "Akzentunabhängige Suche"/Accent-insensitive Search

    • Sie finden "René" bei der Suche nach "Rene"

  • Aktivieren Sie "1 to 2 Matching"

    • Sie finden "Stoettner" bei der Suche nach "Stöttner"

  • Integrieren Sie die Typeahead Suche (Apache Solr)

  • "Die Einstellung Ignore punctation funktioniert nicht

    • Die Suche nach "IBM" zeigt "I.B.M." nicht in den Ergebnissen an

15. Orient Me Sizing

  • CFC Master, Boot, Proxy node

    • 4 CPU, 2.x GHZ, 8GB memory, and at least 100GB disk

  • Worker node

    • 8 CPU, 2.x GHZ, 24GB memory, and 100GB disk

  • Storage (MongoDB, Solr)

    • 100GB disk

  • Sie möchten eine kleine Orient Me Entwicklungsumgebung betreiben?

16. How-to: Set EMPLOYEE_EXTENED Rolle für alle Benutzer

connect to peopledb;
EXPORT TO mail.txt OF DEL MODIFIED by NOCHARDEL
select e.PROF_MAIL FROM EMPINST.EMPLOYEE e
    inner join EMPINST.EMP_ROLE_MAP r
    on r.PROF_KEY=e.PROF_KEY
    where r.ROLE_ID!='employee.extended';
connect reset;
  • Change role using a wsadmin call

execfile("profilesAdmin.py")
ProfilesService.setBatchRole(EMPLOYEE_EXTENDED, "mail.txt")
Changing role directly within the database is not supported!

17. FNGCD / FNOS wird riesig

  • Problem Beschreibung

    • Migrierte FileNet Instanz

    • connectionsAdmin und filenetAdmin = wasadmin

    • fileRegistry.xml nicht angepaßt

  • System stürzte nachts während Backup ab

    • Filenet Datenbank > 200GB

  • ca. 8 Log-Messages pro Sekunde in die DB geschrieben

    • Wortlaut der Fehlermeldung "Missing admin rights"

Nie komplett behoben, da CCM in dem System kurz darauf deaktiviert wurde.

18. Read-only Profilfelder

  • Profil-Felder auf read-only wenn vom LDAP synchronisiert

    • Überprüfen Sie ihre Konfiguration

  • Wir sehen das sehr häufig

    • Benutzer ändert seine Beschreibung oder Mobiltelefonnummer

    • beim nächsten TDI Sync → Feld leer oder veraltet

  • profiles-types.xml: ersetzen von readwrite mit read

Profiles

19. ACCE (FileNet Admin Interface) Login funktioniert nicht

  • HTTPServer

    • /acce von der Komprimierung mit mod_deflate ausnehmen

SetEnvIf Request_URI ^/acce(.*) no-gzip dont-vary
Englisch als Browser Sprache verwenden

20. Surveys Setup: Browser language

  • Bei Neuinstallation oder Upgrade Fehlermeldung beim Zugriff
    auf /surveys

Forms Experience Builder Url geändert /forms → /surveys
  • Funktioniert nicht mit nicht-englischen Browsersprachen

  • Die Benutzeroberfläche ist nur auf Englisch verfügbar

Verwenden Sie den tragbaren Firefox

21. Interesse an Orient Me und Customizer

  • Beschäftigen Sie sich mit

    • Kubernetes

    • Docker, Calico, Helm, Glusterfs

    • IBM Cloud Private

    • Red Hat Openshift

  • Connections "pink" mit CR3 wird ohne gebundeltes ICP geliefert

    • Helm Skripte kümmern sich um die Installation der Anwendungen

IBM Cloud Private ist eine der einfacheren Möglichkeiten
eine private Cloud mit Kubernetes aufzusetzen.

22. Connections Tasks nach Update

  • Temp Verzeichnis nach Installation und Update löschen

    • APPSERVER_PROFILE/temp/*

    • APPSERVER_PROFILE/wstemp/*

  • Oft Problem mit langen Pfaden (Popup)

cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01
mkdir empty                     (1)
robocopy /purge empty temp      (2)
robocopy /purge empty wstemp
rmdir empty
1Leeres Verzeichnis anlegen
2Leeren Inhalt nach temp kopieren
Ansonsten kommt es zu unterschiedlichen UI Bugs (altes Layout)

23. Debug FileNet ohne ACCE

  • Probleme beim FileNet Start und kein Zugriff auf /acce

  • Debug Settings als Generic JVM Arguments

-DskipTLC=true -Dlog4j.configuration=file://log4j.xml

24. Komprimierung am HTTP Server aktivieren

LoadModule deflate_module modules/mod_deflate.so
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/atomcat+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/octet-stream
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/xsl
SetEnvIf Request_URI ^/acce(.*) no-gzip dont-vary
SetEnvIfNoCase Request_URI \\.(zip|exe|jar|gz|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
An Tip #19 denken.

25. Nach FileNet und IBM Docs Updates

  • Applikation zum Webserver mappen

    • Applications ▸ IBM Docs ▸ Manage Moduls

    • FileNet & Navigator

    • Docs, Viewer & Conversion

Sonst sind die Applikationen nicht erreichbar!
Map Webserver

26. serviceReference prüfen

LotusConnections-config.xml
<sloc:serviceReference bootstrapHost="admin_replace" bootstrapPort="admin_replace"
      clusterName="" enabled="true" serviceName="docs" ssl_enabled="true">
 <sloc:href>
   <sloc:hrefPathPrefix>/docs</sloc:hrefPathPrefix>
   <sloc:static href="http://connections.example.com" ssl_href="https://connections.example.com"/>
   <sloc:interService href="admin_replace"/>
 </sloc:href>
</sloc:serviceReference>
  • Es gab einige Probleme in früheren Versionen

    • Sind Einträge für /viewer und /docs vorhanden oder doppelt
      → CCM-Integration funktioniert nicht
      → Zugriff auf die Dateivorschau über Activity Stream nicht möglich

27. Neue Orient Me Installationen

  • Verwenden Sie die neueste Fix-Version (6.0.0.5)

  • Ältere Versionen werden nicht erfolgreich installiert!

  • Beserer Proxy Support

  • Jedes Fix-Release benötigt eine vollständige Deinstallation und Neuinstallation

    • Das ändert sich hoffentlich mit 6.0.0.6 (parallel zu CR3)

  • Mountpoints haben sich seit 6.0.0.1 geändert

    • Überprüfen ob evtl noch Daten in /pv

    • Neuer Mountpoint: /pv-connections

28. Communities per Skript löschen

  • Der erste REST-Aufruf legt die Community in den Papierkorb

  • Der zweite Aufruf löscht dann endgültig

Bei der Erstellung von Communities im Rahmen des Monitorings sollten Sie den REST-Aufruf zweimal ausführen!

29. Nach jedem Update: Connections Datenbank Skripte (DB2)

  • Überprüfen von NUMDB Wert nach jedem Connections DB Update

db2 get dbm cfg | grep NUMDB
  • Skripte enthalten z.T. Änderungen des NUMDB

Bei zu kleinem NUMDB startet mindestens eine Applikation nicht!

30. Oracle: Benutzer Passwort Ablauf prüfen

  • Oracle DB Benutzer erstellt mit Connections Wizard

  • Oracle Standard Passwortgültigkeit ist 365 Tage

SQL
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

31. Debug Benutzer Synchronisation

  • TDISOL/etc/profiles_tdi.properties)

source_ldap_debug=true
debug_*=true                        (1)
trace_profile_tdi_javascript=*      (2)
sync_updates_clean_temp_files=false (3)
1update, profile, collect, managers
2debug, fine, finer, all
3temporäre Dateien bleiben erhalten
log4j.rootCategory=DEBUG, Default
Zurückstellen nicht vergessen! Performance und Plattenplatz

32. Connections und Docs mit UNC Pfad

  • Nach Installation und Updates unbedingt Konfiguration überprüfen

  • WebSphere Variablen: Backslash in Forwardslash konvertieren

  • sib-engine.xml: Hier Backslash verwenden

  • Oder WebSphere Variable ${MESSAGE_STORE_PATH} definieren

    • sib-engine.xml Pfad mit Variable

mklink /d Link Target verwenden

33. Import der DB2 Lizenz

  • DB2 funktioniert nach der Installation für 90 Tage ohne Lizenz

  • Ab DB2 11.x enthält die Lizenz auch den Servertyp

    • ESE

# Prüfen der Lizenz
db2licm -l
Expiry date: "Permanent"
In DB2 10.5 FP8 war in der Connections DB2 Lizenz kein TSAMP Support mit HADR enthalten

34. Debug Windows Connections Plugin

  • DITrace.exe starten
    INSTALLATIONSPFAD/Connections Desktop Plugins

  • Fehler reproduzieren

  • Trace Log mit DITrace.exe speichern

Fiddler4 hängt sich zwischen alle HTTP Requests, traced also auch Notes und Desktop Plugins

35. Connections & Google Chrome 60

  • Immer wieder Probleme nach Chrome 6x Updates

    • Oft alle Connections Versionen betroffen

  • Kommentare auf Statusupdates gehen nicht

  • Community Events können nicht erstellt werden

  • Für Chrome 60 gab es Updates

36. Strong ciphers configuration

httpd.conf
SSLCipherSpec ALL NONE
SSLCipherSpec ALL +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
SSLCipherSpec ALL +TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
SSLCipherSpec ALL +TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
SSLCipherSpec ALL +TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
SSLCipherSpec ALL +TLS_RSA_WITH_AES_128_GCM_SHA256
SSLCipherSpec ALL +TLS_RSA_WITH_AES_256_GCM_SHA384
SSLCipherSpec ALL +TLS_RSA_WITH_AES_128_CBC_SHA256
SSLCipherSpec ALL +TLS_RSA_WITH_AES_256_CBC_SHA256
Notes 8.5.x and  < TLS 1.2 support (SSL LABS B)
SSLCipherSpec ALL +TLS_RSA_WITH_AES_128_CBC_SHA
SSLCipherSpec ALL +TLS_RSA_WITH_AES_256_CBC_SHA
  • Schwierig mit IHS eine höhere Stufe zu bekommen

  • Tips meistens für Apache

    • IHS nutzt eigenes SSL Module

37. Connections Browser Push Notification

  • Ab Connections 5.5

  • Neue Applikation: PushNotification

    • Verwendet long-polling Requests

    • Client sendet POST Request an /push/form/comet/connect

Unabhängig von "Desktop Notification erlauben"!
  • Server hält den Request offen

  • Client sendet immer neue Requests

alt
  • Server hält Request offen, bis Information verfügbar ist

  • Wenn der Server antwortet, oder die Verbindung unterbrochen wird

    • Client sendet neuen POST Request

  • nginx kann mit langlaufenden Requests besser umgehen

    • wird für Customizer sowieso benötigt

  • Unbedingt die Thread configuration des Webservers prüfen

  • Application Server: Web Container Thread Pool im Auge behalten

38. Sprache der Logs ändern

  • Englische Fehlermeldungen bei Recherche leichter zu finden

  • IBM Support hat meist Probleme mit dem Lesen von non-english Log

  • WebSphere JVM Generic Properties aller AppServer, nodeaget und dmgr

-Duser.language=en -Duser.region=US
  • TDI: Editieren von ibmdisrv.sh/bat

LOG_4J="-Dlog4j.configuration=file:etc/log4j.properties” -Duser.language=en -Duser.region=US

39. mod_proxy Konfiguration absichern

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyRequests Off       (1)
<Proxy *>
  Order deny,allow
  Allow from all        (2)
</Proxy>
ProxyPass /abc http://<fqdn>/abc
ProxyPassReverse /abc http://<fqdn>/abc
1In IBM Blogposts oft weggelassen, WICHTIG!
2Einschränken auf interne IPs falls möglich

40a. Log Rotation konfigurieren

  • Websphere (AppServer, Node Agents, Dmgr)

    • Application servers ▸ AppServer ▸ JVM Logs

    • Connections installer (5.5 only)

      • Rollover 24 Stunden, History 30 Tage

    • Nach Updates und Installation Einstellungen überprüfen

WebSphere Log Rotation
  • DB2

db2 update dbm cfg using diagsize 256

40b. Log Rotation konfigurieren

  • TDI

TDISOL/etc/log4j.properties
log4j.appender.Default=org.apache.log4j.RollingFileAppender
log4j.appender.Default.MaxFileSize=10MB
log4j.appender.Default.MaxBackupIndex=10
  • IHS

httpd.conf
ErrorLog "|/IHS_ROOT/bin/rotatelog –l IHS_ROOT/log/error_log.%Y.%m.%d 10M"
CustomLog"|/IHS_ROOT/bin/rotatelog –l IHS_ROOT/log/access_log.%Y.%m.%d 10M" common
Für IHS und DB2 cronjob um alte Logs zu löschen!

41. Orient Me & SPNEGO

  • SSO klappt nicht ohne Anpassung

  • Configmap connections-env muss angepaßt werden

ic-homepage-url: https://cnx6.pana.local/social/auth/blue-auth
  • Pods neu deployen

    • orient-webclient-*

    • itm-services-*

alt

42. Monitoring WebSphere

  • Mit PMI

    • Analyze der zentralen WebSphere Einstellungen

      • Connections Pool Size, Heap Size, Offene DB Verbindungen

    • Bereits mit WebSphere installiert

  • Using Health Center

    • Inklusive CPU, I/O, Java runtime, Threads

    • Eclipse IDE Plugin

43. How-to: Zusätzliche Profile Types anlegen

  • Wozu?

    • Anpassungen der angezeigten oder verfügbaren Profilfelder

    • Aktivieren und deaktivieren von Widgets

      1. map_dbrepos_from_source.properties
        profileType zuordnen

      2. profiles-types.xml anpassen

    • Default muss immer am Ende der Datei definiert werden

      1. widgets-config.xml anpassen

<layout resourceSubType=”<customprofile>”>
  …
</layout>

44. Orient Me & https only

  • Anpassung an der connections-env configmap

kubectl edit configmaps
  • Delete orient-webclient-* and itm-services-* Pods

    • Erstellen sich automatisch neu

kubectl get pods -n connections -o wide
  orient-webclient-2180930634-d6k12
  orient-webclient-2180930634-m1wq6
  orient-webclient-2180930634-qxl61
kubectl delete pods -n connections orient-webclient-2180930634-d6k12 ...
44 orientme

45. Mobile Push mit Forward Proxy

  • Ohne direkte Verbindung zu den Apple und Google Push Gateways

    • Verwenden eines Forward Proxy

mobile-config.xml
<ProxyHost>proxy.example.com</ProxyHost>
<ProxyPort>3128</ProxyPort>
  • Authenfizierung über J2C Alias

    • proxyMobilePushNotificationJAASAuth

47. Post-upgrade Task: 5.5 CR2 Surveys

  • /forms wurde zu /surveys umbenannt

  • Rewrite /forms um kaputte Links zu vermeiden

httpd.conf
RewriteRule ^/forms/(.*)$ https://%{SERVER_NAME}/surveys/$1 [NE,L,R]
Testen nicht vergessen.

48. wsadmin Funktionalität in Linux erweitern

rlwrap ./wsadmin.sh –lang jython
  • Alias in ~/.bashrc einrichten

alias wsadmin='cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin;rlwrap ./wsadmin.sh -lang jython'
Das klappt auch mit anderen Kommandozeilentools wie db2 oder SQLPLUS

49. LDAP Gruppen 2+ Domino LDAP

  • Connections Umgebungen mit mehr als einem Domino Directory

  • z.B. interne und externe Benutzer

  • Repositories müssen mit Base DN angelegt werden

    • root klappt nur mit einem Domino LDAP

    • für root mit WebSphere 8.5.5.12+13 wird extra Fix benötigt! PI88438

  • Editieren der wimconfig.xml

# Old:
<config:baseEntries name="o=pana" nameInRepository="o=pana"/> 

NEW:
<config:baseEntries name="o=pana" nameInRepository=""/>

50. Monitoring IHS

httpd.conf
LoadModule status_module modules/mod_status.so
<IfModule mod_status.c>
	ExtendedStatus On
	<Location /server-status>
  		SetHandler server-status
  		Order deny, allow
  		Allow from 127.0.0.1  (1)
	</Location>
</IfModule>
1Admin-IP oder Netz, bzw. Monitoring-Server hinzufügen
50 ihsmonitoring

51. connectionsAdmin J2C role

  • Nicht den lokalen WebSphere Admin verwenden

  • Es kommt immer wieder zu Problemen mit lokalen Admins ohne Profil in Connections

    • Thumbnails in Gallery (3.0)

    • CCM und Docs lassen nach gewisser Zeit keine Anmeldung zu

    • CCM Datenmigration viel einfacher

  • connectionsAdmin kann man ändern, auch das Kennwort

52. Variablen in der widgets-config.xml verwenden

  • Widget Dokumentationen zeigen oft Pfade im Shared Directory

  • Oder schlimmer → Dateiein in die ear kopieren

    • Gehen bei Updates verloren

  • Besser

    • Dateien in {CONNECTIONS_CUSTOMIZATION_PATH}/communities

    • {communitiesSvcRef} verweist auf diesen Pfad

Sollte sich der Pfad einmal ändern, reicht es die WebSphere Variable zu ändern

53. Orient Me: Indices Cleaner Job

  • Connections pink verwendet für die Indices Elasticsearch

  • Indices werden nach 3 bzw 5 Tagen gelöscht

  • Oder Platte läuft voll

  • 2 Möglichkeiten

    • Skript erstellen und über cronjob ausführen

    • Docker Storage Driver auf Devicemapper ändern

      • Devicemapper ist die empfohlene Konfiguration für RHEL und CentOS (von Docker)

      • Inzwischen auch vom ICP Installer supportet

54. Preview Source mit IBM Docs Viewer

Gatekeeper ist offiziell nicht supportet.
alt

55. TDI → Sync_update_hash_field

  • TDI deckt Userlifecycle komplett ab

  • sync_update_hash_field: uid [Default]|guid|email

  • Umbenennung ändert uid und email

  • Auf Basis des Feldes werden Hashes in DB und LDAP erstellt

    • Gleiche Hashes → User mapping zwischen DB und LDAP

    • Hash nur im LDAP → Neuer User wird angelegt

    • Hash nur in DB → User wird deaktiviert

Wenn hier UID verwendet wird,
Wiederverwendung der Anmeldenamen klären.

56. populate_from_dn_file.sh

  • Siehe auch Tip #55

  • Unabhängig vom sync_update_hash_field

  • Lösung wenn sich die guid einmal ändert

    • Copy & Paste des Personendokuments

    • Benutzer wird nach Kündigung oder Elternzeit neu angelegt

  • collect.dns und populate_from_dn_file.sh benutzen

    • Synchronisiert auf Basis des $DN

57. Alias für LCC, DMGR und nodeLogs

  • Terminals sind prima

  • Geschwindigkeit erhöhen

  • Aliase in .bashrc erstellen

export WAS_HOME=/opt/IBM/WebSphere/AppServer    (1)
export dmgrPrf=Dmgr01
export nodePrf=CnxNode01

alias dmgrBin='cd $WAS_HOME/profiles/$dmgrPrf/bin'
alias wsadmin='cd $WAS_HOME/profiles/$dmgrPrf/bin; rlwrap ./wsadmin.sh -lang jython;cd -'     (2)
alias nodeBin='cd $WAS_HOME/profiles/$nodePrf/bin'
alias nodeLogs='cd $WAS_HOME/profiles/$nodePrf/logs'
alias LCC='cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/CNX6Cell01/LotusConnections-config'
alias DCC='cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/CNX6Cell01/IBMDocs-config'
1Variablen Definition von Alias getrennt → wiederverwendbar
2Startet wsadmin im Dmgr-Profil von überall ausgeführt

58a. Batchmode in wsadmin Skripten

  • Jython Kommandos in Skripts verwenden

  • Multinode Umgebungen:
    Abfrage beim execfile('xxxAdmin.py')

  • newsAdmin.py 12 Mal Dialog beantworten → LANGWEILIG!

Einfach am Beginn des Skripts batchMode=1 setzen
batchMode=1
execfile("newsAdmin.py")

58b. Batchmode in wsadmin Skripten

Skript ohne batchMode
[root@cnx1 bin]# ./wsadmin.sh -lang jython -username admin -password xxx -f search-test.py
WASX7209I: Connected to process "dmgr" on node CNX6CellManager01 using SOAP connector;  The typ...
1: WebSphere:cell=CNX6Cell01,name=SearchService,type=LotusConnections,node=brittanyNode01,proce...
2: WebSphere:cell=CNX6Cell01,name=SearchService,type=LotusConnections,node=cnx-p60-was-02Node01...
Which service do you want to connect to?
(1)
1Ctrl-C oder 1|2
Skript mit batchMode=1
[root@cnx1 bin]# ./wsadmin.sh -lang jython -username admin -password xxx -f search-test.py
WASX7209I: Connected to process "dmgr" on node CNX6CellManager01 using SOAP connector;  The type ...
1: WebSphere:cell=CNX6Cell01,name=SearchService,type=LotusConnections,node=brittanyNode01,process...
2: WebSphere:cell=CNX6Cell01,name=SearchService,type=LotusConnections,node=cnx-p60-was-02Node01,p...
Connecting to WebSphere:name=SearchAdminService,type=LotusConnections,cell=CNX6Cell01,node=britta...
Search Administration initialized

59. Widgets registrieren

  • Seit Connections 6.0 CR1 müssen Widgets registriert werden

  • Ein nicht registriertes Widget →

    • CR1 - komplette Community Overview lädt nicht

    • CR2 - nur das Widget lädt nicht

batchMode=1 (1)
execfile("newsAdmin.py")
WIDGET1=NewsWidgetCatalogService.addWidget(title="CE Community Usage widget", \   (2)
        text="CE Community Usage widget", url="https://YOUR_CE_URL/gadgets/communitystats.xml", \
        categoryName=WidgetCategories.NONE, isGadget=FALSE,appContexts=[WidgetContexts.EMBEDXP],\
        policyFlags=[GadgetPolicyFlags.TRUSTED], prereqs=["communities"])
NewsWidgetCatalogService.enableWidget(WIDGET1)
NewsWidgetCatalogService.clearWidgetCaches()
1Oder zwölf Mal die 1 drücken
2In einer Zeile

60. sync_store_source_url

  • Bei der Verwendung mehrerer TDISOL Verzeichnisse

sync_store_source_url=true
sync_source_url_enforce=true
sync_source_url_override=true
  • Update funktioniert manchmal nicht
    → Assemblyline fühlt sich nicht mehr zuständig
    → Benutzer nicht mehr aktualisiert
    → Benutzer nicht deaktiviert wenn nicht mehr im LDAP

Update des DB Feldes mittels SQL
Direkte Änderungen der Datenbanken sind nicht supportet!

61. Whitelisting deaktivieren

  • Eingeführt mit Connections 6.0 CR1

  • Löscht u.a. style= Attribute

  • Problembeschreibung

    • Formatierungen von Text oder Bild verschwinden beim Speichern

  • LotusConnections-config.xml

    • Suchen von acp-configkey__default.xml
      ersetzen mit acf-config-n*.xml

Dokumentation zu Whitelist noch nicht komplett,
laut IBM nicht mehr Default in CR2.

62. motd für Server Informationen

  • /etc/motd anpassen

  • Wird bei jedem Login (ssh) am Terminal ausgegeben

motd
Unter kann man BgInfo verwenden

63. Datenbank verkleinern

  • sollte eine Datenbank nach einem Problem anwachsen

  • Problem beheben

  • DB Größe bleibt riesig (Dump wird kleiner)

    • truncate auf Tabelle ausführen

    • sehr schnell

truncate löscht den kompletten Tabelleninhalt

 

thanks