Skip to main content

SharePoint Dev und ITPro Blog

Go Search
Home
Impressum
  


SharePoint Dev und ITPro Blog > Posts > Tool zum Exportieren von Inhaltstypen und Feldern
Tool zum Exportieren von Inhaltstypen und Feldern

In meinen vorigen Posts habe ich gezeigt, wie man Inhaltstypen per Feature erzeugen kann. Im Nachhinein habe ich mir dann gedacht, dass es doch eigentlich erheblich einfacher wäre, wenn man die Inhaltstypen und zugehörigen Felder im System anlegt und diese dann als Feature exportiert. Dadurch werden die Fehlerquellen beim Erstellen der jeweiligen XML-Dateien erheblich reduziert. Ich habe mich deshalb enstchlossen, eine kleine Windows Anwendung zu erstellen, die das Browsen durch die Inhaltstypen erlaubt und zusätzlich eine Funktion zum Export von Inhaltstypen samt Feldern als Feature bietet. Ich möchte in diesem Post dieses Tool kurz vorstellen. Man kann es unter folgenden Link herunterladen:

http://sharepoint-dms.com/blog/Tools/CTExplorer.zip

Das Tool ist nur direkt auf einem MOSS 2007 oder WSS V3 Frontend Webserver lauffähig. Die Installation ist denkbar einfach: ZIP Datei herunterladen und in einem Verzeichnis entpacken. Dadach kann die enthaltene EXE-Datei gestartet werden.

Nach dem Start muss zunächst eine Url auf eine Website Sammlung eingegeben und die Schaltfläche Connect betätigt werden. Das Tool verbindet sich mit der eingegebenen Website Sammung und zeigt die oberste Ebene der Hierarchie der Inhaltstypen in der linken Baumansicht an. Durch Aufklappen der einzelnen Ebenen kann man sich durch die Hierarchie hangeln. Durch Klick auf einen Inhatstyp werden die zugehörigen Eigenschaften, sowie die referenzeirten Felder (in der linken Listbox) angezeigt. Durch Klick auf ein Feld in der Listbox, kann dessen Eigenschaften angezeigt werden. Es ergibt sich dann folges Bild:

Main Dialog

Hat man einen Inhaltstyp angewählt, kann man über die Schaltfläche „Export Content Type“ den gewählten Inhaltstyp exportieren. Es erscheint dann folgender Dialog:

Export Dialog

In diesem Dialog sind folgende Funktionen verfügbar:

-          Export content type hirarchy:

-          Export field definition: Ist diese Checkbox aktiv, werden auch alle Felder aus den selektierten Inhaltstypen in ein eigenes Feature exportiert. Hierzu sind die folgenden Zusatzinfos notwendig:

o    Feature name: Name des Features für die exportierten Felder

o    Description: Beschreibung des Feature

-          Folder: Indieses Verzeichnis werden die Feature-Dateien exportiert

Über die Schaltfläche „Create feature“ kann dann der Inhaltstyp bzw. die gesamte Hirarchie in das angegebene Verzeichnis exportiert werden.

Hnweise:

Folgende Felder werden nicht exportiert:

-          Felder, die ein Attribut SourceID=http://schemas.microsoft.com/sharepoint/v3/fields haben. Diese Felder sind im Normalfall durch ein Feature bereits im System installiert.

-          Die Installation der exportierten Inhaltstypen und Felder erfolgt auf folgende Weise:

o    Kopieren des jeweiligen Verzeuchnisses in das MOSS / WSS Feature Verzeichnis (z.B. C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES)

o    Installieren des Features über den Befehl:
stsadm -o installfeature -name <Verzeichnisname des Features>

o    Aktivieren des Features über den Befehl:
stsadm -o activatefeature -name < Verzeichnisname des Features > -url <Websitesammlung>

Comments

Coole Sache

Ich hatte mir gerade einen Eintrag in den Kalender gemacht, dass ich nach dem Urlaub so ein Tool schreiben muss und siehe da, schon stolper ich darüber. Werd's gleich morgen ausprobieren. Wenn es so gut funktioniert, wie es scheint, dann spart es echt einen Haufen Zeit. Danke.
at 10.04.2007 22:33

Tolles Teil!

Hallo, habe gerade genau so ein Tool gesucht. Tolle Arbeit und Danke!
at 23.04.2007 11:36

Error: The 'WebId' attribute is not allowed in file fields.xml und custom Websitespalten im Zielweb nicht vorhanden

Cooles Tool doch leider habe ich ein kleines Problem beim Installieren der Contenttypes im Zielweb. Wenn ich die Content Type mit der Funktion 'Export Content Type Hierarchy' exportiere habe ich in der Zielwebsite zwar das ContentType installiert und aktiviert, aber ohne meine zusätzlich definierten custom Felder. Es sind sozusagen 'nur' die Microsoft-Standardfelder wie Author, Name etc. vorhanden, aber meine Site Columns/Websitespalten z.B. "Firma Company" sind im Zielweb nicht vorhanden.
Wenn ich dann die zusätzliche Exportfunktion 'Export field definition' anwähle und diese installieren möchte, erfolgt die Fehlermeldung: The 'Webid' attribut is not allowed. in file field.xml, line 3....
 
Gibt es da eine Umgehungslösung oder was mache ich grundsätzlich falsch?
 
Besten Dank für das Feedback
Ritzo
at 23.04.2007 18:39

RE: Error: The 'WebId' attribute is not allowed in file fields.xml und custom Websitespalten im Zielweb nicht vorhanden

Tatsächlich exportiert das Tool bei der Checkbox "Export Content Type hierarchy" nur die Defintion der Inhaltstypen. Felder werden dadurch nicht exportiert. Erst durch die Checkbox "Export Field Definitions" werden auch die zugehörigen Felder in einem zusätzlichen Feature exportiert. Bezüglich Deines Fehlers wäre es gut, die field.xml mal in Augenschein zu nehmen. Ich nutze nutze für die Erzeugung der field.xml die interne Schema Repräsentation der Felder und blende unerwünschte Attribute aus. Evtl. ist mir ein Attribut durch die Lappen gegangen bzw. es ergibt sich aus der Kombination mit anderen Attributen eine eunerwünschte Kombination, die zu diesem fehler führt. Deshalb wäre es toll, wenn Du die field.xml (oder Teile davon) anhängen könntest. Gruß Reiner
at 30.05.2007 20:30

ERROR: Das Aggregation-Attribut ist unzulässig.

Hi, ist ein praktisches Helferlein, doch als ich gerde einen ContentType exportiert habe und isntallieren wollte, bekam ich folgende Fehlermeldung:
 
Fehler bei der Überprüfung der Featuredefinition mit der ID 'a611aab3-1ca0-4c45-b6b4-920aef54e1e9', Datei 'Fields.xml', Zeile 3, Zeichen 341.: Das Aggregation-Attribut ist unzulässig.
 
Die Lösung ist einfach das Attribut Aggregation="" zu löschen, leider hab ich keine Ahnung was es macht und warum es an dieser Stelle falsch ist.  Vielleicht habe ich nen Bug gefunden der zu fixen wäre.
 
Gruß Georg
at 29.06.2007 15:07

ERROR: Das Aggregation-Attribut ist unzulässig.

Hi, ist ein praktisches Helferlein, doch als ich gerde einen ContentType exportiert habe und isntallieren wollte, bekam ich folgende Fehlermeldung:
 
Fehler bei der Überprüfung der Featuredefinition mit der ID 'a611aab3-1ca0-4c45-b6b4-920aef54e1e9', Datei 'Fields.xml', Zeile 3, Zeichen 341.: Das Aggregation-Attribut ist unzulässig.
 
Die Lösung ist einfach das Attribut Aggregation="" zu löschen, leider hab ich keine Ahnung was es macht und warum es an dieser Stelle falsch ist.  Vielleicht habe ich nen Bug gefunden der zu fixen wäre.
 
Gruß Georg
at 29.06.2007 15:08

LookUps

Hallo, das Tool ist super nur steh ich vor einem Problem dessen Lösung mir nicht einfallen will. Ich hab einen Content Type definiert, der Felder beinhaltet die vom Type "Lookup" sind. Wenn ich nun diesen Content Type wo anders installieren will, funktioniert das nicht. Dein Tool schreibt die Daten der aktuellen Installation ins XML und die IDs stimmen nicht auf dem Zielsystem überein. Hat damit schon jemand Erfahrung? Gruß Christian
at 03.09.2007 17:03

Site Column Defs können nicht exportiert werden

Hallo Reiner,
cooles Tool, erleichtert die Sache auf jeden Fall :-)
 
Allerdings funktioniert es bei mir nicht erwartet.
Ich möchte einen von System.Page/Page abgeleiteten Content Type inkl. Felddefinitionen exportieren (Page Layout Content Type).
Der Content Type an sich wird problemlos akzeptiert, nur die Site Column Definitionen möchte er nicht übernehmen- sobald ich das angebe wirft er nen Fehler: Fehlermeldung ist "Error creating feature xml"
 
Any idea? Andere Content Types gehen (auch von System.Page abgeleitete).
 
Gerne würde ich dir beim debuggen helfen, wenn du bereit bist, mir den Quellcode zu schicken....
 
 
Beste Grüße,
Ludwig
at 18.09.2007 23:20

ERROR:  The 'Version' Attribut is not allowed in file fields.xml und die Custom Site Columns wurden auch nicht erstellt

Hi, ich wollte mit dem Tool selbst erstellte ContentTypes kopieren, klappt auch alles wunderbar, außer wenn ich ContentTypes habe die eigen erstellt Site Columns haben. Beim Installieren des Features bekomme ich die Fehlermeldung das das The 'Version' attribut is not allowed ist. Wie bekomme ich mein ContentType Feature mit meinen eigenen Spalten installiert? Hier ein Auszug aus meiner Field.xml: 0 1 1 2 3 or more Danke für die Hilfe.
at 01.10.2007 16:24

ERROR:  The 'Version' Attribut is not allowed in file fields.xml und die Custom Site Columns wurden auch nicht erstellt

Hi,
 
ich hatte den gleichen Fehler.
Hat evtl jemand bereits ne Lösung gefunden?
 
Danke.
at 16.01.2008 17:39

Add Comment

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Name (required) *


Body (required) *

SPAM Filter *


Bitte geben Sie hier die Nummer 4532 ein. Dadurch kann ich leichter SPAM unterbinden.
Attachments