Alfresco für den digitalen Alltag pimpen (I)

von Heiko Robert
Kategorien: alfresco, sbcs
cover-image

Prozesse und Anbindung an andere Systeme

Die Herausforderung im täglichen Leben besteht darin, dass Prozesse Kontextdaten und Dokumente berücksichtigen müssen, die in einer Vielzahl von IT-Systemen gespeichert sind. Das klingt offensichtlich, aber viele Lösungen für das Prozessmanagement können nicht auf diesen Kontext zugreifen, wenn dies für die Benutzerinteraktion oder die Backend-Automatisierung erforderlich ist. Ein Beispiel: Wenn ein eingehendes Geschäftsdokument wie eine E-Mail verarbeitet wird, warum kann ein ECM-System wie Alfresco den Absender nicht extrahieren und mit dem Geschäftspartner verknüpfen, bevor der Benutzer aufgefordert wird, mehr Kontext und Aktionen zu definieren? Die Antwort ist, dass die erforderlichen Daten nicht innerhalb von Alfresco verfügbar sind. Dieses Dilemma wirkt sich jedoch auf die meisten Unternehmenssysteme aus, wenn der Datenzugriff auf andere Systeme gewünscht wird.

Master Data

Als Stammdaten (englisch: master data) bezeichnet man Grundinformationen über betrieblich relevante Objekte (wie Produkte, Lieferanten, Kunden, Mitarbeiter). Diese sind meist auf mehrere unabhängige IT-Systeme verteilt. Bestenfalls ist ein System führend, und damit verantwortlich, für die Pflege eines bestimmten Objekttyps. Wir nennen diese spezifischen Objekttypen Stammdatenentitäten. Wenn heute ein System oder ein Benutzer eine Entität suchen / erstellen / ändern muss, muss man wissen, in welcher Unternehmensanwendung eine bestimmte Entität gespeichert ist und wie auf sie zugegriffen wird. Dies ist nicht besonders effektiv und es ist auch nicht sinnvoll, es dem Benutzer zu überlassen, die erforderlichen Daten aus den verschiedenen Systemen einzusammeln, genauso wenig wie jedes System in jedes System zu integrieren, um Live-Zugriff auf alle prozessrelevanten Daten zu ermöglichen. Hier kommt der Master Data Hub ins Spiel:

  • Verbinden verschiedener Systeme von einem zentralen Master Data Hub mit anwendungsspezifischen Adaptern
  • Konfigurieren und strukturieren relevanter Entitäten bezogen auf wichtige Geschäftsprozesse, einschließlich Beziehungen - z.B. der Geschäftspartner hat Aufträge, Verträge, Projekte
  • Zugriff auf alle Stammdatenelemente über eine systemweite REST-API
  • Einschließen von Stammdaten in die Anwendungsbenutzeroberfläche als Kontextdaten für Lookup-Listen oder bei der Benutzereingangsüberprüfung (auto complete)
CRMERPjdbcldapHTTPProjectCompanyContractEmployeeSupplierMaster Data Hub{REST}

Wie lässt sich das in Alfresco integrieren?

ecm4u bietet mehrere Addons an, um Daten aus dem ecm4u Master Data Hub in das Alfresco-Repository (Content Services) sowie in Alfresco Share zu integrieren:

Folder Cover Templates

Folder Cover Templates (zu deutsch: Deckblatt-Vorlagen) zeigen dynamischen Inhalt am oberen Rand eines Ordners in Alfresco Share an. Dies kann verwendet werden, um externe Kontextdaten, dynamische Links zu Alfresco-Ordnern oder zu externen Systemen anzuzeigen, die auf Kontextdaten basieren. z.B. Ein in Alfresco gespeicherter Lieferschein kennt möglicherweise nicht die Rechnung und den Bestellbeleg, auf den er sich bezieht. Solange ein anderes System diesen Kontext kennt, kann Alfresco eine dynamische Navigation basierend auf diesen Daten erzeugen. Folder Cover Templates werden mit einem Alfresco-Webscript registriert. Die Alfresco JavaScript API wurde für den Zugriff auf externe Daten erweitert. Ein Weiterleitungsdienst ermöglicht das Navigieren in Alfresco-Ordnern oder das Wechseln zu anderen Systemen basierend auf Metadaten, die mit Dokumenten oder Ordnern verknüpft sind. Mit diesem Toolset ist ein Unternehmen nur durch seine Fantasie eingeschränkt, funktionale Oberflächen in Alfresco-Share-Ordnern einzubetten. Folder Cover Templates können über Share-Action, JavaScript oder Ablageregeln zugewiesen werden.

Folder Cover Templates

Share UI Master Data Controls

In Alfresco wird normalerweise nur die Referenz auf die Stammdaten gespeichert. Die Share UI Controls übernehmen die Arbeit, dem User statt der Rerferenz die erwarteten Daten wie ein Firmennamen anzuzeigen. Es können auch mehrere Stammdatenwerte für die Anzeige verwendet werden. Autocomplete und Werteliste (LOVs) helfen dem Benutzer, die richtigen Entitäten auszuwählen. Share Control In the document or folder details you could configure items to be loaded automatically from the master data hub to show context data in place without the need to switch appliacations. Share Document Details

Quick Jump basierend auf Stamm- oder Metadaten

Quick Jump

Mit dem Quick Jump Control kann der Benutzer direkt zu einem Ordner springen, der mit einer Entität wie einem Geschäftspartner verbunden ist. Dies spart viel Zeit, da man nicht mehr alle Ordner durchlaufen muss. Stattdessen wählt der Anwender einfach den Entitätstyp (z. B. BusinessPartner) aus einer Liste aus und gibt die spezifischen Daten ein, um in den gewünschten Ordner in Alfresco Share zu springen.

Generisches Alfresco Document Model

Ein generisches Alfresco-Dokumentmodell speichert die Referenzen auf Stammdatenentitäten. Es ist nicht mehr erforderlich, das Alfresco-Dokumentmodell zu erweitern und zu deployen, um Dokumente zu neuen Entitäten in Alfresco zu speichern. Alfresco speichert nur den Entitätstyp und die Referenz auf das externe Stammdatenobjekt. Bei Bedarf unterstützt das Modell (und die Share Controls) auch das automatische Speichern und Aktualisieren von in Alfresco definierten Eigenschaftswerten, die von einer Entität abgeleitet werden.

Dynamische Ablage (Aktenpläne)

Das "Filing Modul für Alfresco" ist das schweizer Taschenmesser für die automatische Ablage und für die Definition von Aktenplänen in Alfresco:

  • Regeln definieren, wie Ordner und Dateien in Alfresco gespeichert werden sollen
  • Platzhalter können verwendet werden, um Namen und Metadaten in Alfresco automatich zu speichern.
  • Platzhalter unterstützen auch Listen, um so Dokumente gleichzeitig in mehreren Verzeichnissen zu speichern (Multifiling)
  • Javascript-Snippets können in den Platzhaltern verwendet werden, um abgerufene Werte zu verändern.
  • Filing kann für Dokumente und Ordner "refreshed" werden, um die Struktur und die Metadaten bei Stammdatenänderungen zu aktualisieren (veraltete, "dirty" Stammdaten). Dynamic Filing

Wenn Multifiling verwendet wird, kann der Anwender in den Dokumentdetails alle Ordner sehen, in denen das Dokument verwendet wird:

Linked in Folders

Java Script API

Die Master Data addons erweitern die Alfresco JavaScript-API, um Zugriff auf externe Daten in jedem Java-Skript zu erhalten, welches im Alfresco Content Service ausgeführt wird. Dies ermöglicht die Interaktion mit der Außenwelt in vielen Anwendungsfällen, ohne dass Deployments, Neustarts oder Java-Kodierung erforderlich sind.

Java Script Binding for Master Data Hub

Zusammenfassung

Die Stammdaten-Integration und die Filing-Services von ecm4u bieten Unternehmen eine hervorragende Unterstützung für selbstverwaltete Ablage-Strukturen in Alfresco, einschließlich Live-Kontextdaten aus anderen Systemen - und dies ohne oder mit nur geringem Programmieraufwand. Dies macht Alfresco zu einem besseren Teamplayer und ermöglicht eine einfachere Steuerung der Dokumentenstruktur, Automatisierung und Konsistenz.

Dies schließt auch eine Lücke für Anwendungsfälle, die in einer relationalen Struktur besser funktionieren (wie bei Vorgängen, Verträgen, Aufträgen). Leichtgewichtige, relationale Webanwendungen können problemlos mit Alfresco kombiniert und integriert werden, wenn Daten zwischen verschiedenen Anwendungen gemeinsam genutzt werden sollen. Alfresco kann diese gemeinsam genutzten Daten in der Share-Benutzeroberfläche einbinden.

Die nächste Frage ist nun, wie Mitarbeiter in täglichen Abläufen geführt und unterstützt werden, wenn Prozesse und Dokumente aus verschiedenen Quellen berücksichtigt und gepflegt werden müssen. Dies wird in einem nächsten Blogartikel "Alfresco für den digitalen Alltag pimpen (II)" beschrieben und gezeigt.


Bildnachweis: rawpixel lizensiert unter der pixabay license (free for commercial use)