Synchronisieren, Veröffentlichen, Routing?!?

Von Florian Grasel 18. February 2010 03:08

Ein kurzer Bericht über ein aktuelles Projekt von uns.

Anforderung: es gibt ein Qualitätsmanagement-System im SharePoint (eigene Web-Application – nur intern verfügbar) und n Projektportale (wiederum eigene Web-Application – aber auch von extern über https erreichbar). In den Projektportalen sollen diverse QM-Dokumente (Prozessbeschreibungen, Vorlagen, …) für die Projektmitglieder (die Großteils keine Rechte auf das QM-System haben) veröffentlicht werden. Es gibt ein gewisses Grundsortiment an Dokumenten, das in allen Projektportalen verfügbar sein soll – und zusätzlich soll der Projektleiter noch – für sein Projekt relevante QM-Dokumente – auswählen/veröffentlichen können.

Es gab bei diesem Projekt einige Implikationen (wie 2 getrennte Web-Applications – in Zukunft sogar zwei voneinander getrennte SharePoint-Server, der Projektleiter soll einfach zusätzliche Dokumente auswählen können, … ) die es unmöglich machten hier irgendwelche Standard-Wege, wie z.B. Content-Deployment, Workflows, in Zukunft SharePoint 2010 Document-Routing, … zu verwenden. Und somit entschieden wir uns eine eigene Solution zu entwickeln, die folgendermaßen funktioniert:

Man muss im Projekt einen neuen Synchronisationsjob definieren, wo man im Endeffekt einfach angibt, dass  man von einer bestimmten Quelle (Web + Liste) etwas in ein Ziel synchronisieren will:

image

Dann legt man fest – was genau und wie es synchronisiert werden soll. Einerseits das Feld-Mapping

image

Andererseits, ob man einzelne Dokumente oder z.B. den ganzen Ordner synchronisieren will 

image

Zusätzlich kann man noch Regeln definieren, dass z.B. nur alle Dokumente mit dem Status = freigegeben synchronisiert werden(zurzeit wird das noch über CAML-Queries festgelegt)  Natürlich werden Dokumente, die von Status freigegeben auf z.B. zurückgezogen umgestellt werden, automatisch beim nächsten Synchronisierungslauf aus dem Projekt genommen.

image

Die Synchronisierung übernimmt ein eigener SharePoint-Timerjob, der im Endeffekt seine Synchronisationsaufträge überprüft und bei Veränderungen (Neu, Geändert, Gelöscht, Attribute verändert, … ) diese Veränderungen in den Zielen nachzieht. Wir gehen sogar soweit, dass die originalen Werte aus der Quelle, wie z.B. Ersteller, Erstellt am, … übernommen werden. 

works like a charme :-D

Wir haben das ganze so abstrakt gehalten, damit wir jetzt grundsätzlich alles synchronisieren können. Sei es ob man nur in einer Liste ein Feld Security hat und man will wenn es auf Hoch gesetzt ist, dass das Dokument automatisch in einen Ordner mit anderen Berechtigungen verschoben wird. Oder man hat z.B. so wie wir einen externe SharePoint Server wo die Kunden ihre Anfragen erfassen und diese sollen automatisch auf den internen Server zur Weiterverarbeitung übernommen werden, …. Mit der Synchronisierung kann man jetzt ganz einfach solche Anwendungsfälle abbilden. Bei näherem Interesse könnt ihr mich gerne jederzeit kontaktieren.

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading



Menü

Home
Über diesen Blog
Archiv
Abonnieren Feed
Kontakt

Dieser Blog wird von Microsoft Österreich betrieben.

http://www.microsoft.com/austria | © 2009 Microsoft Corporation. Alle Rechte vorbehalten.
BlogEngine.NET 1.5.0.7 powered by atwork