Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, software development and Digital Asset Management, since 2002.
2022-12-31

Checkliste für die Auswahl eines DAM-Systems

Durch meinen Wechsel vom DAM-Anbieter zum DAM-Kunden vor fünf Jahren habe ich noch einiges dazugelernt über die Kriterien bei der Digital Asset Management-Systemauswahl.

Hier sammele ich – für das nächste Mal, wenn ich an der Auswahl eines DAM-Systems beteiligt bin – Themen, die man vorbereitend durchdenken sollte, und Anforderungen, die für Kunden nicht ungewöhnlich sind, die aber längst nicht jedes Produkt erfüllt und die deshalb gut geeignet sind, den Vertriebler bei der Demo zum Schwitzen zu bringen 😉:

Zielsetzung

  • Wofür ist die Anwendung gedacht? Archiv, Eingang für Agenturmaterial, Creative Workflows (“work in progress”), Content-Produktionssystem, Distribution nach außen (Verkauf von Content, öffentliches Archiv)?
  • Wie sehen die Arbeitsabläufe aus, in denen die Anwendung benutzt wird? Welche Anwender-Rollen sind beteiligt?

Datenmodell

  • Welche Entitäten werden verwaltet (Bilder/Grafiken/Videos/Texte, Bilderserien, Aufträge, Events/Shootings, Produkte, Urheber/Fotografen, Verträge)?
  • Wie werden Veröffentlichungen (welches Asset wann wo verwendet) verwaltet?
  • Wie werden Nutzungsrechte (welches Asset darf wer wofür verwenden) verwaltet?
  • Wie kann man Entitäten gruppieren (Ordner, Mappen, Alben, Sammlungen, dynamisch aus Metadaten)?
  • Wie kann man Entitäten verknüpfen (uni- oder bidirektionale Links, unterschiedliche Link-Typen wie “related”, “contains”)?
  • Welche Felder sind pro Entität vorhanden? Auf welchen Standards (IPTC, XMP, EXIF, schema.org) basieren die Felder? Können unbegrenzt eigene Felder angelegt werden?
  • Welche Feldtypen gibt es (Text, formatierter Text, Datum, Datum + Uhrzeit + Zeitzone, Zahl, Währung, Ja/Nein, Mehrfachwerte)?
  • Werden Wertelisten (Key/Value) und hierarchische Listen (Thesaurus) unterstützt, sind sie durchsuchbar, sind sie in mehrere Sprachen übersetzbar?
  • Wie werden Entitäten eindeutig identifiziert (numerische ID, UUID, URL)?
  • Gibt es eine Änderungshistorie für Entitäten?
  • Gibt es einen “Papierkorb”, aus dem gelöschte Daten wiederhergestellt werden können?
  • Werden für Dateien frühere Versionen vorgehalten? Können von einer Datei mehrere Varianten erzeugt werden, die miteinander verknüpft sind und sich Metadaten teilen?
  • Ist die Anwendung mandantenfähig? Worauf bezieht sich die Mandantenfähigkeit, was lässt sich getrennt verwalten, was gemeinsam nutzen?
  • Wie passen Entitäten, Felder, IDs zu den Daten in unseren anderen Anwendungen?

Import und Dateiformate

  • Kann man komfortabel mehrere Dateien gleichzeitig uploaden und Metadaten hinzufügen?
  • Können beliebige Dateiformate importiert werden?
  • Für welche Dateiformate und Farbräume werden Vorschaubilder berechnet, bei welchen ist der enthaltene Text durchsuchbar?
  • Welche eingebetteten Metadaten (IPTC, XMP, EXIF, ID3) werden beim Import ausgelesen? Wie werden sie auf die Felder gemappt?
  • Sind bei Vorschaubildberechnung und Text-/Metadaten-Auslesen Problemfälle berücksichtigt (sehr große Bild-/PDF-/Office-/Video-Dateien, sehr große eingebettete Metadaten, Schutz vor eingebettetem Code und Viren)?
  • Mit welchem Tool werden eingebettete Metadaten gelesen und geschrieben? (Industriestandard ist ExifTool)
  • Können Videos und animierte GIFs in der Anwendung angezeigt (gestreamt) werden?
  • Können sichtbare Wasserzeichen automatisch in Vorschaubilder eingerechnet werden?
  • Wie werden beim Import / Upload Duplikate erkannt? Was passiert mit ihnen?
  • Wenn in der Anwendung Metadaten geändert werden, werden dann eingebettete Metadaten direkt in den Dateien aktualisiert, oder bleiben die Dateien unverändert (und werden dann beim Download die geänderten Metadaten eingebettet)?

Suche

  • Welche Suchtechnologie wird eingesetzt (z. B. Elasticsearch)?
  • Kann nach ausnahmslos allen Entitäten, Feldern und Strukturen gesucht werden?
  • Lässt sich über Metadaten und Berechtigungen steuern, wer welche Daten im Suchergebnis sieht, wer welche Daten bearbeiten und Aktionen durchführen kann?
  • Werden passende Suchbegriffe bei der Eingabe vorgeschlagen?
  • Welche Suchoperatoren werden unterstützt (AND, OR, NOT, Klammern)? Wird eine etablierte Abfragesyntax verwendet (z. B. Lucene Query Syntax)?
  • Wie schnell sind komplexe Suchen in großen Datenbeständen?
  • Wie komfortabel ist die Navigation (Blättern, Scrollen) durch große Suchergebnisse?
  • Nach wievielen Millisekunden sind Datenänderungen suchbar (Index-Aktualisierung)?
  • Wird man “live” über neue Suchergebnisse informiert? Kann man das Suchergebnis aktualisieren, um sie anzuzeigen?

Workflows

  • Kann man Dateien auschecken, bearbeiten und wieder einchecken? Sind sie für versehentliches paralleles Bearbeiten gesperrt?
  • Kann man Dateien/Versionen in der Anwendung markieren und kommentieren?
  • Kann man mehrere Assets auf einmal bearbeiten (Multiedit/Batch-Bearbeitung)? Gibt es eine “Suchen und Ersetzen”-Funktion?
  • Gibt es Undo/Rückgängig beim Bearbeiten?
  • Wie können Assets und Gruppen von Assets intern und mit Externen geteilt werden?
  • Können Externe Dateien hochladen, kommentieren, bewerten, sortieren, bearbeiten?
  • Wie lässt sich ein Freigabe-Workflow realisieren?
  • Wie können Assets nachträglich zurückgezogen werden?
  • Wie kann man Workflows realisieren, die mehrere Assets umfassen, sich über mehrere Systeme erstrecken, automatische und manuelle Schritte kombinieren?
  • Sind zeitgesteuerte Workflows möglich (“nach X Tagen verschieben”)?

Customizing, Integration mit anderen Systemen

  • Mit welchen anderen Systemen muss die Anwendung zusammenspielen (Web CMS, Print-Redaktionssystem, Abrechnungssystem…)?
  • Welche Daten sollen mit anderen Systemen geteilt werden? Wie werden sie bei Änderungen zwischen den Systemen abgeglichen?
  • Wie funktionieren Authentifizierung (mit Anbindung an vorhandenes LDAP/AD), Single Sign-On, Benutzergruppen, Berechtigungsmodell?
  • Für welche Daten und Formate gibt es fertige Import- und Exportfunktionen?
  • Welche fertigen Integrationen mit anderen Anwendungen und Protokollen (Adobe Creative Suite, Microsoft Office, Zapier, AWS S3, SFTP, lokale Hotfolder, E-Mail etc.) gibt es?
  • Welche APIs (und Webhooks) stellt die Anwendung zur Verfügung, wie sieht die Dokumentation und das Entwicklerforum aus, welche Funktionen haben andere Kunden damit bereits umgesetzt?
  • Wie ist die API abgesichert (Authentifizierung, Berechtigungen)? Gibt es Transaktionen und Locking für Schreibzugriffe?
  • Wie kann die Oberfläche der Anwendung konfiguriert werden (Branding, verschiedene Ansichten)?
  • Wie kann die Oberfläche um eigene Funktionalität erweitert werden (Plugins)?
  • Welche Arten von “Deep Links” sind möglich, damit aus anderen Anwendungen direkt auf Entitäten oder Suchen verlinkt werden kann?
  • Wie erfolgt die Datenmigration aus der alten Anwendung? Wie ein ggf. notwendiger vorübergehender Parallelbetrieb?

Software allgemein

  • Selbst installiert / gehostet oder durch Anbieter bereitgestellt?
  • Architektur: Server/VMs oder Container oder Cloud-Services?
  • Technologie: welche Programmiersprache, Datenbank, Webserver, Volltextsuche, Storage, Cache, Message Broker usw.?
  • Wie steht es um Verfügbarkeit, Ausfallsicherheit, Backup, Disaster Recovery, Monitoring, Alerting, Logging?
  • Welche Konfigurationsänderungen und Wartungsarbeiten erfordern einen Neustart? Wieviel Downtime ist bei einem Update (Versionswechsel) der Anwendung zu erwarten?
  • Skalierbarkeit: Mit welchen Datenmengen nutzen andere Kunden die Anwendung (wie lange dauert bei ihnen Suche und Import)? Lässt sie sich bei Bedarf hochskalieren?
  • Web-Anwendung (in aktuellen Browsern und auch auf Mobilgeräten nutzbar) oder nativer Client/App?
  • Security: Wird Verschlüsselung (HTTPS) verwendet? Auf welchem Versionsstand sind alle verwendeten Komponenten? Werden sie regelmäßig aktualisiert, um Sicherheitslücken zu schließen? Werden regelmäßig unabhängige Security-Audits durchgeführt?
  • Ist die Konformität mit relevanten Vorschriften gegeben (GDPR, DSGVO)?
  • Wie sieht die Roadmap für die Weiterentwicklung aus? Wie häufig gibt es Updates, wie sehen die Release Notes der letzten Jahre aus?
  • Wie sind Kundenservice und Support organisiert (welche Kanäle gibt es, wie schnell und qualifiziert wird geholfen, was leistet der Hersteller, was der Partner)?
  • Wie ist es um die Softwarequalität bestellt? Werden bekannte Bugs transparent kommuniziert und kurzfristig behoben, gibt es ein (vollständiges) ChangeLog für jede Version?
  • Last but not least: Wie sieht es mit Lizenzen, Kosten und Verträgen aus?

Interessantes Material

Update (2023-01-02): Danke an Philipp Eliasch und Jonas Zimmermann für die Ergänzungen.