SharePoint: cuadro de diálogo Cadena de conexión durante el evento FeatureActivated

StackOverflow https://stackoverflow.com/questions/8849

  •  08-06-2019
  •  | 
  •  

Pregunta

¿Alguien sabe si es posible mostrar un mensaje a un usuario/administrador al activar o instalar una función de SharePoint?

Estoy escribiendo un elemento web personalizado y se está conectando a una base de datos separada. Me gustaría permitir que el administrador seleccione o escriba una cadena de conexión al instalar el archivo .wsp o activar la función.

Estoy mirando dentro del evento FeatureActivated y pensando en usar la clase SPWebConfigModification para escribir la cadena de conexión a los archivos web.config en la granja.

No quiero editar manualmente web.configs ni codificar la cadena en la DLL.

Si tiene otros métodos para manejar cadenas de conexión dentro de SharePoint, también me interesarían.

¿Fue útil?

Solución

Desafortunadamente, no hay forma de cambiar a una pantalla donde pueda obtener usuarios a través del proceso de activación de funciones.Un par de comentarios para ti:

  1. Supongo que la cadena de conexión será diferente para cada instalación, por lo que no hay forma de incluirla directamente en la Solución.
  2. Supongo que no se pudo construir esto mediante programación durante la instalación.

Por lo tanto, necesita alguna forma de obtener la opinión del usuario.Aquí hay un par de opciones:

  1. Podría ser una propiedad del elemento web, aunque esto significaría configurarla cada vez que se agregue el elemento web, y luego deberá mantener esa configuración individualmente.
  2. Podrías crear tu propia pantalla de configuración de _layouts (buena publicación: http://community.zevenseas.com/Blogs/Robin/archive/2008/03/17/lcm-creating-custom-application-page-and-using-the-propertybag-more-detailed.aspx), y desde allí los usuarios pueden mantener la propiedad, almacenándola en la bolsa de propiedades web o dentro de Web.Config.Intento evitar el uso de Web.Config siempre que puedo, pero si deseas seguir este camino, ASEGÚRATE de utilizar la clase SPWebConfigModification (lee este fantástico blog: http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=32)
  3. Finalmente, una técnica que uso frecuentemente es almacenar información de configuración en una lista de SharePoint.Chris O'Brien tiene un excelente marco para eso aquí: http://www.codeplex.com/SPConfigStore

Espero que ayude, Daniel

Otros consejos

Suena bien.Miraré estas posibles soluciones.

No creo que el n.º 1 funcione, ya que estoy implementando varios elementos web dentro de una única solución y todos usan la misma cadena de conexión.

#3 suena como una solución muy limpia.Veo que los elementos de configuración están almacenados en caché, por lo que parece que si necesito almacenar una cadena de conexión, no recibiré una búsqueda de SP cada vez que necesite esa cadena.

Mientras buscaba una solución, encontré otro método.

Si investiga su código, parece que han creado un instalador que acepta valores específicos de la aplicación, agrega los valores en un archivo FeatureTemplate.xml y los pasa al objeto SPFeatureReceiverProperties en el Reciever.

Estaba a punto de empezar a abordar este método, pero creo que el número 3 sería mejor.

Gracias Keith

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top