Seguramente, si habéis desarrollado alguna solución para SharePoint, más allá de los típicos webparts, habréis necesitado almacenar “parámetros” de configuración, por ejemplo, la URL de un servicio web en Azure, tu AppId para usar Bing Maps, etc.

Existen varias opciones para hacer esto, yo hoy os voy a hablar de usar las PropertyBags. En SharePoint, la mayoría de los objetos, tienen una propiedad “Properties” que suele ser un HashTable o un SPPropertyBag para poder almacenar propiedades en modo key-value.

Algunas clases que contienen esa propiedad son:

Si queremos provisionar valores a ese campo de forma declarativa, lo podemos hacer usando un elemento Module, de Visual Studio.

En su Elements,xml, usaremos el nodo PropertyBag. En el MSDN está perfectamente explicado el significado de cada propiedad. Yo os dejo un ejemplo de uso de todas las combinaciones posibles:


































Con esto, al desplegar nuestra solución, provisionaremos esas Properties a nuestros elementos (webs, ficheros o items de listas).

Para acabar, un simple ejemplo de como iterar por esa bolsa de propiedades. En este caso, recorremos las Properties del SPWeb raíz:














Espero que os sirva.

Un saludo!!