Workflow failed on start, EventID 72fs, 98d7

Problem:
Alle Workflows (Out of the Box und Custom mit SharePoint Designer) werden direkt nach dem Start mit einem Fehler abgebrochen.

 

Ursache:
Wird im Eventlog die Option “Workflow Infrastructure” aktiviert. Wird beim Start folgendes Protokolliert:

Windows SharePoint Services    Workflow Infrastructure        72fs
Unexpected RunWorkflow: System.ArgumentException: Value does not fall within the expected range.     at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties..ctor(SPWorkflow workflow, Int32 runAsUserId, String associationData, String initiationData)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.MakeActivation(SPWorkflow workflow, SPWorkflowEvent e)     at Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, SPWorkflowHostService host, SPWorkflow workflow, Collection`1 events, TimeSpan timeOut)     at Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow workflow, Collection`1 events, SPRunWorkflowOptions runOptions) 

Windows SharePoint Services    Workflow Infrastructure        98d7 
Unexpected System.ArgumentException: Value does not fall within the expected range.     at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties..ctor(SPWorkflow workflow, Int32 runAsUserId, String associationData, String initiationData)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.MakeActivation(SPWorkflow workflow, SPWorkflowEvent e)     at Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Guid trackingId, SPWorkflowHostService host, SPWorkflow workflow, Collection`1 events, TimeSpan timeOut)     at Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow workflow, Collection`1 events, SPRunWorkflowOptions runOptions) 

 

Lösung:
Installieren Sie folgende Updates:

PrivateDRM 0.7: Warum DRM sinnvoll ist.

Wie alles begann

Ursprünglich begann es als ein Scherz im Juni, ich sagte es wäre praktisch unmöglich für Informationen digitaler Art wie Texte, Bilder, Videos, usw. Geld zu verlangen, da sie sofort raubkopiert würden. Allerdings ist es auch unmöglich Firmengeheimnisse, private oder heikle Informationen weiterzugeben ohne dass man Gefahr läuft, dass sie von jemandem kopiert werden oder unrechtmässig verwendet werden. (siehe neuste Enthüllungen in Afghanistan)

Deshalb begann ich aus Spass mit dem Entwurf des PrivateDRM-Systems, PrivateDRM ist dabei an die Idee von Private World (die iPhone-App von Private World befindet sich seit Ende April 2010 im Aufnahmeprozess von Apple) angelegt. Über den ortsbasierten Nachrichtendienst Private World soll es dereinst möglich sein Bilder sicher auszutauschen, deshalb passt PrivateDRM perfekt ins Konzept.

PrivateDRM Viewer 0.7 beim Start

Das PrivateDRM-System

Das PrivateDRM-System besteht aus einem Client und einem Server. Eine Datei wird mit einem DRM-Schutz versehen indem ein Benutzer mit seinem Account (zurzeit werden normale Private World Accounts verwendet) eine neue File-ID sowie ein neues Filesecret anfordert. Mit diesem über 50-stelligen Filesecret wird dann die Datei symmetrisch(!) verschlüsselt. Dabei entsteht aus beliebigen Quelldatei (getestet bis 250 MB) eine neue Datei mit einer .pdrm-Endung. Die entstehende Datei wird dann einige Bytes (zurzeit 38 Bytes) grösser. Am Anfang der Datei werden binär u.A. folgende Informationen abgelegt: Magic Code: 50 44 52 4D 5E AF 00 0D (“PDRM” SEAFOOOD), daneben auch die eindeutige File-ID und die URL des PrivateDRM-Providers. Die File-ID ist keine Hash der Datei, ausser dem Dateinamen und der Grösse des Files gibt es also keinen Anhaltspunkt für den Inhalt der Datei.

Der Inhalt der Datei wird bewusst symmetrisch verschlüsselt, denn so wird ermöglicht, das die Datei im Nachhinein für weitere Personen authorisiert werden kann.

PrivateDRM: Mitglieder für Datei hinzufügen

Die momentane Version von PrivateDRM Viewer (0.7) erlaubt es den DRM Schutz für eine bestimmte Datei wieder zu entfernen, sofern man diese Rechte erhalten hat. Der Viewer kann zurzeit nur Bilder anzeigen, dazu wird der DRM Schutz nur im RAM entfernt und das Bild wird angezeigt. Denkbar ist auch ein Browser-Plugin (z.B. für Firefox), das automatisch authorisierte Bilder entschlüsselt und anzeigt.

Die Möglichkeiten

PrivateDRM kann eingesetzt werden um:

  • Private/Firmen Daten vor Diebstahl zu schützen.
  • Jeder könnte theoretisch einen eigenen PrivateDRM-Server zu betreiben.
  • private Dateien über öffentlich zugängliche Methoden (wie Rapidshare oder Bittorrent) zu verteilen. (jeder kann sie herunterladen, aber nur authorisierte Personen können sie anschauen.
  • Eine Datei zu verteilen, die Empfänger können sie aber erst aber einem bestimmten Datum anschauen.
  • Auch ist es möglich Zugriffsrechte wieder zu entziehen (1984)

Die Grenzen

  • Der Inhalt einer DRM geschützte Datei kann wenn Sie geöffnet worden ist gestohlen werden. (Bsp durch abfotographieren des Bildschirms)
  • Falls der PrivateDRM-Server kein SSL unterstützt kann das Filesecret mit Wireshark abgefangen werden.

Test & Download

  1. Es wird ein Private World Account benötigt: http://www.privateworld.ch/ (der wiederum benötigt eine valide Handynummer)
  2. Unter Mac oder Linux wird Mono benötigt (Start im Terminal mit: mono PDRMViewer.exe): Download Mono
  3. PrivateDRM Viewer 0.7 kann hier heruntergeladen werden: Download PrivateDRM Viewer 0.7

Ausblick

PrivateDRM läuft stabil und solange die Quelldateien nicht gelöscht werden tritt kein Datenverlust auf. PrivateDRM ist allerdings eher als stabiles PoC (Proof of Concept) anzusehen. Wenn ich Zeit und den nötigen Antrieb finde werde ich PrivateDRM weiterentwickeln.

Inhaltsdatenbanken wachsen schnell an

Problem:
Inhaltsdatenbanken im SharePoint wachsen in kurzer Zeit sehr schnell an (.mdf und .log Files). Dies obwohl das Backup auf simple gestellt wurde.

Ursache:
Durch grosse Änderungen an Listen (häufig verursacht durch “Custom Timer Jobs) wird die Inhaltsdatenbank stehts vergrössert und leider nicht automatisch wieder verkleinert.

Unter folgendem Link ist dieser Effekt noch detailierter beschrieben:
http://blogs.technet.com/b/damodar/archive/2009/03/12/why-a-content-database-grows-abnormally.aspx

Lösung:
Folgt noch…