Comme beaucoup d'autres utilisateurs de SharePoint, j'ai dû créer une définition de liste personnalisée. Après beaucoup d'ennuis, j'ai réussi à en créer un (je pense, permettez-moi de passer en revue toutes les erreurs), mais y a-t-il un schéma «basique» avec lequel je peux commencer ou un éditeur spécialement conçu pour la génération Schema.xml
?Dans SharePoint, quel est le moyen le plus simple de créer un fichier "schema.xml" personnalisé?
Répondre
Pour créer la définition de liste personnalisée J'utilise toujours un peu construit dans la définition de la liste en tant que modèle.
Créez une nouvelle fonctionnalité puis copiez schema.xml (éventuellement d'autres fichiers si présents) à partir de la fonction existante et modifiez le fichier schema.xml directement avec un éditeur de texte. Je n'ai essayé aucun éditeur personnalisé pour cela et je fais toujours du travail avec les valeurs de copier-coller et de changement d'attributs.
dans les définitions de liste intégrée sont situés dans 12 ruche caractéristiques:
- Liste personnalisée - Caractéristiques/CustomList/CustList/schema.xml;
- Bibliothèque de documents - Fonctionnalités/DocumentLibrary/DocLib/schema.xml;
- Calendrier - Feature/EventsList/Events/schema.xml;
- Utilisez la recherche pour trouver d'autres.
Vous pouvez utiliser SharePoint manager pour sélectionner la liste pour laquelle vous souhaitez utiliser le schéma et l'utiliser comme modèle. Toute génération de schéma dépend du contexte car les GUID de tous les champs personnalisés seront spécifiques à cette collection de sites SharePoint, à moins qu'ils ne soient installés dans le cadre d'une fonctionnalité précédemment spécifiée (en s'appuyant sur un schéma XML déjà créé). Le gestionnaire SharePoint est un bon outil pour cela non pas parce qu'il est spécifique à ce problème, mais parce qu'il est un moyen très utile d'obtenir toutes sortes d'informations (comme le schéma) sur une instance SharePoint.
Ma recommandation, et ce qui vous rapproche le plus d'une version finale, est d'utiliser l'interface Web de SharePoint, de configurer votre liste comme vous le souhaitez, y compris les vues, les colonnes personnalisées, etc. un modèle. Le fichier .stp que vous obtenez est essentiellement un fichier .cab avec un nom drôle. Renommez en cab et extrayez le manifeste, qui inclura un fichier schema.xml presque prêt à l'emploi à utiliser.
Ce que vous devez changer est le chemin ou setuppath des formulaires de liste. Vous les trouverez au bas du fichier manifest.xml. Ces formulaires, si vous utilisez les listes SharePoint par défaut, peuvent être définis sur SetupPath = "pages/form.aspx". Voici un exemple de l'élément de formulaires de liste personnalisée:
<Form Type="DisplayForm" Url="DispForm.aspx"
SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx"
SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx"
SetupPath="pages\form.aspx" WebPartZoneID="Main" />
Vous devez également mettre à jour le chemin de View pour chaque point de vue, qui devrait être SetupPath = « pages/viewpage.aspx » si vous utilisez les formulaires par défaut dans votre original site.
Notez que vous devez également modifier d'autres attributs, mais si vous vous assurez de suivre le schéma wss.xsd et que votre schéma personnalisé schema.xml valide le schéma wss.xsd, cela devrait vous convenir.
.B
Avec le Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2 vient une application appelée "SharePoint Solution Generator 2008".Cette application a certaines restrictions (le pire est IMO that lookup columns disappear), mais elle crée les fichiers dont vous avez besoin pour créer une fonctionnalité à partir d'une liste SharePoint existante. Cela inclut le fichier schema.xml.
J'utilise toujours les extensions STSADM de Gary Lapointes pour extraire ce genre de choses. C'est-à-dire que je le crée d'abord en utilisant l'interface graphique, puis en extrayant des listes, des types de contenu, des colonnes de site, etc. en utilisant la méthode appropriée.
Consultez la liste des extensions de Gary dans STSADM/PowerShell Commands.
Ajoutant à la réponse de EG, si vous voulez seulement changer les champs attachés à une liste existante (mais laisser les vues, etc. essentiellement les mêmes), vous devrez changer les choses à deux endroits: List/MetaData/Fields, et List/MetaData/Views/View/ViewFields.
La section Champs est relativement simple, en supposant que vous suivez the documentation. Pour obtenir l'affichage des colonnes dans une vue donnée, vous devez modifier la section ViewFields pour une vue donnée.
Par exemple, si vous avez des colonnes nommées Titre, Auteur et éditeur que vous voulez afficher dans la vue, trouver la section ViewFields de ce point de vue et de le modifier comme suit:
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="Author" />
<FieldRef Name="Publisher" />
</ViewFields>
Ces champs (et seuls les champs) devrait alors s'afficher dans cette vue.
Le gros problème avec tous les fichiers schema.xml que vous copieriez normalement est que 90% du code réside dans les différents éléments de vue. Il existe une solution extrêmement simple pour cela: utilisez l'un des ViewStyles par défaut.
Voici un schéma minimaliste simple et lisible pour commencer. Lire http://mo.notono.us/2009/02/moss-dreaded-schemaxml.html pour plus de détails. À moins que vous avez vraiment, vraiment besoin de modifier le code html rendu, ne prenez pas la peine de jouer avec la vue Caml:
<?xml version="1.0" encoding="utf-8"?>
<List xmlns:ows="Microsoft SharePoint" Id="{AB426CDE-98F2-432A-B296-880C7931DEF3}"
Title="Setting" Url="Lists/Setting" BaseType="0"
FolderCreation="FALSE" DisableAttachments="TRUE" VersioningEnabled="FALSE"
Direction="$Resources:Direction;"
xmlns="http://schemas.microsoft.com/sharepoint/">
<MetaData>
<Fields>
<Field Type="Text" Name="Title" DisplayName="Name" Required="TRUE" />
<Field Type="Text" Name="Value" DisplayName="Value" Required="TRUE" />
</Fields>
<Views>
<View BaseViewID="0" Type="HTML" WebPartZoneID="Main" DisplayName="All Items" DefaultView="TRUE"
MobileView="True" MobileDefaultView="False" SetupPath="pages\viewpage.aspx"
ImageUrl="/_layouts/images/issues.png" Url="AllItems.aspx">
<ViewStyle ID="17"/>
<RowLimit Paged="TRUE">100</RowLimit>
<Toolbar Type="Standard" />
<ViewFields>
<FieldRef Name="Edit" />
<FieldRef Name="Title"/>
<FieldRef Name="Value"/>
</ViewFields>
<Query>
<OrderBy>
<FieldRef Name="Title"/>
</OrderBy>
</Query>
</View>
</Views>
<Forms>
<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
</Forms>
<DefaultDescription>Settings used in the application.</DefaultDescription>
</MetaData>
</List>
Moi-même et Rich Finn ont écrit un outil appelé SPSource qui rétroconcevrait listes Liste modèles, types de contenu et les colonnes du site. S'il vous plaît vérifier au http://spsource.codeplex.com/ il existe des guides d'utilisateur détaillés et webcasts pour vous montrer comment l'utiliser.
Créez la liste que vous souhaitez développer dans votre environnement de développement local à l'aide des options du navigateur. Enregistrez le site en tant que modèle. Téléchargez-le dans le système de fichiers local.
Créez maintenant un nouveau projet Visual Studio avec un modèle, importez à partir d'un package de solution. Recherchez le package de solution stocké sur le système de fichiers. Maintenant, quand vous voyez la solution, vous trouverez la liste créée par vous. Le fichier schema.XML
sera situé dans la définition de la liste. Copiez le contenu du type de contenu, des champs et des vues et collez-le dans votre fichier schema.xml
.
- 1. Quel est le meilleur, uploader le plus simple fichier ajax?
- 2. Dans une application MFC, quel est le moyen le plus simple de copier un fichier d'un répertoire à un autre?
- 3. Quel serait le moyen le plus simple de traiter un fichier texte en utilisant JSP?
- 4. Quel est le moyen le plus simple d'intégrer PayPal dans un système d'enregistrement?
- 5. Un éditeur pour un objet de données en swing, quel est le moyen le plus simple?
- 6. Quel est le moyen le plus simple de lire un MP3 dans WPF?
- 7. Quel est le moyen le plus simple de cloner un dépôt git vide * * vide?
- 8. Quel est le moyen le plus simple de sauvegarder un collectin d'objet Observable dans un fichier XML?
- 9. Quel est le moyen le plus simple de découper de gros fichiers XAML dans mon application?
- 10. Quel est le meilleur moyen de créer une Smart Part dans SharePoint?
- 11. NSMutableArray. Quel est le moyen le plus rapide pour le convertir en un tableau C simple?
- 12. Quel est le moyen le plus simple d'utiliser le code source C dans une application Java?
- 13. Quel est le moyen le plus simple de programmer une période bêta sur un site?
- 14. Quel est le moyen le plus simple de faire de la négation dans les déclencheurs?
- 15. Quel est le moyen le plus simple de cloner un webservice?
- 16. Quel est le moyen le plus simple d'implémenter une fonction de recherche sur un site Web?
- 17. Quel est le moyen le plus simple de vérifier qu'une connexion réseau est disponible?
- 18. Quel est le moyen le plus simple d'apprendre le code ActionScript lorsque vous connaissez JavaScript?
- 19. Quel est le moyen le plus rapide de trouver un fichier dans Zend Studio pour Eclipse?
- 20. Quel est le moyen le plus efficace de lire un fichier journal dans Java?
- 21. Quel est le moyen le plus simple d'analyser les fichiers binaires dans Cocoa Touch?
- 22. Quel est le moyen le plus simple de convertir un fichier de données SO de HTML en Markdown?
- 23. C# Quel est le moyen le plus simple de créer un XSD pour une classe xml-sérialisable?
- 24. J'ai déjà installé PHP, quel est le moyen le plus simple (le meilleur) pour installer GDLib?
- 25. Quel est le moyen le plus simple de créer un panneau d'administration pour les sites Web dynamiques?
- 26. Quel est le moyen le plus simple d'aligner l'axe Z avec un vecteur?
- 27. Quel est le moyen le plus simple d'ajouter un index sur une table myISAM live?
- 28. Quel est le moyen le plus simple de styler le ScrollViewer en XAML
- 29. Quel est le moyen le plus simple de construire Python26.zip pour la distribution intégrée?
- 30. Quel est le moyen le plus simple de récupérer une page Web en C?