Einleitung

Das Kommandozeilentool al-cmdclient wird im Application-Layer bin Verzeichnis mit ausgeliefert. Es kann mit der Batch-Datei al-cmdclient.cmd oder mit den Befehl jre/bin/java -jar bin/al-cmdclient-7.13.xx.jar gestartet werden.

Die JAR Datei kann auf einen anderen Rechner kopiert und benutzt werden. Das Programm benutzt intern den Advanced-Connector und kann daher auch Remote seine Kommandos ausführen.

Image missing
Figure 1. Programmaufruf
Aktuell sind die folgenden Punkte möglich
  • Absetzen einer Query für bestimmte Objekte

    • AuditLog

    • Installiere Apps

    • Angemeldete Benutzer

    • Global-Client-Settings

    • Jobs

    • JVM Parameter

    • Messages

    • Sessions

    • Virtual renditions

  • Generisches Lesen und Ändern der Konfigurationen

    • cfg-get

    • cfg-add

    • cfg-upd

    • cfg-del

    • cfg-patch

  • Import und Export von Konfigurationen

    • Import

    • Export

    • Konvertierung Binär ⇒ JSON

  • Repository: Suchen und Anlegen von Objekte

    • NQL Search

    • Aggregated Search

    • String Condition Search

    • Dokument, Ordner und Link erzeugen

  • Scripting

    • JavaScript Datei ausführen, alternativ REPL (interaktiv)

    • Einzelne Server Service Methoden aufrufen

  • Scenarios

    • Storage Layer und Rendition Server anlegen

    • Documentenbereich anlegen (mit SL und RS)

    • SBS Scenario

Benutzung des Programms

Syntax

al-cmdclient <global-options> subcommand <sub-options>

Die globalen Optionen stellen die Verbindung zum Application Layer her

-auth [PASSWORD | NTLM | KERBEROS | KERBEROS_GSS]          : authentication method (default: PASSWORD)
-domain VAL                                                : Domain of principal (default: nscale)
-help VAL                                                  : Help for command [VAL]
-host VAL                                                  : Hostname of the AL server (default: localhost)
-instance VAL                                              : Instance name of the AL server (default: nscalealinst1)
-kdc VAL                                                   : kerberos kdc (gss)
-kdcserveraddress VAL                                      : kerberos server address (gss)
-loglevel VAL                                              : log level
-newpassword VAL                                           : new password of user
-password VAL                                              : Password of user (default: admin)
-port N                                                    : HTTP port of the AL server (default: 8080)
-profile VAL                                               : use profile
-realm VAL                                                 : kerberos realm (gss)
-spn VAL                                                   : kerberos service principalname (default: nscaleserver1)
-ssl                                                       : Use secure HTTP (default: false)
-time                                                      : measure time (default: false)
-user VAL                                                  : Username of principal (default: admin)

Kommandos:

  • Queries: query-auditlog, query-apps, query-connusers, query-docarea, query-domain, query-gcs, query-jobs, query-jvmprops, query-ldap, query-lic-info, query-lic-clients, query-mds, query-msg, query-session, query-virtren, query-visirule

  • Konfiguration: cfg-get, cfg-add, cfg-upd, cfg-del, cfg-patch, cfg-gcs

  • Import/Export: cfg-export, cfg-import, cfg-exp-convert

  • Repository: repo-nql-search, repo-aggr-search, repo-cond-search, repo-create-doc, repo-create-folder, repo-create-link, repo-get-props, repo-patch-props, repo-retrieve-doc, repo-del

  • Performance: perf-create-doc

  • Scenarios: scenario-da, scenario-sl, scenario-rs, scenario-sbs

  • Anmeldeprofil: profile

  • Scripting: run-script, run-auth-method, run-cfg-method, run-coll-method, run-msg-method, run-mon-method, run-um-method, run-wf-mothod

Hilfe

Ohne Argumente werden die möglichen Kommandos angezeigt. Die Option -help zeigt die Hilfe eines Sub-Kommandos.

Hilfeaufrufe
# global help
al-cmdclient

# full help (all commands)
al-cmdclient -help

# help for one commands
al-cmdclient -help cfg-add

Anmeldung

Neben der Anmeldung mit Kennwort werden die SSO Verfahren NTLM und Kerberos unterstützt. Unter Windows kann die Anmeldesession mit -auth KERBEROS benutzt werden, unter Unix muss das platform-übergreifende Verfahren KERBEROS_GSS benutzt werden. Hier sind allerdings die Parameter kdc,kdcserveraddress und spn zu setzen. Die Verbindungsparameter lassen sich als Profile abspeichern.

Beispiele für Profile

Der profile Befehl kann Profile anlegen bzw. anzeigen. Die Basis-Option -profile kann ein Profil als Anmeldeparameter benutzen (statt explizit das Setzen von host, port, user, password oder auth=TYPE).

Anzeige der Profile:
al-cmdclient profile
#sample output: nscaleintern.json
Das gefundene Profil benutzen:
al-cmdclient -profile  nscaleintern.json  query-apps
Anzeige Profilinhalt:
al-cmdclient profile -name nscaleintern.json
{
  "host" : "nscaleintern.ceyoniq.com",
  "port" : 8080,
  "instance" : "nscalealinst1",
  "ssl" : false,
  "user" : "admin",
  "password" : "admin",
  "newpassword" : null,
  "domain" : "CT.com",
  "help" : null,
  "auth" : "KERBEROS",
  "servicePrincipalName" : "nscaleserver1",
  "kerberosKDC" : "CT.COM",
  "kerberosRealm" : "CT.COM",
  "kdcServerAddress" : "001ctads2",
  "logLevel" : null,
  "profile" : null,
  "command" : null
}

Queries

Anzeige der installierten Apps:
al-cmdclient query-apps

-- App-ID --                                       -- Versions --
com.ceyoniq.nscale.businessapps.bl-app (APPS)      [2.0.1201]
com.ceyoniq.nscale.businessapps.gov-app (APPS)     [2.0.1201, 2.0.1201, 2.0.1201, 2.0.1201, 2.0.1201, 2.0.1201, 2.0.1201, 2.0.1300]
Lesen von Global-Client-Settings, Anzeige durch Format-Parameter verbessern
# list all gcs
al-cmdclient query-gcs

# list one setting
al-cmdclient query-gcs -name Imaf_ALPolicies

# decode special format
al-cmdclient query-gcs -name AppMetaData -format JAVA_SER

Konfiguration

Lesen von PluginsSetting
# get plugin setting
al-cmdclient cfg-get -type PluginsSetting
Lesen und Ändern von LdapSetting
# print example LDAP setting
al-cmdclient cfg-example -type LdapSetting  > ldap.setting

# import ldap setting
al-cmdclient cfg-add -type LdapSetting -file ldap.setting

# print ldap setting
al-cmdclient cfg-get -type LdapSetting -name CT

# patch property of ldap setting
al-cmdclient cfg-patch -type LdapSetting -name CT -set pageSize=1000

# patch complex property (use backslash oder two double quotes)
al-cmdclient cfg-patch -type LdapSetting -name CT -set "serverAddress={ \"host\" : \"001ctads2\", \"port\" : 389 }"

Import und Export

Importieren einer Scenario-Manager Datei
# import nsb file
al-cmdclient cfg-import -file nscale-administrator-scenario.nsb -mode Alter

# convert binary file to JSON
al-cmdclient cfg-exp-convert -file nscale-administrator-scenario.nsb -out scenario.json

Scenarios

Dokumentenbereich mit Rendition-Server und Storage-Layer anlegen. Dieser Befehl eignet sich gut für das Neuaufsetzen einer Datenbank bzw. NAPPL Instanz.

Aufruf:
# execute scenario "create document area"
al-cmdclient  scenario-da  -da DA

Repository

Es kann eine Suche mit NQL oder Fulltext Option abgesetzt werden. Eine String-Condition Suche kann pro Treffer-Seite den Bildschirminhalt stoppen (vergl. more Befehl). Als Ausgabeformat ist JSON oder Text möglich.

Suchen:
# NQL search
al-cmdclient repo-nql-search -da DA -nql "select displayname,resourcetype,contenttype where identifier = 2 scope subtree"

# NQL aggregated search
al-cmdclient repo-aggr-search -da DA -nql "select count(identifier), fulltextstate where fulltextstate > 0 order by count(identifier)"

# Search with string condition
al-cmdclient repo-cond-search -da DA -filter "identifier=4711" -properties=displayname,resourcetype,contenttype -subtree -pagesize=100 -sort=displayname -stop

Scripting

Es können einzelne Methoden oder ganze Skripte ausgeführt werden. Alternativ kann eine interaktive REPL Shell benutzt werden.

Scripting
# Simple method
al-cmdclient run-cfg-method -method getStandardDictionaryLocales

# Method parameter resourcekey (since 7.13)
al-cmdclient run-repo-method -method unlock "DA$NOTSET$204$1$NOTSET"

# Method parameter as json
al-cmdclient run-auth-method -method getAssignment "{ \"name\": \"default\", \"areaName\": \"DA\" }"

# run javascript
al-cmdclient run-script -file myscript.js
REPL Shell
bash> al-cmdclient run-script

Oracle Nashorn [nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript]
The context variable 'session' can be used (class com.ceyoniq.nscale.al.core.Session).
Enter 'exit()' to terminate script.

> var cfgService = session.getConfigurationService()
> cfgService.getVersion()

7.11.9999.00000 (String)

> exit()