2008-08-12 26 views
2

Est-ce que quelqu'un sait s'il est possible d'afficher une invite à un utilisateur/administrateur lors de l'activation ou de l'installation d'une fonctionnalité sharepoint? J'écris un webpart personnalisé et il se connecte à une base de données séparée, je voudrais permettre à l'administrateur de sélectionner ou saisir une chaîne de connexion lors de l'installation du fichier .wsp ou de l'activation de la fonctionnalité.Boîte de dialogue SharePoint - Chaîne de connexion au cours de l'événement FeatureActivated

Je regarde dans l'événement FeatureActivated et pense à utiliser la classe SPWebConfigModification pour écrire réellement la chaîne de connexion aux fichiers web.config de la batterie.

Je ne veux pas éditer manuellement les web.configs ou coder en dur la chaîne dans la DLL.

Si vous avez d'autres méthodes pour gérer les chaînes de connexion à l'intérieur du point de partage, cela m'intéresserait également.

Répondre

1

Malheureusement, il n'y a aucun moyen d'échanger vers un écran où vous pouvez obtenir l'utilisateur via le processus d'activation de fonctionnalité. Couple de commentaires pour vous:

  1. Je suppose que la chaîne de connexion va être différente pour chaque installation, donc vous ne pouvez pas l'inclure directement dans la solution.
  2. Je suppose que vous ne pouviez pas construire par programme lors de l'installation.

Par conséquent, vous avez besoin d'un moyen d'obtenir une entrée utilisateur. Voici quelques options:

  1. Il pourrait être une propriété de partie Web, bien que cela signifierait le mettre à chaque fois la partie Web a été ajouté, et vous devez maitain alors ces paramètres individuellement.
  2. Vous pouvez créer votre propre écran de configuration _layouts (bon message: http://community.zevenseas.com/Blogs/Robin/archive/2008/03/17/lcm-creating-custom-application-page-and-using-the-propertybag-more-detailed.aspx), et à partir de là, les utilisateurs peuvent gérer la propriété, en la stockant dans le sac Web Property ou dans Web.Config. J'essaie d'éviter d'utiliser le Web.Config où je peux, mais si vous voulez suivre cette route alors assurez-vous d'utiliser la classe SPWebConfigModification (Lire ce grand blog: http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=32)
  3. Enfin, une technique que j'utilise souvent est de stocker informations de configuration dans une liste SharePoint. Chris O'Brien a un cadre pour que ici: http://www.codeplex.com/SPConfigStore

espoir qui aide, Daniel

0

Ça sonne bien. Je vais regarder ces solutions possibles.

Je ne pense pas que le # 1 fonctionnera puisque je déploie plusieurs webparts dans une même solution qui utilisent toutes le même connectionString.

# 3 ressemble à une solution très propre. Je vois que les éléments de configuration sont mis en cache, donc il semble que si j'ai besoin de stocker une chaîne de connexion, je ne serai pas frappé avec une recherche de SP chaque fois que j'ai besoin de cette chaîne.

While searching for a solution I did stumble across another method.

Si vous creusez autour de leur code, je regarde comme ils ont créé un programme d'installation qui accepte l'application des valeurs spécifiques, ajoute les valeurs dans un fichier FeatureTemplate.xml et les transmet aux SPFeatureReceiverProperties objet dans le Reciever.J'étais sur le point de commencer à aborder cette méthode, mais je pense que # 3 serait mieux.

Merci, Keith