Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
+49 (0) 351/850 33-0

List-Templates unter SharePoint 2007 und deren Tücken

Möchte man ein List-Template-Feature erstellen oder ein List-Template in ein selbst erstelltes Site-Template einbinden, so kommt man an der schema.xml nicht vorbei.

Hier ein paar kurze Tipps, die bei der Fehlersuche helfen sollen (, wenn man mal wieder Tomaten auf den Augen hat).

Tipp 1:

Als sehr nützlich hat sich bei der Erstellung eines solchen List-Templates folgendes Tool herausgestellt:

MOSS Feature Generator

(Der Dank geht hier an meinen Kollegen Vojtech Nádvorník, der mir dieses Tool vor längerem vorstellte.)
Dieses Tool generiert aus schon bestehenden, von Hand „zusammengeklickten“ Listen und Bibliotheken einfach ein Feature mit allen nötigen Dateien, welche entweder als Basis oder zum Vergleich verwendet werden können.
Ein Problem hat dieses Tool aber: jegliche Mehrsprachigkeit geht verloren.

Das heißt alle Resourcen-Dateiaufrufe wie zum Beispiel

DisplayName="$ResourcesNoEncode:core,Title;"

werden ersetzt durch den Inhalt des Resourcen-Dateieintrags der aktuellen Sprache. In unserem Beispiel würde in der schema.xml also

DisplayName="Title"

stehen, wenn die Liste in einem englischen Web erstellt worden wäre.

Tipp 2:

Spalten sollten im Argument Name und StaticName keine Leerzeichen oder Sonderzeichen enthalten. Diese müssen Codiert (Hex-Code) werden.

Bsp.:

FALSCH ist StaticName=“Interner Eintrag“

Richtig ist StaticName=“Interner_x0020_Eintrag“.

Eine richtig angelegt Spalte in einer schema.xml einer Liste sieht beispielsweise so aus:

<Field Type="Text" DisplayName="Interner Eintrag" Required="FALSE" MaxLength="255" ID="{a480af4a-92d2-4f44-8c5e-4760c9b37bb1}" SourceID="{3e36b224-d86e-4426-a868-f2efd702b50a}" StaticName="Interner_x0020_Eintrag" Name="Interner_x0020_Eintrag" ColName="nvarchar3" RowOrdinal="0" Version="1"/>

Beachtet man diesen Tipp nicht, so erscheint auf den ersten Blick alles normal. Die Spalten bzw. Felder werden ordnungsgemäß angelegt. Neue Elemente können in der Liste ebenfalls angelegt werden.
Probleme gibt es allerdings (sporadisch), wenn die Spaltenreihenfolge geändert werden soll (Zu finden unter den Einstellungen/Settings unter dem Bereich Spalten/Columns der Link Spaltensortierung/Column ordering).

Dann erscheint der folgende Fehler: Field added or removed. A field was added or removed from the list while you were editing the order. Please try again.

Name und StaticName sollten also bei Leerzeichen, Umlauten und Sonderzeichen stets Codiert sein. (Diese Seite hilft im Notfall bei der Codierung 🙂 )

Tipp 3:

Die Ansichten (bzw. deren DisplayName) in Listen sollten, wenn möglich, keine HTML-eigenen Zeichen enthalten.
Falsches Bsp.:

<View WebPartZoneID="Main" Type="HTML" DisplayName="Sortierung <Datum>" ...>

Die Sicht kann normal geöffnet werden, allerdings kommt es zu einem Fehler, wenn eine Neue View angelegt werden soll.
Eine Möglichkeit den Fehler zu umgehen ist es, die HTML-eigenen Zeichen zu maskieren:

DisplayName="Sortierung &lt;Datum&gt;"

1 Kommentar

Schauen Sie Sich mal die SharePoint Software Factory and http://spsf.codeplex.com
Sie hilft Ihnen beim erstellen der Features und erlaubt auch mit Hilfe von Wizards SiteColumns, Content Types etc. auch Mehrsprachig zur erstellen. Das ganze für SharePoint 2007 und 2010.

Kommentar hinterlassen


Pin It on Pinterest