SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Exportieren von mehrzeiligen Textfeldern

Dieser Beitrag hat 10 Antworten

Ohne Rang
14 Beiträge
TGrauel erstellt 3 Feb. 2016 10:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

aktuell haben wir bei uns in der Firma einen Tracker auf Basis von Sharepoint Online im Einsatz. Im Grunde genommen ist es das Standard-Tracker-Template, aufgebohrt mit ein paar weiteren Feldern.

Nun wurde bei uns beschlossen, diesen Tracker durch YouTrack abzulösen. Sprich, die alten Sharepoint-Trackereinträge müssen migriert werden. Programmtechnisch komme ich auch an alle Felder ran. Nur eines macht mir Sorgen: Die Kommentarfelder.

Hierbei handelt es sich um mehrzeilige Textfelder, so daß jeder neue Kommentar einen eigenen Eintrag im Tracker inkl. Timestamp bekommt. Im Sharepoint wird dies wohl so gelöst, daß jeder neue Kommentar eine eigene Version des Trackereintrages generiert. 

Das Problem ist nun, daß ich nicht an diese Einträge ran komme. Schon beim Workflow, wo eine Mail mit dem letzten Kommentar gesendet werden sollte, kam ich nicht an diese Kommentar ran. Auch ein Excel-Export der Trackereinträge brachte keinen Erfolg, das Kommentarfeld bleibt leer.

Vielleicht hat ja hier jemand eine Idee, wie ich an die Kommentare der Trackereinträge komme, sei es per Schnittstelle, Export oder jeglichen anderen Weg?

 

Gruß

Thomas

Alle Antworten

Ohne Rang
634 Beiträge
Olaf Didszun Als Antwort am 3 Feb. 2016 11:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Thomas,

eigentlich hast du doch die Lösung selbst schon genannt. Du musst für jedes Item neben den eigentlichen Werten auch die Versionshistorie ansehen und dir da den Inhalt des Textfeldes raussuchen (ggf. noch das Änderungsdatum). 

Beste Grüße

Olaf

 

Ohne Rang
14 Beiträge
TGrauel Als Antwort am 3 Feb. 2016 11:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Olaf,

Danke für die schnelle Antwort :)

Naja, in der Theorie ist das schon klar, da komme ich nur über die Versionen weiter. Aber in der Praxis ist die Frage, wie ich programmtechnisch (oder per Export) genau an dies Textfelder dieser Einträge ran komme.

Ich werde mal ein wenig mit den Einträge rum spielen und mir mal anschauen, ob mir ein SpListItem (wie hier beschrieben) auch den Content der Versionen ausgibt und nicht nur den Titel und die Versionsinfos.

Ohne Rang
634 Beiträge
Olaf Didszun Als Antwort am 3 Feb. 2016 11:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ein SPListItem hat ein Member Version (oder so ähnlich), das ist eine Collection der einzelnen Versionen. Das sind dann wieder mit dem SPListItem vergleichbare Objekte, wo du genauso auf die Feldwerte zugreifen kannst.

Beste Grüße

Olaf

 

Ohne Rang
14 Beiträge
TGrauel Als Antwort am 4 Feb. 2016 09:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kleiner Zwischenstand:

Ich habe gestern ohne Ende gedebugged und auch das ListItem aus Microsoft.Sharepoint.Client  genutzt. Doch egal was ich auslese, ich bekomme in dem ListItem keinerlei Versionen geladen. Das Member scheint es hier irgendwie nicht zu geben. In den verlinkten Beispielen etc. ist der Member allerdings komischerweise vorhanden.

Ich checke mal weiter ab, ob es vielleicht an der Sharepoint-Version oder so liegt.

Gruß

Thomas

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 4 Feb. 2016 10:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Im Client Object Model sind die Versionen leider nicht direkt zugänglich. Man muß dann entweder über die Webservices gehen oder den Umweg über Pseudo-Files gehen (gibt es auch für Listitems): http://www.softreeconsulting.com/sharepoint/how-to-get-list-item-version-history-of-a-custom-list-using-client-object-model/

[quote user="TGrauel"]Ich checke mal weiter ab, ob es vielleicht an der Sharepoint-Version oder so liegt[/quote]

Da Du SharePoint Online benutzt, bist Du hier sogar im Vorteil, weil das im Zweifelsfall immer weiter ist, als die on-premise Varianten.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
14 Beiträge
TGrauel Als Antwort am 4 Feb. 2016 12:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Andi,

Vielen Dank für Deine Antwort. Das mit den Pseudo-Files ist schon eine nette Sache :) Ich habe den Beispielcode jetzt mal ausprobiert. Die Versionen werden gezogen, die Versionen mittels des Deletes auch gelöscht. Lege ich nun neue Kommentare an (die Felder vom Typ "Mehrere Textzeilen" mit "Änderungen an vorhandenem Text anfügen" = "Ja") werden zwar die Versionen geladen, in der einzelnen Version ist allerdings kein Content zu finden. So ist in der fileVersion zwar das ListItem "ListItemAllFields" vorhanden, die enthaltene Collection "FieldValues" ist allerdings leer (Count = 0). Im ListItem der aktuellen Version ist dazu auch nirgends der Kommentar gefüllt, soweit ich das bisher gelesen habe wird der Inhalt wohl immer in den Versionen stecken

Du schriebst auch einen Weg über einen WebService. Hast Du hier vielleicht auch ein Beispiel?

Viele Grüße

Thomas

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 4 Feb. 2016 12:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hatte das selbst nicht ausprobiert und vielleicht funktioniert der Weg so richtig dann eben doch nur bei Dateien?

Zu den Webservices: ich kenne leider keine konkrete Anleitung. Es gibt die "alten" Webservices (asmx) und Du kannst dazu auch Beispielcode aus 2007 verwenden. Und suche auch mal nach SPServices, das sind praktische Wrapper um diese Webservices. Sie funktionieren derzeit auch noch in den aktuellen SharePoints und man kann damit sehr sicher auf die Versionen zugreifen.

Seit 2013 gibt es in SharePoint die sehr viel komfortableren REST-Services, aber ich weiß nicht, ob man damit an die Versionen kommt.

Mehr kann ich Dir leider nicht sagen, hoffe aber, daß ich wenigstens genug Stichworte liefern konnte..

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
14 Beiträge
TGrauel Als Antwort am 4 Feb. 2016 14:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Jo, Besten Dank für Deine Hilfe, dann werde ich mich mal auf die Suche begeben ;-) Ich melde mich auf jeden Fall sobald ich eine Lösung für mein Problem gefunden habe.

Gruß

Thomas

 

Ohne Rang
14 Beiträge
TGrauel Als Antwort am 11 Feb. 2016 17:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So, ich habe nun die Kommentare ausgelesen bekommen. REST unterstützt diese Kommentarfelder leider nicht und mit den Webservices in Visual Studio bekam ich auch nur Fehler. Also habe ich die Requests manuell per SOAP und HttpWebRequest zum Server gesendet und siehe da, als Response kamen meine Kommentare zurück :-)

Gruß

Thomas

Ohne Rang
5 Beiträge
Karl_maurer Als Antwort am 24 März 2016 12:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Thomas,

freut mich das es geklappt hat! Falls du mal wieder vor nem ähnlichen Problem stehst kann ich dir die Schnittstelle von www.dox42.com empfehlen. Da bekommst du die Daten 100% raus.