SharePoint - Send To

Um Dokumente zwischen verschiedenen Sites versenden zu können, benötigen wir zuerst den Content Organizer. Hierzu einfach unter Site Settings -> Site Actions -> Manage site features auswählen und den Content Organizer aktivieren. Nun sollten wir in der linken Leiste eine Drop Off Library vorfinden, die mit  den anderen Document Libraries erscheint.

SharePoint-SendTo-01.PNG

Um nun Daten empfangen zu können, müssen wir für unsere Site eine Send-To Connection erstellen. Hierzu gehen wir in die Central Administration und wählen unter General Application Settings -> Configure send to connections. Hier tragen wir die URL der Verbindung ein:

SharePoint-SendTo-02.PNG

Die URL der jeweiligen Site ist unter Site Settings -> Site Administration -> Content Organizer Settings einzusehen:

SharePoint-SendTo-03.PNG

Jetzt können wir eine Regel erstellen, die ankommende Dokumente anhand derer Metadaten in andere Dokumentenmappen verschiebt.
Hierzu einfach unter Site Settings -> Site Administration -> Content Organizer Rules eine neue Regel erstellen:

SharePoint-SendTo-04.PNG

In diesem Fall möchte ich alle Dokumentenmappen in mein "ESC Archive" verschieben, sobald diese angekommen sind.

SharePoint-SendTo-05.PNG

Falls die betroffenen Listen das Document Set noch nicht kennen, muss dieses nachträglich hinzugefügt werden. Das kann man in den Einstellungen der jeweiligen Liste konfigurieren:

SharePoint-SendTo-06.PNG

Sollte man die obere Einstellung nicht finden, kann es sein, dass Content Types (Advanced Settings der jeweiligen Liste) noch nicht zugelassen sind:

SharePoint-SendTo-07.PNG

Nachdem wir nun ein Document Set erstellt haben, können wir es zu einer konfigurierten Connection schicken. In meinem Fall habe ich es aus meiner Liste "ESC Archive" an dieselbe Site geschickt, d.h. die Datei sollte einfach in die Drop Off Library kopiert werden. Falls man Move in der Send To Connection eingestellt hat, wird die Datei im Quellordner gelöscht. Nun kann man jedoch beobachten, dass die Datei als .zip-Datei ankommt:

SharePoint-SendTo-08.PNG

Dies hat den einfachen Grund, dass Sharepoint die Dateien immer als zip weiterreicht und erst nach Ausführung der Verschiebung (Regel für Metadaten) entpackt. Nun haben wir ja bereits so eine Regel erstellt, die alle Document Sets nach "ESC Archive" weiterleiten soll. Jedoch tut sich nach einiger Zeit immer noch nichts.

Das Problem: Der hierfür zuständige Job (Content Organizer Processing) läuft per Default nur einmal am Tag:

SharePoint-SendTo-09.PNG

Wenn wir den Job manuel starten, wird die Datei korrekt entpackt und verschoben:

SharePoint-SendTo-10.PNG

Hier bietet sich die Möglichkeit an, den Job per Powershell zu starten:

SharePoint-SendTo-11.PNG

Unter [1] findet man eine Funktion, die es ermöglicht, gezielt einzelne Dateien im Drop Off zu verarbeiten. Hierzu muss man nur der Funktion die korrekten Parameter übergeben:

SharePoint-SendTo-12.PNG
$web = Get-SPWeb http://sp1/sites/esc
$list = $web.GetList("http://sp1/sites/esc/DropOffLibrary")

$item = $list.GetItems()
$listRequiresModeration = $FALSE

Mit GetItembyID() kann man sich die einzelnen Items raussuchen. Man findet im Internet fertigen Code [1], wie man an die IDs der einzelnen Items in einer Liste herankommt.

[1] http://www.robertkuzma.com/2012/09/get-items-from-sharepoint-list-using-powershell-script/

ESCde Windows Server Team