In einem unserer SharePoint DMS-Projekte sind wir auf ein Verhalten von SharePoint 2010 gestoßen, dass wir uns einige Zeit nicht erklären konnten. Mittlerweile haben wir die Bestätigung von Microsoft: Es ist ein Bug! Dieser wird mit dem nächsten Update von SP 2010 behoben sein! Wie sich dieser Fehler auswirkt und wie man ihn reproduzieren kann, zeigt dieser Artikel.

 

Das Phänomen/Bug:

Bei Dokumenten bestimmter Dateiformate (bspw. „.tif“)  wird ein Datumsfeld auf „01.01.1970“ gesetzt, wenn die Eigenschaften der übergeordneten Dokumentenmappe geändert werden und das zuvor eingetragene Datum kleiner als 01.01.1970 ist. Das Phänomen tritt nur bei Spalten-Vererbung mit Taxonomie-Feldern auf und erstaunlicherweise nicht bei MS Office-Dokumenten.

 

Zur Ausganslage:

In einer Teamsite wurde eine Dokumentenbibliothek angelegt, die einen eigenen Inhaltstyp zugewiesen hat. Dieser Inhaltstyp hat ein Feld “Belegdatum”, in dem ein Datum hinterlegt werden kann. Zudem liegen die Dokumente in einer Dokumentenmappe, die ein Taxonomie-Feld besitzt und dieses an die Dokumente runter-vererbt.  

Reproduktion des Bugs

Schritt 1: Erstellen eines neuen Inhalttyps mit Namen “SyncDocument “ inkl. einer Spalte für die Metadaten-Synchronisation. (SyncDocument erbt von Dokument)

image

 

Schritt 2: Eine neue Dokumentenbibliothek für den Reproduktionstest anlegen.

image

 

Schritt 3: Den Inhaltstyp “SyncDocument” und die Dokumentenmappe zur Bibliothek hinzufügen.

image

 

Schritt 4: Dem Dokumenten-Inhaltstyp (SyncDocument) auf der Liste eine DateTime-Spalte geben. (Könnte auch bei Anlegen des Inhalttyps auf Websiteebene geschehen.)

In dieser Spalte wird der 1970-Bug reproduziert.

image

 

Schritt 5: Eine Dokumentenmappe in der Dokumentenbibliothek erstellen.

image

 

 

Schritt 6: Eine beliebige Tif-Datei in der Dokumentenmappe hochladen und das  Datumsfeld auf 03.01.1912 setzen. (Wichtig vor dem 1.1.1970!)

Das Datum wird richtig eingetragen und angezeigt!

image

 

Alle Vorbereitungen sind nun abgeschlossen! Nun kann der Bug reproduziert werden.

 

Schritt 1: Jetzt wird ein Taxonomie-Feld der Dokumentenmappe hinzufügen. In unserem Beispiel heißt die Taxonomie-Spalte „Technisches Objekt“.

image

Schritt 2: Anschließend das neue Taxonomie-Feld für die Vererbung auf die Dokumente aktivieren.

image

 

Schritt 3: In den Eigenschaften der Dokumentenmappe ist das Taxonomie-Feld initial noch leer und kann nun mit einem Wert aus dem Termstore versehen werden. 

image

 

Schritt 4: Nach dem Selektieren eines Terms und dem Speichern ist das Problem ersichtlich. Das Belegdatum ist wie von Geisterhand auf den 01.01.1970 gesetzt worden.

Dieses Phänomen tritt bei jeder Änderung der Dokumentenmappen-Eigenschaften auf, sobald die Dokumentenmappe ein vererbtes Taxonomie-Feld besitzt. Das Problem scheint demnach in dem Event Receiver zu sein, der die Taxonomie-Werte auf die Dokumente synchronisiert.

image

Schlusswort:

Falls dieses Verhalten auch in Ihrem SharePoint auftritt, dann wissen Sie nun den Grund und das dieser Bug zeitnah behoben wird. In einem derart komplexen System wie SharePoint können leicht Fehler auftreten.  Ich vertraue weiterhin auf Microsoft-Technologien, da Microsoft sich stets derartiger Fehler annimmt und diese auch behebt.

1 Comments

  1. Pingback: Aus der Praxis–1970-Bug in SharePoint 2010 - SharePoint Blogs in German - Bamboo Nation

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.