[Share] Creación de un Dashboard personalizado

Como sabemos en Share tenemos dos tipos de dashboard: El del usuario al logarse compuesto de sus dashlets:

Y el propio de un sitio cuando lo creamos:

Uno de los potenciales de Share es que prácticamente el 100% es modificable y personalizable, a fin de cuenta si navegáis por los archivos veréis que todas las acciones del Share no son más que simples webscripts, por lo que es relativamente sencillo personalizar nuestro Share según nos convenga.

Como aquí todo el mundo parte de cero (sí, pegándonos contra el portátil/PC hasta sacar lo que nos hayan pedido) pues he decidido ir publicando poco a poco las cosas que he ido descubriendo para que os vaya ahorrando quebraderos de cabeza. Recordad siempre: Hoy por ti, mañana por mí. =)

Hoy os voy a explicar cómo debéis hacer para personalizar un dashboard sea de un sitio o de los usuarios. Cosas a tener en cuenta antes de tocar nada:

  • Cuando damos de alta un nuevo dashboard de tipo sitio lo que realmente estamos es creando un nuevo tipo de sitio personalizado, es decir, que cuando hagamos la acción de “Crear Sitio” en el desplegable de las opciones aparecerá el nuestro personalizado (con el nombre y dashlets que hayamos definido).
  • El dashboard del usuario es común para todos los usuarios de nuestro sistema.
  • Si creamos un dashboard de cualquier tipo, todos los anteriores creados en nuestro share no se verán afectados. A partir de que nosotros lo creemos será efectivo el cambio al crear usuarios o un sitio de nuestro tipo.
  • Cuando se hace una personalización siempre tenemos en mente las llamadas buenas prácticas (extender dentro de ../tomcat/shared/ y no sobre ../share/WEB-INF/), pero en este caso detecté un bug en el que uno de los ficheros que modificamos no lo coge desde el web-extension, por lo que debemos extenderlo directamente en el despliegue (../webapps/share/WEB-INF..). Este bug está reconocido tanto para la 3.3.2 como para la 3.3.4, y sé que no está en la versión 3.2.x, por lo que de forma excepcional y si usáis alguna de estas distribuciones, deberemos desplegar directamente en el despliegue.
  • Todos estos archivos los sacaremos de dentro de ..webapps\share\WEB-INF\classes\alfresco\* Todo lo que queramos desplegar sobre shared\classes\alfresco\web-extension\ deberemos copiar y respetar la estructura de las carpetas.
  • P.e. si copiamos site-data\presets\preset.xml lo tomamos de dentro de WEB-INF\classes\alfresco\site-data\presets\preset.xml y copiaremos tal cual la estructura dentro de shared\classes\alfresco\web-extension\
    Pues bien, una vez explicados esos puntos vamos a pasar manos a la obra =)
    Archivos a modificar, ruta donde desplegaremos y breve explicación:

    * presets.xml
    $ALF_HOMEtomcatsharedclassesalfrescoweb-extensionsite-datapresetspresets.xml
    Archivo donde declararemos los  dashboards personalizados.
    create-site.get.js
    $ALF_HOME tomcatsharedclassesalfrescoweb-extensionsite-webscriptsorgalfrescomodulescreate-site.get.js
    Archivo que registra los diferentes dashboards que hay declarados en nuestro Share.
    create-site.get.properties
    $ALF_HOME tomcatsharedclassesalfrescoweb-extensionsite-webscriptsorgalfrescomodulescreate-site.get.properties
    Traducciones de los labels personalizados que hemos creado.

    7 pensamientos en “[Share] Creación de un Dashboard personalizado

    1. anYari

      Hola Cris!

      queria hacerte una consulta.. estamos trabajando en un proyecto de aula y biblioteca virtual, usaremos Alfresco como repositorio, quisiera saber que tanto se puede personalizar un dashboard o un site para incrustar ahi una barra de búsquedas con filtros, asi como en las bibliotecas virtuales, para las buscar libros que estarán en el alfresco. Y ademas darle a la interfaz aspecto de una biblioteca.
      Y en caso no se pueda que producto podria utilizar?

      Muchas Gracias por tu tiempo.

      Responder
    2. JSebastián

      La primera vez que lo inicias salta un error, pero no asustarse, reiniciamos el servidor virtual & el servicio y ya tenemos funcionando lo que hemos creado.

      Gracias por un artículo así Cristina =D

      Responder
    3. AlbertuX

      Hola Cris!

      Me ha hecho mucha gracia que el articulo que me ha ayudado sea del blog de mi sevillana favorita!! jajajaja

      La verdad es que me ha ido muy bien para personalizar el dashboard de los usuarios, pero hay una cosa que me gustaría hacer, pero con este metodo no he encontrado manera (no sé si se puede) que es que por defecto el usuario al entrar a un site, vea la biblioteca de documentos, o que directamente no vea el dashboard, pq no me interesa… seguiré peleando!!

      Gracias por los aportes de tu gran blog Cris!

      Responder

    Deja un comentario