Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core information center entwickeln


Eigene Filterkonfigurationen hinzufügen und berechtigen

Sie können die Suche dynamisch um eigene Konfigurationen erweitern, um flexibel zu sein und Anforderungen an Ihre Bedürfnisse umzusetzen.

agorum core liefert folgende Filterkonfigurationen mit:

Eine Konfiguration besteht aus folgenden Elementen:

Element Beschreibung
baseQuery Definiert eine Basis-Suche, die grundsätzlich die Objekte vorfiltert, die in diesem Filter erscheinen sollen.
filter Filterdefinitionen, um die Suche weiter einzuschränken.
listType Definiert die Art der Darstellung des Suchergebnisses:
  • Explorer-Liste
  • Detail-Liste
favorite Definiert, ob der Filter im Standard unter den Favoriten zu sehen ist.
name Definiert den Namen des Filters (intern).
text Definiert den Anzeigetext des Filters.
results Dient zur eigenen Erstellung eines Widgets zur Darstellung von Suchergebnissen.

Ein Objekt erstellen und Metadaten definieren


In Folgendem erstellen Sie ein Objekt, das das System finden soll, und definieren seine Metadaten, nach dessen Kriterien Sie anschließend filtern möchten.

Das Beispiel ist ein Dokument vom Typ Rechnung mit folgenden Metadaten:

Im Beispiel möchten Sie alle Objekte finden, bei denen tst_doctype den Wert Rechnung hat. Zusätzlich möchten Sie nach den Metadaten filtern.

Hinweis: Wenn Sie über den agorum core template manager einen neuen Filter für das information center hinzufügen, legt das System das folgende Skript automatisch mit allen Systemeinträgen an. Sie können das JavaScript danach anpassen.

/* global sc */

// export configuration
exports.settings = user => { 
  return [
    {
      type: 'configuration',
      name: 'testplugin_rechnungen',
      text: 'Rechnungen',
      filter: [
        {
          title: 'Rechnungsdaten',
          name: 'rechnungsDaten',
          type: 'query',
          items: [
            {
              title: 'Rechnungsnummer',
              query: 'allfields:tst_rechnungs_nummer ${subQuery}',
              name: 'rechnungsNummer',
              subQuery: [
                {
                  title: 'Rechnungsnummer',
                  name: 'tst_rechnungs_nummer',
                  query: 'tst_rechnungs_nummer:${value}'
                }
              ]
            },
            {
              title: 'Rechnungsdatum',
              query: 'allfields:tst_rechnungs_datum ${subQuery}',
              name: 'rechnungsDatum',
              subQuery: [
                {
                  query: '${value}',
                  queryPart: 'tst_rechnungs_datum_date_range:[${valueFrom} TO ${valueTo}]',
                  name: 'tst_rechnungs_datum_from_to',
                  type: 'date-range',
                  titleFrom: 'von',
                  titleTo: 'bis'
                }
              ]
            },
            {
              title: 'Kreditor',
              query: 'allfields:tst_kreditor ${subQuery}',
              name: 'kreditor',
              subQuery: [
                {
                  title: 'Kreditorname',
                  name: 'tst_kreditor',
                  query: 'tst_kreditor:${value}'
                }
              ]
            },
            {
              title: 'Debitor',
              query: 'allfields:tst_debitor ${subQuery}',
              name: 'debitor',
              subQuery: [
                {
                  title: 'Debitorname',
                  name: 'tst_debitor',
                  query: 'tst_debitor:${value}'
                }
              ]
            }
          ]
        }
      ],
      baseQuery: 'tst_doctype:Rechnung',
      listType: 'detail',
      favorite: true
    }
  ];  
};

Den Export über die Suche verwenden


Um die genutzte Definition aus der Suche einzusetzen oder zu bestimmen, ist der Abschnitt Output in der Dokumentation search-utils – Hilfsbibliothek für die Suche relevant. Alle weiteren Einstellungen stammen direkt aus der Konfiguration in der Suche. Den aktiven Filter, die Filterselektion, die aktive Suche und Weiteres gibt das System direkt mit.

Die erzeugte Ausgabedatei legt das System in den workspace-Ordner acic-exports und bietet sie zum Download. Das System setzt ein Ablaufdatum (expirationDate), an dem es die Datei automatisch am nächsten Tag löscht.

Im Standard erhalten Sie beim Export maximal 1000 Einträge.

Sie können für jeden Filter mehrere Export-Konfigurationen angeben. Diese erscheinen gesammelt unter der Schaltfläche Suchergebnis exportieren:

Suchergebnis exportieren

exportConfig

Definiert ein Array mit Export-Konfigurationen. Eine Konfiguration besteht aus einem internen eindeutigen Namen und einem Text, der in der Suche erscheint. Unter dem Abschnitt export (siehe Codebeispiele unten) können Sie alle genannten Parameter aus Output verwenden.

Wenn Sie einen Parameter nicht angeben, so lädt das System die Einstellungen aus der Definition der Suche, etwa aus dem aktiven Filter. Es ist ebenso möglich, Parameter zu überschreiben, um etwa die Suche zu ergänzen.

Über die Output-Parameter definieren Sie die zusätzlichen Inhalte, etwa den Header oder das Ausgabeformat. Dabei können Sie etwa eine bestehende metadata collection verwenden, um den Header zu definieren:

exportConfig: [
  {
    name: 'exportconfig_all_default',
    text: i18n.translate('agorum.composite.acic.settings.filter.export.default'),
    export: {
      output: {
        resolveHeader: true,
        // exportMax: 100 // optional, to test export file
        metadataCollection: 'agorum_demo_test_collection'
      }
    }
  }
]


Vollständiges Beispiel anhand von ac_all

[
  {
    type: 'configuration',
    name: 'ac_all',
    text: i18n.translate('agorum.composite.acic.settings.filter.All'),
    filter: baseFilter.baseFilter(),
    baseQuery: baseQuery,
    listType: 'detail',
    favorite: true,
    // sort: baseFilter.defaultSort(false), // do not use with sortConfigName
    sortConfigName: 'sortconfig_updatedate_desc',
    sortConfig: baseFilter.defaultSortConfig(),
    exportConfig: [
      {
        name: 'exportconfig_all_default',
        text: i18n.translate('agorum.composite.acic.settings.filter.export.default'),
        export: {
          output: {
            resolveHeader: true,
            // exportMax: 100 // optional, to test export file
            metadataCollection: 'agorum_demo_test_collection'
          }
        }
      }
    ]
  }
];

Einen Filter in der Suche berechtigen


Bei der Registrierung des Filters legt das System automatisch einen MetaDB-Property-Entry mit dem Namen acl an.

Sie finden die ACLs des Filters in der MetaDB unter:

MAIN_MODULE/customers/agorum.composite.acic/settings/<[Projektordner]>/<Interner Filtername>

Zusätzlich erstellt das System eine ACL in den ACLs/Rechten in der Administration. Die ACL trägt dort den gleichen Namen wie der Filter.

Damit ein Benutzer Zugriff auf den Filter in der Suche erhält, berechtigen Sie ihn über die ACL.

Den Filter „Aktuelles“ in der Suche ausblenden

agorum core liefert den Filter Aktuelles bei jeder Installation mit. Der Filter informiert über jegliche Neuerungen im System, die nicht Sie selbst vorgenommen haben.

Filter Aktuelles

Im Standard zeigt das System diesen Filter immer bei jedem Benutzer an. Oftmals ist es jedoch sinnvoller, Filter für spezifische Themen einzurichten; der Filter Aktuelles wird dann überflüssig, sodass Sie ihn ausblenden können.

  1. Öffnen Sie links in der Seitenleiste Administration und dann ACLs/Rechte.
  2. Öffnen Sie den Pfad:
    ACLs/Rechte/agorum.composite/agorum.composite.acic.notification/
  3. Führen Sie einen Doppelklick auf die ACL ACL_agorum.composite_agorum.composite.acic.notification_inbox_all. aus.
  4. Entfernen Sie die Berechtigung lesen (read) des Mitglieds World (Gruppe).
  5. Speichern Sie.

Tipp: Verwenden Sie den Filter Aktuelles für externe DataRoom-Benutzer. Dadurch sehen diese direkt, wenn sich relevante Dateien verändert haben, und arbeiten dadurch effizienter.