Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > Erste Schritte für Administratoren > agorum core fill template
Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plugins. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.
Sie können das Plugin agorum core fill template zur Erstellung von Serienbriefen und Serienmails anpassen, um:
Ändern Sie die in dieser Dokumentation beschriebenen Skripte oder fügen eigene Skripte hinzu, bleibt das Plugin weiterhin updatefähig.
Hinweis: Wenn Sie Anpassungen an Skripten vornehmen oder eigene Skripte erstellen:
Verwenden Sie stets eine Testumgebung.
Stellen Sie sicher, dass Sie dieselben Aufrufparameter und Returnwerte wie in den ursprünglichen Skripten verwenden.
Steuert das Plugin und fungiert als Hauptskript.
Sie finden dieses Skript als Super-Administrator roi unter:
/Eigene Dateien/Administration/customers/fill-template/js/tools/load-customer-settings.js
Verweist auf das E-Mail-Template, das das System als Vorlage für ein neues E-Mail-Template kopiert.
Sie können sich ein eigenes Vorlagen-Template anlegen und den Pfad in die MetaDB eintragen.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/mail-template/copy-file
Stellt den Pfad ein, der auf Ihre Standard-Templates für die Serienbriefe verweist.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/template/doc-template-path
Stellt den Pfad ein, der auf Ihre Standard-Templates für die Serienmails verweist.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/template/mail-template-path
Legt die Serienbriefe in Ihre Kunden-/Partnerakten ab.
Wenn Sie eine andere Ablage vorziehen, schreiben Sie ein entsprechendes Skript und geben den Pfad zu Ihrem Skript diese in der MetaDB an.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/moveToFolderScript
Nimmt Einfluss auf die Platzhalter, mit denen Sie einen Serienbrief erstellen.
Im Standard füllt das System die Platzhalter aus den Adressen, die in agorum core angelegt sind. Sie können dieses Skript durch ein eigenes Skript mit anderen Platzhaltern ersetzen. Geben Sie dazu den Pfad zu Ihrem Skript in der MetaDB an.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataScript
Nimmt Einfluss auf die Platzhalter, mit denen Sie einen Serienbrief erstellen.
Im Standard füllt das System die Platzhalter aus den Adressen, die in agorum core angelegt sind, sowie aus allen definierten Metadaten (über die Datei metadata.yml). Sie können dieses Skript durch ein eigenes Skript mit anderen Platzhaltern ersetzen. Geben Sie dazu den Pfad zu Ihrem Skript in der MetaDB an.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataScriptAll
Nimmt Einfluss auf die Platzhalter, mit denen Sie eine Serienmail erstellen.
Im Standard füllt das System die Platzhalter aus den Adressen, die in agorum core angelegt sind. Sie können dieses Skript durch ein eigenes Skript mit anderen Platzhaltern ersetzen. Geben Sie dazu den Pfad zu Ihrem Skript in der MetaDB an.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataMailScript
Nimmt Einfluss auf die Platzhalter, mit denen Sie eine Serienmail erstellen.
Im Standard füllt das System die Platzhalter aus den Adressen, die in agorum core angelegt sind, sowie aus allen definierten Metadaten (über die Datei metadata.yml). Sie können dieses Skript durch ein eigenes Skript mit anderen Platzhaltern ersetzen. Geben Sie dazu den Pfad zu Ihrem Skript in der MetaDB an.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataMailScriptAll
Ersetzt die Platzhalter in der Vorlage.
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/template/create-new-template-path
Registriert ein eigenes Skript für einen Filter in der Suche.
Das System zeigt den Filter ebenso in der Suche im Filter Adressen - Personen an.
Zugehöriger MetaDb-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/fill-template-filter-path
Skript, das vor dem Erstellen der Serienmail oder des Serienbriefes ausgeführt wird. Im Standardskript werden Platzhalter für die Anrede erstellt. Sie können dieses Skript durch ein eigenes Skript mit anderen Platzhaltern ersetzen. Geben Sie dazu den Pfad zu Ihrem Skript in der MetaDB an.
Für weitere Informationen siehe Das Default-Skript verwalten.
Zugehöriger MetaDb-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/fill-template-default-script-path
Hinterlegt ein eigenes Skript, das das System bei der Aktion E-Mail nach Vorlage erstellen aufruft.
Beispiel
Sie rufen die Aktion in einem Ordner oder an einem beliebigen Objekt auf. Sie wollen, dass diese E-Mail nach dem Versenden diesem Objekt wieder zugeordnet wird. Durch dieses Skript können Sie jetzt etwa in den Betreff einer Kennung anhängen, die signalisiert, dass diese Zuordnung möglich ist. Die Kennung erzeugt das System anhand des markierten Objekts, an dem Sie die Aktion aufgerufen haben. Sie kann von Metadaten abhängig sein, von einem Inhalt des Objekts oder vom Ablageort des Objekts.
Skript aufrufen (Beispiel)
// Skript für filltemplate + smart organisation für die ID let mail = require('/agorum/roi/customers/kpva/JS/mail.js'); /* data beinhaltet die möglichen Vorgaben beim Template: Diese sind: data: { fromaddress: '...', toaddress: [ .... ], subject: '....', body: '', attachments: [...] }; Übergibt außerdem ein referenceObject, anhand dessen Sie die Metadaten oder den Ablageort manipulieren können Gibt das geänderte data zurück Für dieses Default-Skript können Sie in der MetaDB ein eigenes Skript aufrufen. */ function run(referenceObject, data) { // Kopie der Daten erstellen let retData = Object.assign({}, data); if (referenceObject && data) { // in ihrem Skript hier die Implementierung erstellen // Das Skript verwenden Sie etwa für die Oberfläche zum Erstellen einer einzelnen E-Mail console.log('referenceObject', referenceObject.ID, referenceObject.name); let subject = mail.getSubject([referenceObject]); if (subject) { let refId = subject.replace('agorum', ''); retData.subject = retData.subject ? (retData.subject + refId) : ('agorum ' +refId); } // In diesem Beispiel hängt das System eine Kennung an den Betreff, etwa: agorum - xyz - [#agp1234] } return retData; } module.exports = { run: run };
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/defaultPostFillScript
Registriert ein Limit für die Anzahl PDFs, die in einer Druckdatei zusammengefasst werden. Das kann notwendig sein, damit der Speicher nicht überläuft.
Hinweis: Wenn Sie das Limit erhöhen, müssen Sie testen, ob der Java-Maschine mehr Speicher zugeteilt werden muss.
Default: 1000 (PDFs/Briefe pro Druckdatei)
Zugehöriger MetaDB-Schlüssel
MAIN_MODULE_MANAGEMENT/customers/fill-template/template/merge-limit-per-file
Liest aus der MetaDB Ihre Konfiguration, wenn diese vorhanden ist.
Im Skript selbst sehen Sie auch die benötigen MetaDB-Keys, um die Methoden mit eigenen Skripten anzupassen.
let metadb = require('common/metadb'); let objects = require('common/objects'); // require('/agorum/roi/customers/fill-template/js/tools/load-customer-settings'); function getInitScript() { return '/* global data */\n\n'; } function getCopyMailTemplatePath() { // Default let copyFilePath = '/agorum/roi/workspace/fill-template/templates/mailcopy/mail-template.mailtemplate'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/mail-template/copy-file'); if (cfarr) { copyFilePath = cfarr[0]; } return copyFilePath; } function getDocTemplatePath() { // Default let path = '/agorum/roi/workspace/fill-template/templates/document'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/template/doc-template-path'); if (cfarr) { path = cfarr[0]; } return path; } function getMoveToFolderScript() { // Default let script = '/agorum/roi/customers/fill-template/js/worker/tools/moveToFolder.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/moveToFolderScript'); if (cfarr) { script = cfarr[0]; } return script; } function getFillDataScriptAll() { // Default let script = '/agorum/roi/customers/fill-template/js/worker/tools/fill-data-all-metadata.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataScriptAll'); if (cfarr) { script = cfarr[0]; } return script; } function getMailTemplatesFillClearEmpty() { // Default let b = true; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/tools/mailTemplatesFillClearEmpty'); if (cfarr) { b = cfarr[0] === 'true' ? true : false; } return b; } function getPlaceholderWithMetadata() { // Default let b = false; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/tools/placeholderWithMetadata'); if (cfarr) { b = cfarr[0] === 'true' ? true : false; } return b; } function getEditMailtemplateWithFromaddress() { // Default let b = false; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/tools/editMailtemplateWithFromaddress'); if (cfarr) { b = cfarr[0] === 'true' ? true : false; } return b; } function getFillDataMailScriptAll() { // Default let script = '/agorum/roi/customers/fill-template/js/worker/tools/fill-data-all-metadata.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataMailScriptAll'); if (cfarr) { script = cfarr[0]; } return script; } function getFillDataScript() { // Default let script = '/agorum/roi/customers/fill-template/js/worker/tools/fill-data.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataScript'); if (cfarr) { script = cfarr[0]; } return script; } function getFillDataMailScript() { // Default let script = '/agorum/roi/customers/fill-template/js/worker/tools/fill-data.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/scripts/fillDataMailScript'); if (cfarr) { script = cfarr[0]; } return script; } function getMailTemplatePath() { // Default let path = '/agorum/roi/workspace/fill-template/templates/mail'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/template/mail-template-path'); if (cfarr) { path = cfarr[0]; } return path; } /* create(sc, created, object, template, fillData); sc: SessionController created: Objekt, wohin das erstellte Template abgelegt wird object: Objekt, mit dem fillData erstellt wurde template: Template, mit dem das neue Objekt erstellt wird fillData: Die zu ersetzenden Daten */ function getCreateNewTemplatePath() { // Default let path = '/agorum/roi/customers/fill-template/js/worker/tools/create-new-template'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/template/create-new-template-path'); if (cfarr) { path = cfarr[0]; } return path; } function getFillTemplateFilterPath() { // Default let path = objects.mayDiscover('ACL_agorum core fill template_crm_collection') ? '/agorum/roi/customers/fill-template/js/acic/fill-template-ic-collection' : '/agorum/roi/customers/fill-template/js/acic/fill-template-ic'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/fill-template-filter-path'); if (cfarr) { path = cfarr[0]; } return path; } function getDefaultScriptPath() { // Default - ACHTUNG hier immer mit .js am ende let path = '/agorum/roi/customers/fill-template/js/script/default-script.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/fill-template-default-script-path'); if (cfarr) { path = cfarr[0]; } return path; } function getDefaultPostFillScript() { // Default - ACHTUNG hier immer mit .js am Ende let path = '/agorum/roi/customers/fill-template/js/script/default-post-fill-script.js'; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/acic/defaultPostFillScript'); if (cfarr) { path = cfarr[0]; } return path; } function getAreasThatMustNotBeSearchedQuery() { let file = objects.tryFind('/agorum/roi/workspace/fill-template/areas-that-must-not-be-searched.txt'); let contentString = ''; if (file) { contentString = objects.getContentString(file); } let ids = contentString .split('\n') .map(m => m.replace('\r', '')) .map(m => objects.tryFind(m)) .filter(f => f) .map(m => m.ID); ids.push('0'); let notInpathQuery = ' NOT inpath:(' + ids.join(' OR ') + ')'; return notInpathQuery; } function getMergeLimitPerFile() { // Default let limit = 1000; // kann in der MetaDB überschrieben werden let cfarr = metadb.read('MAIN_MODULE_MANAGEMENT/customers/fill-template/template/merge-limit-per-file'); if (cfarr) { limit = parseInt(cfarr[0], 10); } return limit; } module.exports = { getCopyMailTemplatePath: getCopyMailTemplatePath, getDocTemplatePath: getDocTemplatePath, getMailTemplatePath: getMailTemplatePath, getMoveToFolderScript: getMoveToFolderScript, getFillDataScript: getFillDataScript, getFillDataMailScript: getFillDataMailScript, getCreateNewTemplatePath: getCreateNewTemplatePath, getFillTemplateFilterPath: getFillTemplateFilterPath, getFillDataScriptAll: getFillDataScriptAll, getFillDataMailScriptAll: getFillDataMailScriptAll, getDefaultScriptPath: getDefaultScriptPath, getInitScript: getInitScript, getDefaultPostFillScript: getDefaultPostFillScript, getPlaceholderWithMetadata: getPlaceholderWithMetadata, getEditMailtemplateWithFromaddress: getEditMailtemplateWithFromaddress, getMailTemplatesFillClearEmpty: getMailTemplatesFillClearEmpty, getAreasThatMustNotBeSearchedQuery: getAreasThatMustNotBeSearchedQuery, getMergeLimitPerFile: getMergeLimitPerFile, };
siehe Skript für Vorlagen