Tener Multi-Tenancy con administración centralizada

cancel
Showing results for 
Search instead for 
Did you mean: 
nemrp
Member II

Tener Multi-Tenancy con administración centralizada

Buenas.

Tengo una duda. A ver, quiero tener un Alfresco 3.4 con las ventajas del Multi-Tenancy, pero sin los inconvenientes (entiéndase ventajas e inconvenientes para lo que necesito :winkSmiley Happy. Es decir, me gustaría tener un Alfresco que permitiera el acceso a distintos content store (almacenes) en función del usuario o grupo (lo que se podría hacer con Multi-Tenancy), pero sin perder, a parte de funcionalidades ya de por sí por el Multi-Tenancy, la administración centralizada en un único punto (el repositorio original o padre) para no tener que administrar cada Tenant de manera independiente.

¿Es posible?.
7 Replies
pjcaracuel_2349
Active Member II

Re: Tener Multi-Tenancy con administración centralizada

Buenas,

Parto de la base que a mi el Multi-Tenacy no me acaba de convencer, en todo caso soy mas partidario del Transfer Service
http://wiki.alfresco.com/wiki/Transfer_Service

Pero lo de almacenar en distintos content store, te lo da el Content Store Selector.
http://wiki.alfresco.com/wiki/Content_Store_Selector

Yo evaluaria esta opcion, sino te convence, ya podriamos mirar tu opcion.

Un Saludo
nemrp
Member II

Re: Tener Multi-Tenancy con administración centralizada

Buenos días pjcaracuel. Muchas gracias por tu respuestas.

Perdona la tardanza en responderte pero he estado, entre otras cosas, implementando el Content Store Selector, según la wiki (enlace que me has pasado). He de decirte que la ide me gusta, pero creo que no cumple con los requisitos que necesito. En primer lugar te cuento qué es lo que he hecho y después los problemas con los que me he encontrado.

Como comentaba he seguido en enlace de la wiki al pie de la letra, salvo que he dejado el content sotore inical que ya tenía y he creado el A y B. Es decir, tengo tres content store: "contentstore", "storeA" y "storeB". Hasta aquí todo perfecto. He configurado también en el "web-client-config-custom.xml" el aspecto (exactamente igual que en la wiki). Y por último he asignado, mediante reglas, la asociación de de dicho aspecto a los contenidos que se creen o suban en ellos. Mi idea es que en uno de los espacios (spaceA) los contenidos vayan al "storeA" y en en el otro (spaceB) vayan al "storeB".

Bien, hasta aquí sin problema alguno. Subo un archivo al "spaceA" y en la edición de los metadatos me aparece el nuevo (Store Name). Un campo de texto que me permite introducir el almacén en el que quiero que quede el archivo que estoy subiendo. Y aquí comienzan los problemas/dudas:

  1. Da igual la cadena de texto que introduzca en dicho campo que siempre obtengo el mismo error
  2. Por favor, corrija los errores de abajo y luego pulse en Aceptar.

        * Se produjo un error del sistema durante la operación: 10230028 Found 1 integrity violations: Invalid property value: Node: workspace://SpacesStore/f16b6e53-3d27-4e3a-b9b9-456cbb80e18f Type: {http://www.alfresco.org/model/content/1.0}storeSelector Property: {http://www.alfresco.org/model/content/1.0}storeName Constraint: 10230027 The value is not an allowed value: storeA
    Da igual la cadena, he probado incluso con la cadena completa, que está definida en el "alfresco-global.properties". Así pues, no he logrado que el archivo acabe estando en el "storeA".
  3. Suponiendo que al final consiga almacenar contenidos en los distintos almacenes, me planteo si sería posible después acceder a ellos desde la misma interfaz (Explorer o Share). Sé que en la wiki pone que realmente se realiza una copia, pero yo no busco esto, sino más bien aligerar de contenidos los alameces. Es decir, busco que se muevan y no que se copien. Si no es posible hacerlo por defecto tendería que hacerlo medienta reglas.

  4. La idea que yo tenía era que el sistema discriminase en función del usuario que se loga y mostrase los contenidos del almacén correspondiente a dicho usuario. Creo que con el Content Store Selector esto, así tal cual, no es posible, ¿no?.
Un saludo y muchas gracias por tu ayuda.
pjcaracuel_2349
Active Member II

Re: Tener Multi-Tenancy con administración centralizada

Buenas,

Lo del error tendria que mirarlo con mas detalle, pero las veces que he visto en vivo su implementacion ha funcionado.



Respecto a tus dudas, creo que estas confundiendo el almacenamiento fisico, con el "logico".
Me explico, todos los contenidos estaran accesibles desde Share o Explorer, dependiendo de los permisos del usuario para cada contenido, no por la ubicacion,  ahora bien y creo que esta es tu confusion: Tu puedes tener un mismo deposito o "espacio" en Alfresco, y sus contenidos estar en distintas ubicaciones fisicas (contentStoreA,contentStoreB……).

Por tanto el tema del usuario es secundario, me explico, si tu quieres que los contenidos de un determinado grupo de usuarios se muevan a un storeX, se puede hacer sin problemas con reglas, pero es almacenamiento fisico, no logico.

Creo haberme explicado bien, pero si no, que es lo ma seguro, no dudes en preguntar.

Saludos
nemrp
Member II

Re: Tener Multi-Tenancy con administración centralizada

Efectivamente, no sólo he confundido el almacenamiento físico con el lógico, sino que no me he explicado bien. Realmente, ahora que lo releo todo, creo sería posible redirigir físicamente el almacenamiento de contenidos con tan sólo crear un nuevo parámetro en el alfresco-global.properties.

<bean id="secondSharedFileContentStore" class="org.alfresco.repo.content.filestore.FileContentStore">
      <constructor-arg>
         <value>${dir.root}/storeB</value>
      </constructor-arg>
   </bean>
Donde ${dir.root} podría ser ${dir.storeA} definido convenientemente en dicho archivo y apuntando a otra zona física. Así, todo contenido que, mediante una regla, se cree/suba a un espacio concreto se estará almacenando físicamente en otro almacén sin que la lógica se vea afectado.

¿Estoy diciendo alguna locura?. ¿Podrían estar dos o más almacenes en distintos discos duros inclusive utilizando el Content Store Selector de esta forma?.

Un saludo.
pjcaracuel_2349
Active Member II

Re: Tener Multi-Tenancy con administración centralizada

Para nada, estas diciendo lo que es el Content Store Selector. Esa es su utilidad, poder tener distintos puntos de almacenamiento para que dependiendo de la importancia o peso o cualquier otra característica del documento se alamacene en una disco o en otro (fisicamente hablando).

Saludos
nemrp
Member II

Re: Tener Multi-Tenancy con administración centralizada

Pues entonces sólo me queda solventar dos cosas:
  1. Lograr el almacenamiento real en otro almacén, es decir, solucionar el error que mostraba en el post anterior.

  2. Ver de qué forma el campo de selección del almacén se puede rellenar de manera automática. Estoy pensando, por ejemplo, en una aplicación que sube un archivo a un espacio que posee una regla para que todo lo que se cree o suba vaya a otro almacén. Me pregunto, ¿podría la aplicación rellenar ese campo?, ¿se podría rellenar de manera automática, por ejemplo, mediante otra regla?.
Un saludo.
pjcaracuel_2349
Active Member II

Re: Tener Multi-Tenancy con administración centralizada

Buenas,

El segundo punto, lo podrias hacer creando un javascript para que lo ejecute laregla, y ahi pones la logica que necesites para que dependiendo de x factores, le asigne el aspecto del content store selector con el valor deseado.

Saludos