Question

J'ai une question sur le processus de mise à niveau des fonctionnalités dans SharePoint.

Dans ma fonction, je le déploiement d'un modèle de site personnalisé avec quelques définitions de liste, webparts, etc. Maintenant, quand je mets à jour ces derniers, je déploie un manifeste d'élément personnalisé à disposition de nouvelles choses sur le site, fonctionne bien. Mais qu'en est-nouveaux sites créés avec le modèle de site? Sont ceux qui sont toujours créés et mis à jour immédiatement les mises à jour; ou devrais-je assurer que je aussi incorporer les nouveaux éléments dans les manifestes de base eux-mêmes?

En outre, j'ai essayé l'extension d'une liste avec deux nouvelles vues, mais je ne sais pas comment je dois le faire. Je viens inclus les vues dans le schéma de liste, mais qui semble ne fonctionner que pour le site nouvellement créé; les sites existants ne sont pas étendus avec ces deux nouvelles vues. J'ai fini par créer une mise à jour de code personnalisé qui déploie les deux nouvelles vues pour les sites existants, et notamment la définition dans le schema.xml de nouveaux sites, mais je suppose qu'il ya probablement une meilleure façon de faire la même chose.

Était-ce utile?

La solution

Répondre à votre première question

Oui, vous avez besoin d'inclure des manifestes supplémentaires sous ElementManifests et UpgradeActions-> VersionRange-> ApplyManifests les deux. La raison en est qu'une fois que vous déployez une nouvelle version de FEATURE, SharePoint remplace ancienne version avec une nouvelle. Et lorsque la version mise à jour est activée, elle traite les fichiers sous l'élément uniquement. Il ne traitera pas du tout UpgradeActions (car l'activation est la version actuelle, ne pas créer ancienne version et mettez à niveau)

Question 2

En regardant la nature du changement (l'ajout de nouvelles vues à la liste existante), je pense que votre choix code d'utilisation était correcte, car sharepoint ne supporte pas un élément manifeste de caractéristique autonome qui peut ajouter une vue à la liste existante. Rappelez-vous, prend en charge la mise à niveau de la version des choses comme l'ajout d'un champ de type de contenu existant (en utilisant AddContentTypeField) tel que documenté mais je ne sais pas pourquoi ils ne sont pas des choses comme: AddListView ou rafraichirListe ou RemoveContentTypeField .. il pourrait être une longue liste de souhaits ici:)

Autres conseils

Si vous faites référence à WebTemplates vous suffit d'ajouter votre nouvelle fonctionnalité au Onet.xml du modèle Web et mettre à jour votre solution.

Si vous parlez definitins du site (dont le titre du poste implique) vous ne devez pas mettre à jour la définition du site, mais au lieu d'utiliser pour appliquer fonctionnalité agrafer la nouvelle fonctionnalité des sites en cours de création.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top