6
votes

Quelle est la bonne façon de stocker des variables globales au niveau du site sur un site SharePoint?

Une chose qui a conduit moi-même sur SharePoint2007 est l'incapacité apparente d'avoir des paramètres définis qui s'appliquent spécifiquement à un site ou à une collection de site elle-même, et non le contenu. Je veux dire, vous avez des paramètres prédéfinis tels que le logo du site, le nom du site et diverses autres choses, mais il ne semble pas y avoir nulle part pour ajouter de nouveaux types de paramètres.

L'application Je travaille doit être en mesure de créer plusieurs types de "collections de site de projet" qui suivent tous un modèle de base, mais ont certains paramètres supplémentaires qui s'appliquent spécifiquement à cette collection de sites et que l'une seule. En plus du nom de site standard, nous devons également définir le numéro de projet, le nom du projet et le nom du client. Et compte tenu des demandes de certains de nos clients, nous atteignons également un point où nous devons avoir des paramètres configurables qui modifient comment certains des flux de travail fonctionnent, comme si des fichiers sont marqués de lettres ou de chiffres.

Notre solution actuelle, que je suis hésitant, vous devez stocker un fichier XML sur le serveur SharePoint. Ce fichier contient un nœud pour chaque collection de sites, identifiée par l'URL du site racinaire. À l'intérieur du nœud, tous les éléments doivent être définis pour cette collection de sites. Lorsque nous avons besoin d'eux, nous devons accéder au fichier XML (qui nécessitera toujours SPSecurity.RunWithheLevachedprivileges pour accéder à des fichiers directement sur le serveur) à chaque fois pour le charger et récupérer les données. Il y a beaucoup de processus automatisés qui devront faire cela et je suis hésitant à la stabilité de cette méthode lorsque nous atteignons des centaines de sites avec des milliers de fichiers exécutant des dizaines de milliers de flux de travail, tous souhaitant accéder à ce fichier. Peut-être qu'ils sont des inquiétudes sans fondement, mais je préférerais m'inquiéter que tout risque dans quelques années.

Je regarde dans l'objet SPWeb et j'ai trouvé le AllProperties Hashtable. On dirait que le genre de chose qui pourrait fonctionner, mais je ne sais pas à quel point il est sécurisé de la modifier. J'ai lu à la fois MSDN et SDK WSS, mais je n'ai trouvé rien qui a clarifié sur l'ajout de nouvelles propriétés dans AllProperty . Est-il sécuritaire d'utiliser AllProperty pour ce genre de chose? Ou existe-t-il une autre caractéristique que je manque, ce qui pourrait gérer le concept de variables globales sur la collecte de site ou la portée du site?


0 commentaires

3 Réponses :


1
votes

La propriété peut être utilisée pour stocker les propriétés de type clé / valeur. Je pense que c'est destiné à ce que vos fins semblent être.

Personnellement, j'ai plus besoin de propriétés de collecte entre sites (telles que les chaînes de connexion DB) et j'utilise Ceci pour stocker ceux-ci.


0 commentaires


5
votes

La manière recommandée de le faire est d'utiliser le bien de propriété (paires de clé / valeur) via les .properties de SPFARM, SPWEB.ROOTWEB (pour collections de site), SPWeb, Splist, etc. (en fonction de la portée dont vous avez besoin). < p> MSDN - La bibliothèque de guidage SharePoint

voir Gestionnaire de configuration hiérarchique

Cela vous donne un accès programmatique à lire / écrire ces valeurs. Si vous voulez le faire sans utiliser la bibliothèque de guidage, vous utiliseriez quelque chose comme le code suivant. xxx

Si vous souhaitez que l'interface utilisateur autorise des administrateurs à définir facilement les valeurs. Utilisez SharePoint Designer (Urghhhh!) Ou quelque chose comme Paramètres de la propriété SharePoint


2 commentaires

J'ai écrit une page d'application personnalisée pour définir ces valeurs, sans soulever aucun designer SharePoint. Merci pour les articles, il a non seulement mis en évidence les options, mais également aidé à clarifier l'applicabilité des propriétés d'AllProperty par rapport aux propriétés. Cela ressemble à la voie à suivre!


Plus de confusion pour vous - TrentaCular.com/2009/06/... < / a> Je ne sais pas que je suis d'accord avec l'auteur cependant - je pense que les propriétés sont la voie à suivre - il convient toutefois de noter la sensibilité de l'affaire.