Technischer Hintergrund
DMS-API
Da die [accantum] DMS-Aktivitäten die API-Schnittstelle des DMS verwenden, sind sie abhängig von der DMS-Version.
Bestimmte Aktivitäten sind also erst ab späteren DMS-Version verfügbar, in denen das DMS die API-Schnittstellen bereitstellt. Zu Problemen kann es immer dann kommen, wenn es im DMS ein API-Änderung gibt.
Aktivität “Workflow starten (WMS)
Ausgangslage:
Workflow A startet den SUP-Workflow B und übergibt die WmsAccAttributes.
Während des DMS-Updates ist Workflow A pausiert.
Der Administrator aktualisiert Workflow A und B auf die neue DMS-Version
Folge (bis Version 1.1.2): Beim Fortsetzen der vor dem Update pausierten Workflows kommt es zu diesem Fehler in der “Workflow starten”-Aktivität:
InvalidCastException: Das Objekt "Accantum.Wms.Activities.AccDms.V702.Results.WmsAccAttributes" kann nicht in Typ "Accantum.Wms.Activities.AccDms.V704.Results.WmsAccAttributes" umgewandelt werden.
Anpassung in 1.1.2.365
Die Aktivität Workflow starten - Aktivität prüft die Argumente, die an den SUP-Workflow übergeben werden und sucht aus den Versionen des SUP-Workflows die zu der DMS-Version passende heraus, um diese zu starten.
Beispiel:
Alle Workflows sind auf die aktuelle DMS Version aktualisiert (siehe Vorgehen oben). Es gibt aber noch pausierte Workflows, die mit der alten Version laufen.
Neu gestartete Workflows verwenden immer die aktuellste Workflow-Version (also die mit dem aktuellen DMS)
Alte (beim Update pausierte) Workflows verwenden die vorherige Version des SUP-Workflows, da dieser ebenfalls noch mit der alten DMS-Version arbeitet
WMS Aktivitäten
Jede DMS-Aktivität ist an eine bestimmte DMS-Version gebunden. Es gibt intern also für jede DMS-Version eine eigene Aktivität.
Wenn Sie einen Workflow öffnen, sehen Sie nur die Aktivitäten der Version zu Ihrer hinterlegten DMS-Verbindung. Solange kein Workflow geöffnet oder keine DMS-Verbindung hinterlegt ist, sehen Sie die Aktivitäten der aktuellsten DMS-Version.
In den meisten Fällen ändert sich kaum etwas von Version zu Version.
Wenn es allerdings eine API-Änderung im DMS gibt, dann müssen die Workflows im WMS auf die neue DMS-Version angehoben werden, um neue Funktionalitäten zu nutzen und 100% kompatibel zu sein.
Info |
---|
Das Vorgehen gilt nicht nur für DMS-Updates, sondern ist (bedingt) auch bei “Downgrades” der DMS-Version durchführbar. Zu beachten ist aber dann, dass nur Aktivitäten der niedrigeren Version verwendet werden. |