Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core information center entwickeln


aguila-Widget über URL (Link) aufrufen

Über eine URL können Sie ein beliebiges aguila-Widget über den Browser aufrufen, etwa wenn Sie von einem anderen Programm aus Oberflächen-Elemente von agorum core aufrufen möchten. Auch das Einbetten über ein iFrame ist möglich.

Aufruf


https://ihr-agorum-core-server/roiwebui/aguila_module?type=aguila-widget-type

Ersetzen Sie den blau markierten Text durch eigene Angaben.

Die Suche ausblenden


Tragen Sie in die URL Folgendes ein, um die Suche auszublenden:

&external=true


Beispiel

https://ihr-agorum-core-server/roiwebui/aguila_module?type=aguila-widget-type&external=true

Den Titel neben dem agorum-Logo ändern


Setzen Sie im jeweiligen Widget Folgendes, um den Standard-Titel agorum zu ändern. Dabei ändert sich gleichzeitig der Titel des Browserfensters.

let widget = ....;

setImmediate(() => {
  widget.form.title = 'Der neue Titel';
});

Den Titel im Browserfenster getrennt steuern


Sie können den Titel im Browserfenster getrennt vom Titel, der neben dem Logo erscheint, steuern. Verwenden Sie dazu das Property header:

let widget = ....;

setImmediate(() => {
  widget.form.header = 'Titel neben dem Logo'; 
  widget.form.title = 'Titel im Browserfenster'; 
});

Beispiele


Die Suche aufrufen

https://ihr-agorum-core-server/roiwebui/aguila_module?type=agorum.composite.acic

Parameter übergeben


Die Suche mit dem Suchbegriff „test“ in der URL übergeben

https://ihr-agorum-core-server/roiwebui/aguila_module?type=agorum.composite.acic&query=test

Sie können so alle Parameter übergeben, die das Widget versteht.

Filter aufrufen


Beispiel für den Filter „Eingang (aktuell)“

http://ihr-agorum-core-server/roiwebui/aguila_module/?type=agorum.composite.acic&settingName=inbox-current

Filter aufrufen mit ergänzender Query

http://ihr-agorum-core-server/roiwebui/aguila_module/?type=agorum.composite.acic&settingName=acso_tasks&additionalBaseQuery=(acso_tickettyp:"acdemoticket" NOT acso_istemplate:true)

Die Suche mit vorangestelltem Login-Fenster aufrufen

Sie benötigen eine Session, um ein Ergebnis aus der Suche zu erhalten und dieses aufzurufen.

http://ihr-agorum-core-server/roiwebui/home_module/?url=%2Froiwebui%2Faguila_module%2F?type=agorum.composite.acic%26query=test

siehe Auf Dokumente per Links extern zugreifen

Details für ein Objekt aufrufen

http://acic-dev.docker.agorum.com/roiwebui/aguila_module/?type=agorum.composite.details&id=ID-des-Objekets

agorum core explorer mit einer Query aufrufen


Anwendungsbeispiel

Sie wollen den agorum core explorer aus einem externen Programm in einer bestimmten Akte, etwa einer Kundenakte, öffnen. Ihnen fehlt jedoch die id der Akte in agorum core, und Sie kennen im externen Programm nur die Kundennummer des Kunden. Die Akte in agorum core ist durch Metadaten beschrieben, etwa der Kundennummer (acmf_kundennummer) und einem identifier (identifier:kundenakte).

Vorgehen

  1. Erstellen Sie ein aguila-Widget mit etwa folgendem Aufbau:
    let aguila = require('common/aguila');
    let objects = require('common/objects');
    
    // Beispiel aus der Musterfirma - Es soll die Kundenakte geöffnet werden mit der Kundennummer 1221
    //http://<agorum core Server - Adresse>/roiwebui/aguila_module/?type=agorum.demo.link.link2fillingassistant&home=true&query=area:(Kunden Partnerakte) identifier:Partnerakte acso_partnernumber:1221
    
    let widget = aguila.create({
      type: 'agorum.vbox',
      properties: [
        'query'
      ],
      items: [
        {
          type: 'agorum.textDisplay',
          name: 'queryInput',
          label: 'Suche für Akte'
        },
        {
          type: 'agorum.textDisplay',
          name: 'error',
          label: 'Fehler'
        }
      ]
    });
    
    widget.on('queryChanged', query => {
      aguila
      .fork(() => objects.query(query).limit(1).search('id'))
      .then(result => {
        if (result.total === 1 && result.rows[0] && result.rows[0].id) {
          // Mit aguila.exec können Sie auf dem Client ein JavaScript ausführen. Hier in diesem Falle wird
          // die URL des Tabs, in den der Link geworfen wird, ersetzt durch die angegebene URL (hier
          // der Aufruf des agorum core explorers mit der gewünschten ID der Akte, die durch die Metadaten beschrieben wurde
          aguila.exec("window.location.replace('/roiwebui/aguila_module/?type=agorum.home#id=$1');".replace('$1', result.rows[0].id));      
        }
        else {
          // Ausgabe, dass durch die Query nichts gefunden wurde
          widget.down('queryInput').value = query;
          if (result.total < 1) {
            widget.down('error').value = 'Durch "Suche in Akte" wurde keine Akte gefunden. Bitte informieren Sie Ihren Administrator.';
          }
          else {
            widget.down('error').value = 'Durch "Suche in Akte" wurden zu viele Akten gefunden. Bitte informieren Sie Ihren Administrator.';
          }
        }
      })
      .finally(() => widget.locked = null);
    
      widget.locked = 'Bitte warten ...';
    });
    
    widget;
  2. Registrieren Sie das Widget (im Beispiel agorum.demo.link.link2fillingassistant).
  3. Rufen Sie das aguila-Widget mit folgendem Link auf:
    http://<agorum core Server - Adresse>/roiwebui/aguila_module/?type=agorum.demo.link.redirect2home&home=true&query=area:(Kunden Partnerakte) identifier:Partnerakte acso_partnernumber:1221
    

    Ergebnis: Im agorum core explorer öffnet sich die gewünschte Kundenakte, sofern vorhanden.

    Tipp: Soll der Aufruf funktionieren, wenn der Client momentan nicht an agorum core angemeldet ist, können Sie Home mit der Login-Maske davorschalten. Dazu müssen Sie den Link durch das Skript wie folgt encodieren:

    let server = '<agorum core Server - Adresse>';
    let link = '/roiwebui/aguila_module/?type=agorum.demo.link.link2fillingassistant&query=area:ag_package id:${FOLDERPATH:/agorum/roi/customers/agorum.demo.link/doc}';
    let url = 'http://' + server + '/roiwebui/home_module/?url=' + encodeURIComponent(link);
    
    url;
    
    Im Erfolgsfall versendet das externe Programm Folgendes:
    http://<agorum core Server - Adresse>/roiwebui/home_module/?url=%2Froiwebui%2Faguila_module%2F%3Ftype%3Dagorum.demo.link.link2fillingassistant%26home%3Dtrue%26query%3Darea%3A(Kunden%20Partnerakte)%20identifier%3APartnerakte%20acso_partnernumber%3A1221