Question

Son une vieille bataille entre ITpro et développeur. ITpros leur haine en raison de problèmes de mise à niveau, comme devs la liberté qu'il leur donne sans avoir à faire le nettoyage de la maison avec agrafer caractéristique.

Quelle est votre préférence, et quand utilisez-vous quoi?

Lorsque vous restez avec OOTB SDT Comment ajouter vos personnalisations?

Personnellement, je tendance à ne utiliser SDT personnalisé lorsque vous faites WCM (pour obtenir ID), ou dans les rares cas où un besoin de collecte sous site intranet à nettoyer pour des artefacts excessifs.

Ces derniers temps quand je customie OOTB STD i fournisseurs d'approvisionnement personnalisés préfère (à la fois sur site racine et sous-sites) en combinaison avec des récepteurs de fonction pour une flexibilité maximale. Sur mon dernier projet, nous avons même fait un RPC général qui pourrait être configuré en utilisant XML où vous pouvez configurer les pages par défaut, ce que les modèles sous site et mises en page doivent être visibles, les listes instancier et éléments de liste par programme, quelles sont les parties Web à disposition, différentes configurations comme vérification permettant, la configuration de navigation, des définitions de rôles, etc.

Laissez-moi votre façon préférée de le faire, et pourquoi vous préférez le faire comme ça.

[Marqué communauté wiki]

Était-ce utile?

La solution 6

Ok, donc dans SharePoint 2010 il y a un nouveau joueur sur le terrain. Modèles Web personnalisé

Je les utilise presque exclusivement, au lieu des définitions de site personnalisées.

Modèles Web offrent quelques avantages sur les définitions de site personnalisées:

Plus

  • correspond peut être mis à niveau (ce ne sont pas pris en charge sur defs du site!)
  • peut fonctionner dans le bac à sable et donc être utilisé pour SharePoint Online (defs site ne peut pas!)
  • soutenir à la fois la portée et la collecte ferme du site pour le déploiement granulaire
  • une meilleure promesse de mise à niveau depuis le site semble avoir été créé avec des définitions de site OOB

Contre

  • encore un peu buggé! attributs et Subweb locale ne fonctionne pas actuellement
  • agrafer fonctionnalité ne fonctionne pas (car il n'y a pas d'identité pour l'épingler sur), ce ne est pas vraiment un problème puisque vous pouvez modifier Onet.xml de manière soutenue ...
  • aucun moyen OOB pour déterminer quel modèle Web a été utilisé pour la fourniture d'un site (définir un identifiant vous sur les propriétés Web)
  • pas pris en charge pour les variations du site

Pour SharePoint 2010 modèles Web personnalisés devraient être votre choix par défaut! Il y a des situations où vous utiliseriez encore des définitions de site personnalisé, mais la liste est courte.

Pour en savoir plus sur les modèles Web personnalisés lire ces deux articles par Vesa Juvonen:
définitions du site vs modèles Web
SharePoint 2010 et modèles web

Autres conseils

La définition du site parfait est vide. Les modèles intégrés sont inutiles dans tout sauf les solutions les plus simples. Même si le client veut exactement ce qui est dans le modèle de site d'équipe, je reconstruis encore que comme une solution de WSP et deply en utilisant le code.

code est le chemin à parcourir, car il donne un mélange de ce que les administrateurs veulent et ce que les développeurs ont besoin. ce dernier est plus important en tant que bon dev fera le travail d'administration facile.

Evolutivité est rarement un vrai problème, car il est plus facile de créer une nouvelle solution plutôt que le travail autour des problèmes de mises à jour à WSS3. Wss4, cependant, considérablement améliore et évolutivité fonctionnalité introduit versioning pour permettre la version multiple de la même fonction en cours d'exécution en même temps dans différents sites.

Je pense que je vais écrire en fait un billet de blog sur ce ...

.B

Je suis programmatique tout le chemin. A TechEd 2009 Australie J'ai présenté sur ce sujet, toujours en attente pour la distribution Web pour aller vivre. Je recommande le regarder, regarder mon blog pour l'annonce.

Il suffit d'ajouter à cette discussion, le SharePointDevWiki a deux pages pertinentes: CAML vs code Programmatic Sites Modèles vs Définitions du site vs Caractéristiques

Actuellement, je préfère travailler avec le « site minimal def » juste pour obtenir une carte d'identité, et ensuite utiliser des récepteurs pour ajouter les trucs cool. Cela est principalement dû au fait que je pense que je reçois le travail plus rapidement et que vous pouvez mettre à niveau la solution plus facile (et de façon soutenue).

J'ai écrit une pièce sur ce il y a quelques jours Éviter Xml basé sur SharePoint Caractéristiques -. utiliser l'API Way

Quand vous faites des sites d'édition (WCM) Je pense que vous avez vraiment besoin d'utiliser un Def site, si rien d'autre pour obtenir une carte d'identité, mais sinon je tiens à le garder vide et utiliser les fonctions pour tout le reste, le codage habituellement des récepteurs de fonction pour faire le gros du travail.

Au cours de l'été cependant, je commençais à être convaincu par certains très intelligents concepteurs de SharePoint qu'il peut y avoir certains avantages pour les laisser pirater ONET et beaucoup d'écriture de CAML-- déclarative la prémisse est ici que même si il est plus facile pour ME d'écrire des récepteurs de fonction, dans le contexte d'avoir un concepteur / expert marque fait les sites de publication, il peut être plus facile pour eux de modifier les choses déclarative que d'écrire du code C #. Je ne sais pas, ne l'ai pas fait tester cette théorie encore.

Ce que je n'y crois pas que l'idée est que vous ne devriez pas utiliser le site est def parce que ça va faire la mise à niveau plus difficile. Bien que cela ait été vrai dans le passé, il y avait toutes sortes de choses qui ont fait la mise à niveau plus difficile qui ne reçoivent pas leur frappaient presque juste part.

J'aime utiliser les deux définitions du site et de fonctionnalités pour livrer le contenu. Je viens dois peser ce qui est nécessaire pour le travail. Si je connais les exigences pour le web vont être contenus dans quelques listes, je partirais avec une fonctionnalité et d'utiliser le site def OTB. Si le Web est entièrement personnalisée ou a besoin de nombreuses fonctionnalités, je commence par un site def qui correspond le mieux à ma fonctionnalité de base puis écrire quelques fonctionnalités pour offrir le reste. La définition du site doit être utilisé pour fournir des choses qu'une fonction est plus difficile à faire comme autre page maître, thème, default.aspx, etc. Il est préférable pour ITPro d'utiliser ma définition de site pour construire ce réseau puis comprendre quelles sont les caractéristiques à Activate et dans quel ordre. Maintenant avec le CAML et le code de récepteur est un acte d'équilibrage. Parfois, vous pouvez le faire en CAML mais son plus rapide à écrire en code ou vice-versa. Je crois CAML déclarative est plus facile à capturer pour le contrôle de la source et peaufinage du serveur, mais tout ne peut pas être fait dans CAML comme les connexions WebPart et instanciation certaines parties Web. Chaque fois que vous avez la possibilité de définir votre propre ID, le faire -. Il est un soutien et extensibilité beaucoup plus facile

Personnellement, je préfère aller avec un maigre modèle de site, puis en utilisant la fonction agrafage. Je crée généralement une caractéristique mère qui a depedencies d'activation sur plusieurs caractéristiques de l'enfant. Je puis agrafer cette fonction de parent sur quelle que soit la définition du site. I raison comme ceci est que je peux désactiver et réactiver la fonction de mettre à jour le site existant. Il me permet aussi de créer un peu en utilisant un codage CAML et minimal.

J'utilise SPWebProvisioningProvider tout le temps d'avoir le contrôle quelles sont les caractéristiques d'activer quand et dans l'ordre que je veux. Est plus facile, je pense à devel et le site de débogage et des listes d'approvisionnement puis en utilisant ONET.XAML et CAML.

L'une des raisons j'utiliser des modèles du site (et j'écho les détails ci-dessus pour les garder propres caractéristiques et lien) est que je comme l'expérience de l'utilisateur final de sélectionner mon modèle personnalisé à partir de la page Sites Créer. L'ajout de nouveaux fichiers WEBTEMP est facile, la copie d'un modèle de site vide et modifing il est facile. Il permet au projet (si elle a besoin d'un modèle personnalisé) pour se lever et aller rapidement, yo obtenir la première automatisation WSP fait rapidement et travail à travers tout le cycle de vie de dev, avant de devoir creuser dans un code C #.

Si le projet exigeait que je dois modifier le site OOB, par exemple MySite, alors je toujours aller la fonction itinéraire agrafer.

J'ai développé mon propre petit cadre (trop grand mot) pour obtenir complète de mes évolutivité des solutions. Ce fut problème majeur pour la plupart de mes clients.

En bref: Je nourrissais mon cadre sur fonction (de) l'activation par quelques définitions CAML très simplifiée et j'ai couvert dans le code la plupart des choses souvent nécessaires (ajout / listes de mise à niveau, des récepteurs, des types de contenu, des colonnes de site, etc. ). En changeant mes définitions et par la réactivation de la fonctionnalité que je peux facilement faire des mises à niveau nécessaires à la solution déjà déployée (qui a été l'un des principaux objectifs). J'utilise un code supplémentaire dans le récepteur de fonction pour faire tous les autres « choses » qui ne sont pas couverts par mon cadre.

Je l'aime faire de cette façon, car en utilisant le code Je suis en charge de tous, je peux facilement trouver des erreurs, je peux résoudre même des scénarios complexes en très peu de temps et je peux réutiliser une solution avec facilité.

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