Was ist in SharePoint der einfachste Weg, eine benutzerdefinierte 'schema.xml' Datei zu erstellen?

7

Wie viele andere SharePoint-Benutzer musste ich eine benutzerdefinierte Listendefinition erstellen. Nach vielen Schwierigkeiten habe ich es geschafft, einen zu erstellen (ich denke, lass mich zuerst alle Fehler durchgehen), aber gibt es ein "grundlegendes" Schema da draußen, mit dem ich anfangen kann, oder einen eigens dafür gebauten Editor für Schema.xml generation ?

    
tekiegreg 13.01.2009, 23:10
quelle

9 Antworten

4

Um eine benutzerdefinierte Listendefinition zu erstellen, verwende ich immer eine eingebaute Listendefinition als Vorlage.
Erstellen Sie ein neues Feature, kopieren Sie dann die Datei schema.xml (eventuell auch andere Dateien, falls vorhanden) aus dem vorhandenen Feature und ändern Sie die Datei schema.xml direkt mit einem Texteditor. Ich habe keinen angepassten Editor dafür ausprobiert und arbeite immer mit Kopieren und Einfügen und Ändern von Attributwerten.

Eingebaute Listendefinitionen befinden sich in 12 hive als Features:

  • Benutzerdefinierte Liste - Funktionen / CustomList / CustList / schema.xml;
  • Dokumentbibliothek - Features / DocumentLibrary / DocLib / schema.xml;
  • Kalender - Feature / EventsList / Events / schema.xml;
  • Verwenden Sie die Suche, um andere zu finden.
EG. 14.01.2009, 07:43
quelle
4

Meine Empfehlung und was Sie der endgültigen Version am nächsten bringt, ist die Verwendung der SharePoint-Weboberfläche, die Einrichtung Ihrer Liste nach Ihren Wünschen, einschließlich Ansichten, benutzerdefinierten Spalten usw. Speichern Sie dann die Liste als Vorlage.

Die .stp-Datei, die Sie erhalten, ist im Grunde nur eine .cab-Datei mit einem lustigen Namen. Benennen Sie sich in cab um und extrahieren Sie das Manifest, das eine fast fertig zu verwendende Datei schema.xml enthalten wird.

Was Sie ändern müssen, ist der Pfad oder setuppath der Listenformulare. Sie finden diese am Ende der Datei manifest.xml. Wenn Sie die Standard-SharePoint-Listen verwenden, können diese Formulare auf SetupPath="pages / form.aspx" festgelegt werden. Hier ist ein Beispiel aus dem benutzerdefinierten Formularlistenelement:

%Vor%

Sie müssen auch den View-Pfad für jede Ansicht aktualisieren. Dies sollte SetupPath="pages / viewpage.aspx" sein, wenn Sie die Standardformulare auf Ihrer ursprünglichen Site verwenden.

Beachten Sie, dass Sie auch andere Attribute ändern müssen. Wenn Sie jedoch sicherstellen, dass Sie dem Schema wss.xsd folgen und Ihre benutzerdefinierte Liste schema.xml für das Schema wss.xsd validiert wird, sollten Sie in Ordnung sein.

.b

    
Bjørn Furuknap 14.01.2009 01:17
quelle
3

Mit den Windows SharePoint Services 3.0-Tools: Visual Studio 2008 Extensions, Version 1.2 kommt eine Anwendung namens "SharePoint Solution Generator 2008". Diese Anwendung hat einige Einschränkungen ( das schlimmste ist IMO diese Nachschlagespalten verschwinden ), aber es erstellt die Dateien, die Sie erstellen müssen, dh ein Feature aus einer bestehenden SharePoint-Liste. Dies beinhaltet die schema.xml.

    
user4531 14.01.2009 11:10
quelle
3

Ich benutze immer Gary Lapointes STSADM-Erweiterungen, um solche Sachen zu extrahieren. Das heißt, ich erstelle es zuerst mit der GUI und extrahiere dann Listen, Inhaltstypen, Site-Spalten usw. mit der entsprechenden Methode.

Sehen Sie sich die Garys-Liste der Erweiterungen in STSADM / PowerShell-Befehlen .

    
Anders Rask 18.01.2009 20:35
quelle
3

Sie können den SharePoint-Manager verwenden, um die Liste auszuwählen, für die das Schema erstellt werden soll, und diese als Vorlage zu verwenden.

Jede Schemagenerierung würde sich auf den Kontext stützen, da die GUIDs für benutzerdefinierte Felder für diese SharePoint-Websitesammlung spezifisch sind, sofern sie nicht als Teil eines zuvor angegebenen Features installiert werden (vorausgesetzt, ein XML-Schema wurde bereits erstellt). p>

SharePoint Manager ist ein gutes Werkzeug dafür, nicht weil es spezifisch für dieses Problem ist, sondern weil es eine sehr nützliche Art ist, alle Arten von Informationen (wie ein Schema) aus einer SharePoint-Instanz herauszuholen .

    
Nat 14.01.2009 00:06
quelle
1

Ich selbst und Rich Finn haben ein Tool mit dem Namen SPSource geschrieben, das Listen zu Listenvorlagen, Inhaltstypen und Site-Spalten zurückentwickelt. Bitte schau es dir unter Ссылка an. Dort findest du detaillierte Benutzerhandbücher und Webcasts, die dir zeigen, wie du es verwendest.

    
Jeremy Thake 18.08.2009 13:33
quelle
1

Das große Problem bei allen schema.xml-Dateien, die Sie normalerweise kopieren würden, ist, dass 90% des Codes in den verschiedenen Ansichtselementen enthalten sind. Dafür gibt es eine sehr einfache Lösung - verwenden Sie einen der Standard ViewStyles.

Hier ist ein geradliniges, lesbares minimalistisches Schema, mit dem wir beginnen können. Weitere Informationen finden Sie Ссылка . Es sei denn, Sie müssen wirklich, das gerenderte HTML, zwicken Sie nicht mit der Ansicht caml:

%Vor%     
Oskar Austegard 15.07.2009 16:31
quelle
0

Wenn Sie auf die Antwort von EG klicken, wenn Sie nur die an eine bestehende Liste angehängten Felder ändern möchten (aber die Ansichten usw. im Wesentlichen gleich lassen), müssen Sie die Dinge im Wesentlichen an zwei Stellen ändern: List / MetaData / Felder und List / MetaData / Views / View / ViewFields.

Der Abschnitt "Felder" ist relativ einfach, vorausgesetzt, Sie folgen der Dokumentation .

Damit die Spalten in einer bestimmten Ansicht angezeigt werden, müssen Sie den ViewFields-Abschnitt für eine bestimmte Ansicht bearbeiten. Wenn Sie beispielsweise Spalten namens Titel, Autor und Verleger haben, die in der Ansicht angezeigt werden sollen, suchen Sie den ViewFields-Abschnitt dieser Ansicht und bearbeiten Sie ihn wie folgt:

%Vor%

Diese Felder (und nur diese Felder) sollten dann in dieser Ansicht angezeigt werden.

    
Jonathan Schuster 20.01.2009 15:15
quelle
0

Erstellen Sie mithilfe von Browseroptionen die Liste, die Sie in Ihrer lokalen Entwicklungsumgebung entwickeln möchten. Speichern Sie die Site als Vorlage. Laden Sie es in das lokale Dateisystem herunter.

Erstellen Sie jetzt ein neues Visual Studio-Projekt mit Vorlage, importieren Sie es aus einem Lösungspaket. Suchen Sie das Lösungspaket, das im Dateisystem gespeichert ist. Wenn Sie nun die Lösung sehen, finden Sie die von Ihnen erstellte Liste. Die Datei schema.XML befindet sich in der Listendefinition. Kopiere den Content Type, Fields und Views Inhalt und füge ihn in deine schema.xml Datei ein.

    
Saikiran Sheshagiri 04.11.2011 12:15
quelle