Bei uns wird ein sehr seltsamer “Dateiname” im Variantenbaum von ED angezeigt (vermutlich sind es die Werte aller möglichen DB-Felder hintereinandergehängt):
Ich habe keinen Ort gefunden, wo ich das konfigurieren kann.
Die Apryse-WebViewer Doku hilft dabei auch nicht weiter (wie auch - ist ja ED-spezifisch).
Habe ich etwas übersehen? Kann ich das ggf. per Interceptor anpassen?
der einfachste Weg ist über einen Interceptor.
Die Embedded Documents Interceptoren unterstützen auch die Funktion onObjectInfo welche das folgende Interface bietet.
Vermutlich müsste man in diesem Fall per Metadaten per DMS-API
abrufen und passend zusammenbauen. Leider bietet enaio aktuell zentrale Stelle in denen man den Aufbau des Titels/Dateinamens für den jeweiligen Objekttypen definieren kann.
Wichtig ist, dass Änderungen an Eigenschaften wie Permissions zwar das Verhalten des Editors beeinflussen, aber am Ende trotzdem die enaio Rechte greifen. Daher können Änderungen an diesem Objekt zu undefinierten Fehlern auf der Client-Seite führen. Daher bitte mit Vorsicht und genug Tests die Anpassungen durchführen.
Habe das direkt mal ausprobiert, aber der objectInfo.title scheint vom Variantenbaum unabhängig zu sein. Denn dieser bleibt von der Änderung unberührt:
@uw die Dateinamen im Variantenbaum sehen so aus, als ob die Werte aller Felder hintereinandergehängt als Variantennamen verwendet werden. Ist das eine Client-Einstellung, welche Felder dafür verwendet werden oder können wir irgendwo auf ED-Seite konfigurieren, welche Werte ausgelesen werden sollen?
in der aktuellen Version wird der Interceptor nur für das Dokument selbst ausgelöst, aber nicht für den Variantenbaum. Wir arbeiten an einer neuen Version, die den Interceptor auch für den Variantenbaum auslöst und veröffentlichen diese in den nächsten Tagen.
// Variant Tree adjustments
// 2026-08-03 HH038
// class for setting the data displayed in the variant tree
class AdjustVariantTreeInterceptor {
config_fields_for_tree = new Map([
["WobisDokument", ["Betreff"]], // Wohngeldakte @ Dokument
["object3", ["MAIL_SUBJECT"]], // Akte @ Dokument
["object52", ["feld10", "feld9"]], // SGB II Fallakte @ Dokument
]);
getFieldsForType(typeName) {
return this.config_fields_for_tree.get(typeName);
}
// search properties for field names - coalesce to "" if not found
// concatenates all field values separated by " - ", but filters out empty items
buildTitleFromFields(properties, fieldNames) {
return fieldNames
.map(fieldName => properties[fieldName]?.value ?? "")
.filter(value => value !== "")
.join(" - ");
}
async onObjectInfo(settings, objectInfo) {
console.debug("Starting AdjustVariantTreeInterceptor ...");
// ask API for object details
// and load type from object data
const response = await fetch(`/api/dms/objects/${objectInfo.id}`);
const response_data = await response.json();
const object_data = response_data.objects[0];
const typeName = object_data.properties["system:objectTypeId"].localName;
console.debug("Object Type name: ", typeName);
// check whether this type has a field configuration
// and build the new title from the configured fields
const fields = this.getFieldsForType(typeName);
if (fields) {
const new_title = this.buildTitleFromFields(object_data.properties, fields);
if (new_title) {
objectInfo.title = new_title;
console.debug("New Title set: ", new_title)
}
}
}
}
window.ed.registerInterceptor( new AdjustVariantTreeInterceptor() );