In meinem aktuellen Projekt implementieren wir gerade ein WebPart, welches Einträge zu einer Dokument-Bibliothek hinzufügen soll. Eigentlich keine große Sache, aber bei der Programmierung sind wir über eine SharePoint-Eigenart gestolpert, die uns bzw. den Debugger ganz schön gestresst hat.
Begonnen hat alles damit, dass wir statt der bisherigen Vorgehensweise (item["Title"] = "My Title";) den Weg über das SPFileCollection-Objekt gegangen sind. Eigentlich funktioniert dieser Weg recht gut, wir haben uns nur beim Testen gewundert, warum eine Spalte in unserer Dokument-Bibliothek immer leer blieb, obwohl wir nachweislich diese Spalte und ihren Wert per SPFileColletion.Add() hinzugefügt haben. Egal was wir versucht haben – eine Spalte bliebt immer leer. Nach einigem Recherchieren haben wir herausgefunden, dass es sich bei dieser Spalte um die Title-Spalte handelte. Das war aber nicht direkt erkennbar, weil die Title-Spalte umbenannt worden war.
Nächster Versuch: vielleicht liegt es ja an der Umbenennung. Also haben wir mit DisplayName, InternalName und StaticName experimentiert, aber SharePoint bliebt stur und hat für diese Spalte keine Werte übernommen. Somit lag der Verdacht nah, dass es irgendwie mit der Title-Spalte direkt zusammenhängen muss. Dass die Title-Spalte in SharePoint etwas ganz Besonderes ist, hat sicher schon jeder SharePoint-Programmierer erfahren müssen.
Da wir mit unseren Versuchen nicht weitergekommen sind, blieb uns nur noch die Recherche im Internet – und hier wurden wir fündig. Morten Marquard ist vor einiger Zeit ebenfalls über das Problem gestolpert und hat in seinem Blog einen Artikel über dieses Problem verfasst. In den Comments zu seinem Artikel wurden zwar einige Lösungsansätze diskutiert, aber es sieht wohl so aus, als ob es keine direkte Lösung für das Problem gibt.
Hier der Link zum Artikel: http://mqsharepoint.blogspot.com/2007/08/spfilecollectionadd-ignores.html

Bereitgestellt
26 Nov 2009 15:34
von
Oliver Wirkus