Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

List-Templates unter SharePoint 2007 und deren Tücken

Möchte man ein List-Template-Feature erstel­len oder ein List-Template in ein selbst erstell­tes Site-Template ein­bin­den, so kommt man an der schema.xml nicht vor­bei.

Hier ein paar kurze Tipps, die bei der Fehlersuche hel­fen sol­len (, wenn man mal wie­der Tomaten auf den Augen hat).

Tipp 1:

Als sehr nütz­lich hat sich bei der Erstellung eines sol­chen List-Templates fol­gen­des Tool her­aus­ge­stellt:

MOSS Feature Generator

(Der Dank geht hier an mei­nen Kollegen Vojtech Nádvorník, der mir die­ses Tool vor län­ge­rem vor­stellte.)
Dieses Tool gene­riert aus schon bestehen­den, von Hand "zusam­men­ge­klick­ten" Listen und Bibliotheken ein­fach ein Feature mit allen nöti­gen Dateien, wel­che ent­we­der als Basis oder zum Vergleich ver­wen­det wer­den kön­nen.
Ein Problem hat die­ses Tool aber: jeg­li­che Mehrsprachigkeit geht ver­lo­ren.

Das heißt alle Resourcen-Dateiaufrufe wie zum Beispiel

DisplayName="$ResourcesNoEncode:core,Title;"

wer­den ersetzt durch den Inhalt des Resourcen-Dateieintrags der aktu­el­len Sprache. In unse­rem Beispiel würde in der schema.xml also

DisplayName="Title"

ste­hen, wenn die Liste in einem eng­li­schen Web erstellt wor­den wäre.

Tipp 2:

Spalten soll­ten im Argument Name und StaticName keine Leerzeichen oder Sonderzeichen ent­hal­ten. Diese müs­sen Codiert (Hex-Code) wer­den.

Bsp.:

FALSCH ist StaticName="Interner Eintrag"

Richtig ist StaticName="Interner_x0020_Eintrag".

Eine rich­tig ange­legt Spalte in einer schema.xml einer Liste sieht bei­spiels­weise 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 die­sen Tipp nicht, so erscheint auf den ers­ten Blick alles nor­mal. Die Spalten bzw. Felder wer­den ord­nungs­ge­mäß ange­legt. Neue Elemente kön­nen in der Liste eben­falls ange­legt wer­den.
Probleme gibt es aller­dings (spo­ra­disch), wenn die Spaltenreihenfolge geän­dert wer­den soll (Zu fin­den unter den Einstellungen/Settings unter dem Bereich Spalten/Columns der Link Spaltensortierung/Column orde­ring).

Dann erscheint der fol­gende Fehler: Field added or remo­ved. A field was added or remo­ved from the list while you were edi­t­ing the order. Please try again.

Name und StaticName soll­ten 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 soll­ten, wenn mög­lich, keine HTML-eigenen Zeichen ent­hal­ten.
Falsches Bsp.:

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

Die Sicht kann nor­mal geöff­net wer­den, aller­dings kommt es zu einem Fehler, wenn eine Neue View ange­legt wer­den soll.
Eine Möglichkeit den Fehler zu umge­hen ist es, die HTML-eigenen Zeichen zu mas­kie­ren:

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

Related Posts

1 Kommentar

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

Comments are closed.

Pin It on Pinterest