Pregunta

Me gustaría crear una biblioteca de documentos personalizada donde use la interfaz de usuario estándar pero implemente una capa de persistencia diferente. Básicamente, busque y muestre documentos de un sistema de origen diferente. De esta manera puedo usar mi modelo de objetos existente pero aprovechar la excelente integración de Office dentro de SharePoint.

Encontré un artículo decente aquí pero están engañando, han codificado uno completamente nuevo IU para la persistencia externa.

He mirado los objetos SPList y SPDocumentLibrary pero no puedo anular los métodos necesarios.

He examinado el marco de eventos y está más cerca, pero carece de eventos importantes como 'GetFile' o 'PopulateList'.

¿Alguna idea?

¿Fue útil?

Solución

Esto no es perfecto (o probablemente incluso un & "; bueno &";) adecuado para lo que está tratando de hacer, pero lo menciono principalmente para conciencia y posiblemente para darle algo adicional ideas (y advertencias).

La arquitectura de almacenamiento de SharePoint aprovecha dos almacenes de back-end diferentes: uno para metadatos (siempre las bases de datos SQL de SharePoint) y otro para almacenamiento BLOB (también SQL de forma predeterminada). Sin embargo, en su forma actual, SharePoint le permite & Quot; conectar & Quot; su propio proveedor de almacenamiento BLOB a través de un tipo que implementa la interfaz ISPExternalBinaryProvider. El cableado en un tipo que implementa esta interfaz le permite continuar almacenando metadatos en SQL mientras almacena documentos y otros tipos de elementos BLOB en un almacén diferente de su elección.

Esto probablemente suena algo prometedor, pero hay un par de consideraciones serias:

  1. El cableado de su propio ISPExternalBinaryProvider tiene un impacto en toda la granja. Es todo o nada, así que una vez que el proveedor esté conectado, todos los sitios y bibliotecas utilizarán el nuevo proveedor.

  2. Tendrá que sumergirse en el código no administrado, ya que el ISPExternalBinaryProvider está haciendo lo necesario para que trabaje con algún IDL.

Puede leer más aquí: http://msdn.microsoft.com /en-us/library/bb802976.aspx

Mi opinión es que el sistema de almacenamiento externo BLOB (EBS) es algo así como un & "prototipo &"; en este punto, no está listo para el horario estelar. Sin embargo, si nada más, te da algo en qué pensar. Con suerte, SharePoint Server 2010 hará más con él y lo hará más atractivo y fácil de implementar.

¡Por lo que vale!

Otros consejos

He implementado la persistencia de SQL en una biblioteca de formularios mediante el uso de un flujo de trabajo de persistencia que se ejecuta en la creación y actualización de los documentos de la biblioteca.

Creé un proyecto de flujo de trabajo de Office SharePoint 2007 en Visual Studio 2008, recuperé el contenido de mi documento SPItem y extraje los datos relevantes del XML generado por InfoPath WebForm y lo guardé en una base de datos.

Si realmente quiere lograr su propia persistencia externa, eche un vistazo a este nuevo y extenso artículo de junio en TechNet:

http://technet.microsoft.com/en-us /magazine/2009.06.insidesharepoint.aspx

Ahora, dame la recompensa. ;)

Lamento decirlo, pero ISPExternalBinaryProvider es la única forma de hacerlo, me temo que si quieres usar la interfaz de usuario estándar.

P.S. Otro revés importante es que es una pesadilla de copia de seguridad / versiones. Ni siquiera estoy seguro de si las versiones son compatibles.

Quizás SharePoint 2010 tendrá una mejor manera de hacer esto ...

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