Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core template manager > Projektabhängige Aktionen öffnen


Drop Area hinzufügen

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des agorum core template managers. Aktualisieren Sie ggf. das hier beschriebene Plug-in, um die Dokumentation verwenden zu können.

Mit dieser projektabhängigen Aktion fügen Sie eine Dropfläche hinzu. Diese dient zur einfachen Ablage von Dokumenten und E-Mails per Drag-and-drop.

Voraussetzungen


Drop Area hinzufügen


  1. Klicken Sie mit der rechten Maustaste auf den Ordner Ihrer Konfiguration.
  2. Wählen Sie im Kontextmenü die Aktion agorum core template manager/Funktionen hinzufügen/Dropfläche hinzufügen.

    Ergebnis: Ein Dialog öffnet sich, in dem der Name der Dropfläche bereits ausgefüllt ist. Sie können den Namen bei Bedarf ändern.
  3. Wählen Sie im Feld ASA Auswahl eine agorum core smart assistant-Konfiguration aus.

     
    Name der Drop Area und agorum core smart assistant-Konfiguration wählen


    Diese Konfiguration muss zuvor über die Aktion template manager/Funktionen hinzufügen/agorum core smart assistant Add-on hinzufügen zu Ihrem Projekt hinzugefügt worden sein.
  4. Klicken Sie auf OK.

    Ergebnis:
    Sofern die Dropfläche nicht existiert, erscheint ein Dialog, in dem automatisch der zu registrierende Name der Dropfläche eingetragen ist. Sie können diesen Namen bei Bedarf ändern (siehe Register Name der Dropfläche angeben).
    Sofern die Dropfläche bereits existiert, erhalten Sie eine entsprechende Meldung.

     
    Register Name der Dropfläche angeben
  5. Klicken Sie auf OK.

    Ergebnis: Das System legt die Dropfläche an. Dabei geschehen die unten aufgeführten Dinge automatisch.

     
    Meldung, dass die Dropfläche bereits existiert

Automatische Eintragungen nach Anlage einer Dropfläche


Folgende Eintragungen nimmt das System nach Anlage einer Dropfläche automatisch vor.

  1. In der MetaDB wird ein Eintrag für die Dropfläche hier erstellt:
    MAIN_MODULE_MANAGEMENT/client/AddOns/<Konfigurationsprojekt>-<Drop Area Name als js>
    

    Beispiel
    /MAIN_MODULE_MANAGEMENT/client/AddOns/mf-drop-area.js
  2. Dieser MetaDB-Schlüssel wird in die Datei export.yml eingetragen. Weiter werden drei Kommentarzeilen darüber geschrieben.

    Beispiel
    #
    # registriere Drop Area - Demo
    #
    - MetaDB: MAIN_MODULE_MANAGEMENT/client/AddOns/mf-drop-area.js
  3. Nach Eintrag der Dropfläche in den Bereich Ablage der gewählten agorum core smart assistant-Konfiguration wird in der Registerkarte JavaScript (danach) ein JavaScript aufgerufen:
    /* global sc, sca, folder, data, objects */
    
    let droparea = require('/agorum/roi/customers/MF/js/drop-area/drop-area.js');
    
    droparea.move(objects,folder,data);
    
    Dieses JavaScript wird unter der in require(...) verwiesenen Stelle angelegt.

    Das vollständige Programm, mit dem Sie die Dropfläche beliebig steuern können, sieht folgendermaßen aus:
    /* global sc */
    
    // let droparea = require('/agorum/roi/customers/MF/js/drop-area/drop-area.js');
    
    // Now you have to write a script here, 
    // that does something with the dropped files.
    // Example Moves the dropped documents to another area:
    // Moves the dropped documents to another area.
    // Could be like this:
    
    let obj = require('common/objects');
    
    function move(objects, folder, data) {
      
      // the inbox (Eingang) is here just below  "MyFiles/Drop Area - Demo - Inbox"
      let eingang = obj.find('home:MyFiles').createPath('Drop Area - Demo - Inbox');
    
      if (eingang) {
        objects.forEach(function (object){
          // unlink from dropa area
          obj.remove(object);
          // link to the inbox (Eingang)
          obj.add(object, [eingang ]);
        });
      } else {
        throw "User has no access to the inbox";
      }
    }
      
    module.exports = {
      move: move
    };
    

    Hinweis: Im Standard wird alles aus der Dropfläche unter Eigene Dateien des Benutzers abgelegt.

  4. Es wird ein JavaScript zur Unterstützung des Imports / Exports der Dropfläche angelegt. Dieses Skript wird unter dem Pfad, der unter dem ersten - Package:-Keyword in der Datei export.yml steht, abgelegt. Dabei wird in das Verzeichnis js abgelegt, das zuerst gefunden wird. Ist keines vorhanden, wird es angelegt.

    Hinweis: Dieses JavaScript darf bei einem Import / Export erst zum Schluss ausgeführt werden. Achten Sie darauf, dass die Datei entsprechend umbenannt wird, etwa mit zzz beginnt. Bei einem Import wird die export.yml von oben nach unten durchgearbeitet, wobei Dateien alphabetisch sortiert sind.

    Beispiel
    Der Filename beginnt mit zzz, damit die Datei erst als Letztes ausgeführt wird. In diesem Falle liegt das Verzeichnis js unter dem Ordner xx.

    /agorum/roi/customers/MF/deploy/pre/xx/js/zzz structure-basis-drop-area.js


    JavaScript

    /* global sc */
    
    global.sessionControllerAdmin = sc;
    
    let objects = require('common/objects');
    let sb = require('/agorum/roi/customers/Standard/js/structure-builder');
    let yamlbasis = objects.find('/agorum/roi/customers/TestMinimal/yml/zzz structure-basis-drop-area-demo.yml');
    
    sb(yamlbasis).create();
  5. Des Weiteren wird eine .yml-Datei angelegt, auf die das obige Skript verweist (fett markiert). Der Inhalt der Datei sieht wie folgt aus, wobei die fett markierten Stellen für die Anlage der Drop Area zuständig sind:
    #
    # This file defines the base structure with access rights
    #
    
    _prefix: testminimal_
    _postfix: Bereich
    _aclPrefix: ACL_testminimal_
    _grpPrefix: GRP_testminimal_
    
    #
    # In _default everything can be set, what should be valid for each folder
    #
    _default:
    #  acl:
    #  unique: true
    #  systemFlags: 65564
    
    _leaf:
    #  systemFlags: 28
    
    #
    # Internal workspace folder, can be used to store things for the module, e.g. for the drop area
    #
    + /agorum/roi/workspace -- workspace:
      acl: acl:Published
      + MF:
        acl: acl:Published
        + Drop Area:
          acl: acl:Public
  6. Die Deinstallationsdatei der Aktion wird angelegt.