Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core smart assistant konfigurator
Im agorum core smart assistant konfigurator können Sie die Konfiguration per JavaScript an die entsprechende Anforderung anpassen.
In diesem Dokument wird beispielhaft beschrieben, was bei den einzelnen Skripten möglich ist und welche Parameter zu erwarten sind.
Jedes JavaScript kann Rückgabewerte senden, die Sie als Objekt zurückerhalten. In diesen können Sie Keywords in den Rückgabewerten mitgeben, die dann wiederum die Rückgabe des Skripts steuern.
Stellt das Objekt mit der angegebenen ID neu dar, egal, wie das System es im agorum core explorer anzeigt.
Beispiel 1
'refresh:+obj.ID; // Alternativ reicht auch obj ohne .ID
Beispiel 2
Im zweiten Beispiel erhalten Sie ein Array zurück, das beliebige Rückgabewerte enthalten kann. Diese führt das System alle aus.
let ret = []; ret.push('refresh:' + folder); ... ret.push('refresh:' + obj); ... ... ret;
Beispiel
Liefert nur das Objekt zurück. Das System behandelt es damit wie einen Doppelklick (wie Aktionen der Befehlsgruppe Öffnen).
''+ object.ID; // Alternativ reicht auch object ohne ID
Beispiel 1
Dieser Aufruf löst einen Download der Datei in ids[0] aus und wandelt diese in ein PDF um.
'url:https://agorumdocproxy.agorum.com/api/rest/object/download/' + ids[0] + '/pdf';
Beispiel 2
Diesen Aufruf gibt das System an den agorum core client weiter. Das weitere Vorgehen ist im Skript acmf_npp definiert.
'url:agorum:acmf_npp:path:get:' + object;
Hinweis: Sie können das Verhalten bei Doppelklick bei einem agorum core client ändern.
Beispiel 1
Ruft die Aktion eingebauterHTML-Editor auf (entspricht dem Namen (intern)).
Als Übergabewert in fussnoteFile geben Sie das Objekt an, das die Fußnote repräsentiert.
'action:eingebauterHTML-Editor:' + fussnoteFile;
Beispiel 2
Übergibt alle Objekte aus dem Array objs.
'action:eingebauterHTML-Editor:' + objs.join(':');
Bei dem Aufruf einer action müssen Sie bei den übergebenen Parametern unterscheiden, welche "action" Sie aufrufen möchten. Es existieren Server-Aktionen und Client-Aktionen. Beide unterscheiden sich in der Art der Parameter, die Sie übergeben können.
Bei der Server-Aktion dürfen Sie als Parameter nur gültige Object-IDs übergeben, die dann im JavaScript bei der aufgerufenen Aktion wieder als Objekte verfügbar sind.
Beispiel
'action:eingebauterHTML-Editor:' + objs.join(':');
Bei dieser action kommen die Übergabeparameter (hier alle IDs aus objs.join(':')) als Array objects an, sodass Sie diese als Objekte sofort weiter verarbeiten können:
/* global objects, data */ objects.forEach(function(object){ ... ... }); ... ...
Bei der Client-Aktion übergeben Sie als Parameter Strings. Diese Strings dürfen keine : enthalten, da der : den Trenner zwischen den Parametern repräsentiert:
'action:_pdfactions_ShowWaitMessage:Seiten aus PDF entfernen:Die Seitenansicht wird vorbereitet...';
Bei dieser action kommen die Übergabeparameter als Array ids an, sodass Sie diese von dort weiter verarbeiten können. Da das System in einer Client-Aktion keine Objekte verarbeiten kann, kommen die Parameter ids als String-Array an, sodass Sie diese daraus auslesen können:
/* global window, Ext, folderId, ids */ let title = ids[0] || decodeURIComponent('Aktion wird durchgeführt'), msg = ids[1] || decodeURIComponent('Bitte warten...'); if (window._waitMsg) { window._waitMsg.close(); window._waitMsg = null; } window._waitMsg = Ext.create('Ext.window.Window', { width: 500, height: 200, title: title }); window._waitMsg.show(); window._waitMsg.body.mask(msg); null;
Beispiel
Ruft die Anlage TestAnlage auf (entspricht dem Namen (intern)).
Als Übergabewert übergeben Sie den Ordner (objects[0].ID), dieser kommt dann in der Anlage als folder an.
'create:TestAnlage:'+ objects[0].ID;
Hinweis: Sie können die Aktion create auch mit einem Serviceaufruf durchführen.
Beispiel
Gibt die ID des Objekts an open über, was einem Doppelklick auf das Objekt entspricht.
'open:' + objects[0].ID;
Die ID ist auch der Default-Wert, den das System verwendet, wenn Sie nur die ID als Rückgabewert verwenden:
objects[0].ID;
Die einzelnen Elemente können Sie mit JavaScript steuern und konfigurieren. Geben Sie die Parameter in der ersten Zeile des JavaScripts an.
Parameter | Beschreibung |
---|---|
sc | Definiert die Session, mit der der Benutzer mit agorum core verbunden ist (sessionController). |
sca | Definiert den Session Controller zur Nutzung als Administrator (sessionControllerAdmin). |
folder | Definiert das Objekt des Ordners, auf dem ein Benutzer im agorum core explorer gerade positioniert ist. Wenn Sie im Feld Zielordner einen Ordner eingeben, ist folder dieser Zielordner. |
objects | Definiert ein Objects-Array der Objekte, die im agorum core explorer zum Zeitpunkt der Ausführung markiert sind. |
data | Definiert das Objekt, das die Eingabewerte enthält. |
Im Bereich Anlage existieren drei Skripte, mit denen Sie diesen Bereich steuern können.
Das System ruft die einzelnen Skripte zu unterschiedlichen Zeiten auf und liefert globale Parameter, die Sie in den Skripten verwenden können.
Dieses JavaScript ruft das System auf, bevor es die Bedienoberfläche für die einzugebenden Metadaten erstellt. Somit können Sie auf diese Bedienoberfläche Einfluss nehmen. Sie können Vorbelegungen durchführen und die Ansicht des Dialogs anpassen.
Folgende Parameter definieren Sie in der ersten Zeile und übergeben sie an das Skript zur Verwendung:
/* global sc, sca, folder, objects */
Hinweis: Für das Beeinflussen der Bedienoberfläche siehe:
Eingabefelder in Bedienoberflächen vorbelegen
Dieses JavaScript ruft das System auf, nachdem ein Benutzer die Schaltfläche OK in der Bedienoberfläche geklickt hat, jedoch vor dem Anlegen der gewünschten Struktur. Dies bedeutet, Sie können anhand der eingegebenen Werte Dinge machen, die zum Erstellen der Struktur notwendig sind.
Ein Beispiel hierzu wäre, dass Sie einen bestimmten Rechtestempel (ACL) benötigen, den Sie hier anlegen und den das System beim Anlegen der Struktur auf diese setzt.
Folgende Parameter übergeben Sie an das Skript, Sie können diese Parameter verwenden:
/* global sc, sca, folder, data */
Beispiel für data
Hier können Sie etwa in der Bedienoberfläche das Attribut name eingeben:
{ name: 'Eingegebener Wert von Name' }
Zugriff auf diese Werte erhalten Sie mit data.name.
Dieses JavaScript ruft das System auf, nachdem die Anlage stattgefunden hat und die angelegten Objekte schon vorhanden sind.
Die Parameter entsprechen denen von JavaScript (zuvor).
Wenn Sie in diesem Skript auf die angelegte Struktur zugreifen, müssen Sie diese per Pfad holen, eine Suche ist hier noch nicht möglich.
Beispiel
/* global sessionController, sessionControllerAdmin, folder, objects, data */ let templates = require('common/templates'), obj = require('common/objects'), ret = []; let projektAkte = obj.find(templates.fill('/agorum/roi/Files/Musterfirma GmbH/Musterfirma GmbH/Projektakten/${acmf_projektName}', data)); ... ..
Im Bereich Ablage existieren 3 Skripte, mit denen Sie diesen Bereich steuern können.
Das System ruft die einzelnen Skripte zu unterschiedlichen Zeiten auf und liefert globale Parameter, die Sie in den Skripten verwenden können.
Dieses JavaScript ruft das System auf, bevor der Ablageprozess beginnt. Über dieses JavaScript können Sie etwa Informationen aus dem System ziehen, die Einfluss auf das JavaScript (zuvor) oder JavaScript (danach) haben.
/* global sc, sca, folder, objects */
Dieses JavaScript startet das System direkt vor der Ablage.
/* global sc, sca, folder, objects, data */
Hinweis: In diesem Skript dürfen Sie keine Objekte verschieben. Es kann sonst sein, dass das System die Objekte wieder im abgelegten Ordner schiebt. Es kommt darauf an, ob Sie etwa die Ablage über den Einsprungspunkt mit Sammelbereich - zeige nur Dateien an von oben nach unten ziehen, oder ob die Benutzer Daten vom Desktop in den Ablagebereich ziehen.
Um ein immer gleiches Verhalten zu gewährleisten, führen Sie die Skripte zum Verschieben nur im JavaScript (danach) aus.
Dieses JavaScript ruft das System als Letztes auf. Sie definieren hiermit nach der Ablage des Dokumentes, was passieren soll, etwa das Verschieben in einen endgültigen Ordner.
/* global sc, sca, folder, objects, data */
In diesem Bereich können Sie kein JavaScript einsetzen.
Suchen erstellen Sie über die agorum core metadata collection oder über die Suche.
Im Bereich Aktion existieren 2 Skripte, mit denen Sie diesen Bereich steuern können.
Das System ruft die einzelnen Skripte zu unterschiedlichen Zeiten auf und liefert globale Parameter, die Sie in den Skripten verwenden können.
Hinweis: Sie können mit einem eigenen Kontextmenü auch auf einen bestehenden Workflow zugreifen, um ihn direkt zu starten.
/* global sc, sca, folder, objects */
/* global sc, sca, folder, objects, data */
Dieses Skript ruft das System entweder dann auf, wenn ein Benutzer in einer Bedienoberfläche mit der Schaltfläche OK bestätigt hat, oder nachdem das System die Aktion aufgerufen hat, sofern keine Bedienoberfläche für diese erforderlich ist. Das Skript enthält die Aktion, die das System ausführen soll.
Die Aktionen unterscheiden sich zwischen einer Client-Aktion und einer Server-Aktion. Erstere läuft auf dem Client, letztere auf dem Server. Die Aktionen besitzen verschiedene Parameter, die dem JavaScript zur Verfügung stehen.
Client-Aktion
Das JavaScript in der Client-Aktion ist sehr eingeschränkt. Sie können hierbei nicht auf Informationen des Objekts zugreifen.
Dem Skript stehen folgende Parameter zur Verfügung:
JavaScript initialisieren
/* global sc, sca, folder, objects */
JavaScript
/* global folderId, ids */
Parameter | Beschreibung |
---|---|
folderId | Definiert die ID des Ordners, der bei Aufruf der Aktion aktuell ist. Dies ist kein Objekt, sondern ein String. |
ids | Enthält alle IDs als String-Array, die markiert waren, als die Aktion ausgeführt wurde. |
Server-Aktion
In dem JavaScript der Server-Aktion steht alles zur Verfügung, was auf dem Server abrufbar ist. Arbeiten Sie hier mit Objekten und nicht mit String-Werten.
Dem Skript stehen folgende Parameter zur Verfügung:
JavaScript initialisieren
/* global sc, sca, folder, objects */
JavaScript
/* global sc, sca, folder, objects, data */