Posteriormente a investigar con expertos en este tema, programadores de varias áreas y maestros hemos dado con la respuesta al problema y la dejamos plasmada en este post.
Solución:
¿Ha echado un vistazo al catálogo de datos empresariales (BDC) en Moss 2007?
El BDC (renombrado como Servicios de conectividad empresarial en SP2010) es una función lista para usar que permite que los datos empresariales externos (en su caso, una lista de oficinas) aparezcan dentro de las colecciones de sitios de SharePoint sin escribir ningún código.
Puede que no se ajuste perfectamente a sus requisitos, ya que si realmente desea almacenar la lista de oficinas dentro de SharePoint, es posible que deba escribir algo para moldear los datos en una forma que le guste al BDC, pero probablemente valga la pena jugar alrededor para tener una mejor idea de su funcionalidad (+/- peculiaridades, etc. 😉
http://msdn.microsoft.com/en-us/library/ms563661(v=office.12).aspx
Tendría sentido almacenar lógicamente los datos en una aplicación web raíz donde todos puedan tener acceso para actualizar la información. Con algunos metadatos y varias vistas, puede dividir la información muy fácilmente para que los equipos la digieran.
Para consumir la información en otros lugares, puede usar elementos web de visor de página o usar elementos web de vista de datos para extraer los datos.
Otra posibilidad sería tener una lista maestra central de información básica a nivel raíz. Luego cree listas secundarias específicamente para equipos individuales que necesitan ampliar esa información. Esas listas secundarias podrían usar columnas de búsqueda para hacer referencia a datos para crear relaciones. Con los elementos web de vista de datos, podrá insertar subvistas unidas para poder ver los datos básicos de un usuario y, a continuación, ver el inventario asignado al usuario, por ejemplo.
Las columnas de búsqueda no funcionan a través de los límites de la colección de sitios. Esto es por diseño y tiene sentido teniendo en cuenta que las colecciones de sitios se pueden colocar en diferentes bases de datos de contenido.
Puedo ver dos posibles estrategias para abordar su problema:
- Replicar datos entre colecciones de sitios
- Mantenga los datos en un solo lugar y haga referencia a los datos en las colecciones de sitios
Estoy seguro de que hay muchas soluciones para ambas estrategias. Por lo tanto, no considere los siguientes ejemplos como una lista completa de posibilidades.
Replicar datos
Crea una lista de SharePoint con las oficinas de su empresa, digamos en la colección de sitios raíz de su granja de servidores de SharePoint. Agrega un campo GUID a la lista de oficinas para tener un identificador único e independiente para cada entrada en la lista. Cree un receptor de eventos ItemAdded, ItemUpdated y ItemDeleted en esa lista para replicar estos cambios en las listas de “consumidores” en otras colecciones de sitios. En las colecciones de sitios de “consumidor”, puede usar columnas de búsqueda estándar de SharePoint dentro de estas colecciones de sitios para hacer referencia a datos de la lista de oficinas.
Una solución disponible para la replicación de datos podría ser este componente (sincronice la lista raíz con una tabla en la base de datos y conecte las listas de ‘consumidores’ a esa tabla): http://www.layer2.de/en/products/Pages/SharePoint-Business -Conector de lista de datos.aspx
Dato de referencia
Puede crear un campo de búsqueda personalizado que se puede usar en todas las colecciones de sitios. En las listas de la colección de sitios de ‘consumidor’, utilice este tipo de campo para hacer referencia directamente a la información de la lista de oficinas en la colección de sitios raíz. Definitivamente tendrá que resolver el problema de cómo actualizar los datos a los que se hace referencia, porque su campo personalizado tendrá que almacenar una copia del valor seleccionado (por ejemplo, la dirección) cuando se cree el elemento de la lista en la colección de sitios del ‘consumidor’.
Una solución de terceros existente para esto podría ser la búsqueda entre sitios de SharePointBoost.
Actualizar:
Un enfoque OOTB para replicar los datos podría ser usar el componente Conector de lista de datos comerciales mencionado anteriormente de Layer2 y conectarlo a la fuente RSS (feed.aspx) de la lista raíz. El componente Layer2 puede consumir archivos XML y el archivo feed.aspx se puede personalizar con un XSLT para tal fin.
Aquí tienes las comentarios y valoraciones
Recuerda que puedes dar difusión a esta reseña si te valió la pena.