Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core information center entwickeln
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:
|
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. |
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 } ]; };
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:
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' } } } ] } ];
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.
agorum core liefert den Filter Aktuelles bei jeder Installation mit. Der Filter informiert über jegliche Neuerungen im System, die nicht Sie selbst vorgenommen haben.
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.
ACLs/Rechte/agorum.composite/agorum.composite.acic.notification/
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.