30 de junio de 2016

:: Alfresco. Deshabilitar la creación de sitios para usuarios no administradores

Para deshabilitar la opción de "crear sitio" a todos aquellos usuarios que no sean administradores, debemos seguir los pasos siguientes:


1.- Buscaremos el fichero "sites.get.html.ftl" ubicado en la siguiente ruta "C:\Alfresco\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\modules\header" y lo copiaremos a la ruta: "c:\alfresco\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\modules\header"

2.- Editamos este fichero y buscamos el  código siguiente: "< ul class="create-site-menuitem" >". El código que tenemos que controlar es el siguiente:
<#if showCreateSite>
 <ul class="create-site-menuitem">
<li>
<a href="#" onclick="Alfresco.util.ComponentManager.get('${id_js}').showCreateSite(); return false;">${msg("label.create-site")}</a>
</li>
 </ul>
</#if>


Añadiremos la comprobación para que esta acción sea ejecutada únicamente por los usuarios administradores.
<#if user.isAdmin>
< #if showCreateSite >
 < ul class="create-site-menuitem" >
< li >
< a href="#" onclick="Alfresco.util.ComponentManager.get('${id_js}').showCreateSite(); return false;">${msg("label.create-site")}< /a>
< /li >
 < /ul >
< /#if >
</#if>


3.- Buscamos el fichero "my-sites.get.html.ftl" ubicado en la siguiente ruta "${alfresco}\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets" y lo copiamos en la siguiente ubicación "${alfresco}\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\componentes\dashlests\"

4.- Editamos el fichero que hemos copiado y buscamos el código "createSite-button" y lo modificaremos de la siguiente manera:
< #if showCreateSite >
< span class="first-child" >
< #if user.isAdmin >
< a href="#" id="${id}-createSite-button" class="theme-color-1 " >
< img src="${url.context}/res/components/images/site-16.png" style="vertical-align: text-bottom" />
${msg("link.createSite")}< /a >
< /#if >
< /span >
< /#if >




28 de junio de 2016

:: Alfresco. Modificar la página de login

En el siguiente "Tip" describiré los pasos a seguir para personalizar la página de login (adaptación gráfica sin grandes cambios), para lo que debemos seguir los siguientes pasos:


1.- Necesitamos mostrar una imagen de fondo.
En el tema que hemos creado, buscaremos en el fichero "presentation.css" los estilos correspondientes al login.
body.alfresco-guest
{
   background: none;
 }

Modificamos estos estilos según nuestras necesidades, por ejemplo:
body.alfresco-guest
{
   background: transparent url('./images/alfresco-logo-bg.jpg') no-repeat;
   background-position: center center;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
   background-size: cover;
 }

La imagen de fondo, a la que la hemos llamado "alfresco-logo-bg.jpg" debemos copiarla en la  carpeta "images" de nuestro tema.

2.- Cambiaremos el logo de la organización.
Para ello copiaremos el logo, al que hemos llamado: "logo.png" en la carpeta "images" de nuestro tema.

3.- Otras imágenes que deberemos modificar son las siguientes:
  • app-logo.png
  • app-logo-48.png
  • app-logo-share.png

Algunos de los pasos anteriores ya habían sido descritos en otro post donde indicábamos cómo crear un nuevo tema.

27 de junio de 2016

:: Alfresco. Cómo añadir nuevos literales a Share

Como vimos en otros posts anteriores correspondientes a la creación de tipos personalizados de datos, a la hora de utilizarlos en Share no disponíamos de las traducciones de las etiquetas, por lo que describiremos a continuación los pasos necesarios para que sean reconocidas por Share.

Debemos crear el fichero denominado "custom-slingshot-application-context.xml" en la carpeta "${alfresco}/tomcat/shares/classes/alfresco/web-extension/" con el siguiente contenido (podemos copiar el fichero "custom-slingshot-application-context.xml.sample" y modificarlo).
< beans >
    < bean class="org.alfresco.i18n.ResourceBundleBootstrapComponent" 
         id="NETIC360slingshot.resources" >
        < property name="resourceBundles" >
            < list >
  < value >alfresco.web-extension.messages.NETIC360slingshot< /value >
            
< /property > < /bean > < /beans >

Mediante este fichero le indicamos a Alfresco que debe buscar el fichero "NETIC360slingshot.properties" del que extraerá las traducciones de los literales especificados.

En la siguiente ruta "${alfresco}/tomcat/shared/classes/alfresco/web-extension/messages/" crearemos el fichero "NETIC360slingshot.properties" (fichero de texto) con los literales a utilizar. Por ejemplo:
### Traducciones NETIC360

type.exp_expedienteNETIC360=Expedientes NETIC360

search.form.desc.exp_expedienteNETIC360=Busca todos los expedientes


Tras reiniciar el servicio de Alfresco - y si todo ha ido bien (comprobación de los logs) - los nuevos literales se mostrarán en Alfresco Share con las traducciones especificadas.

NOTA: Para el problema de las tildes y caracteres acentuados, los ficheros con los literales los crearemos con la codificación: ANSI

26 de junio de 2016

:: Alfresco. Crear un tema en la versión 5

A menudo en los proyectos de implantación de alfresco se hace necesaria una personalización de la interfaz del gestor documental para adaptarla a la línea gráfica del cliente.

Por este motivo para llevar a cabo esta adaptación realizaremos una serie de pasos.

Creación de un tema

Para llevar a cabo la creación de un nuevo tema, partiremos de uno ya disponible. Para ello copiamos por ejemplo la carpeta: "greenTheme" ubicado en: "${alfresco}\tomcat\webapps\share\themes".

Renombramos esta carpeta greenTheme al nombre de nuestro tema, por ejemplo: "netic360Theme".
En el fichero "presentation.css" y skin.css sustituiremos el literal "-greenTheme" por "-netic360Theme".
Además en la carpeta : "images" modificaremos todas aquellas que sea necesario, manteniendo su nombre para no tener que llevar a cabo modificaciones adicionales.

Estructura del fichero .AMP

La estructura del fichero AMP correspondiente al tema es la siguiente:
module.properties
file-mapping.properties
config
     alfresco
          site-data
               themes
                    netic360.xml
web
     favicon.ico
     componentes
          images
               alfresco-share-logo.png
               alfresco-logo-bg.png
     modules
         images
              about-bg.png
     themes
          netic360
               presentation.css
               images
               yui
                    assets  

module.properties: Se definen una serie de propiedades del tema que estamos creando. Además en este fichero se podrían establecer las versiones máximas y mínimas de Alfresco para el que es válido este tema.
El contenido de este fichero podría ser algo similar a lo siguiente:
# Netic360 Theme module properties
module.id=org.alfresco.module.netic360
module.version=0.1
module.title=Alfresco Share Netic360 Theme
module.description=Alfresco Share Netic360 Theme

file-mapping.properties: Fichero donde se mapea la estructura que tendrá el fichero .AMP
Podría ser algo similar a lo siguiente:
###Netic360
include.default=true

/web=/
/config=/WEB-INF/classes/

La línea "include.default=true" indica que la estructura del fichero .AMP es la establecida por defecto.

netic360.xml: Fichero necesario donde se define el literal que aparecerá al seleccionar el tema a aplicar.
El contenido de este fichero es XML es el siguiente:
< ?xml version='1.0' encoding='UTF-8'? >
< theme >
    < title >Netic360< /title >
< /theme >

favicon.ico: Representará el favicon de nuestro Alfresco ya que lo sobreescribiremos en el momento de desplegar el fichero .amp

alfresco-logo-bg.png: Imagen a mostrar como fondo de página en el control de acceso. La renombramos de esta manera para no tener que llevar a cabo modificaciones adicionales

alfresco-share-logo.png: Imagen a mostrar en el pie de página. La renombraremos de esta manera para no tener que llevar a cabo modificaciones adicionales

about-bg.png: Imagen que se mostrará como fondo en el "Acerca de" de la aplicación

Dentro de la carpeta "web>themes>netic360" se encuentra la estructura del tema del que partimos por lo que modificaremos todas aquellas imágenes que sea necesario.
Otro de los ficheros principales a modificar es:
presentacion.css: Fichero donde se definen los estilos para los distintos elementos del tema que nos ocupa

Como desplegar un fichero AMP

Para desplegar el tema que hemos creado de acuerdo a la estructura anteriormente descrita, ejecutamos la sentencia:

"java –jar  alfresco-mmt.jar netic360-theme.amp share.war –verbose"

Puede que sea posible utilizar la opción -force para "forzar" sobrescribir los ficheros necesarios.

Posteriormente tendremos que llevar a cabo otras modificaciones para personalizar el "Acerca de", el pie de las páginas, etcétera, pero el fichero AMP básico correspondiente a la definición de un tema es el descrito anteriormente.

23 de junio de 2016

:: Google Nik Collection. Ahora gratis

Hace unos meses Google anunció que comenzaba a ofrecer de manera gratuita esta suite de herramientas para procesamiento de imágenes.
Esta suite, que Google compró a una empresa hace años y que posteriormente comercializaba por unos 150$, está compuesta por una serie de herramientas:
  • Analog Efex Pro. Permite emular los resultados obtenidos con cámaras y películas analógicas
  • Color Efex Pro. Filtros para retocar colores y obtener efectos cromáticos interesantes
  • Silver Efex Pro. Herramienta para el revelado en blanco y negro
  • Viveza. Nos permite trabajar de forma precisa con el color y las tonalidades.
  • HDR Efex Pro. Permite generar imágenes HDR (High Dynamic Range)
  • Sharpener Pro. Permite manejar el nivel de nitidez de las imágenes
  • Dfine. Permite reducir el ruido de las imágenes preservando la definición

Más información y descarga en la web oficial de Google Nik Collection

21 de junio de 2016

:: Liferay. Modificar la instancia por defecto

Sobre una misma instalación de Liferay es posible mostrar distintos portales, organizados estos en instancias. Normalmente existe definida una instancia por defecto, por lo que si en un momento determinado necesitamos modificar cual de los portales será el establecido por defecto, debemos insertar el siguiente código en el fichero: "portal-ext.properties"

company.default.web.id=otroIdentificador

14 de junio de 2016

:: Liferay. Deshabilitar la suplantación de usuarios

Desde el panel de administración de Liferay, el usuario puede llevar a cabo la tarea de suplantar la identidad de un usuario definido en la plataforma, por diversos motivos (comunmente para comprobar permisos asignados).



En el caso de que necesitemos deshabilitar la suplantación de usuarios en nuestro portal, especificaremos la siguiente línea en el fichero: "portal-ext.properties".
portal.impersonation.enable=false

Tras añadir la línea anterior y reiniciar el servicio, la opción de "suplantar usuario" ya no estará disponible.


Por otro lado, si necesitásemos modificar el comportamiento del botón “suplantar”, buscaremos el fichero siguiente: “\html\portlet\enterprise_admin\user_action.jsp” y eliminaremos, comentaremos o modificaremos el siguiente código según nuestras necesidades:
< liferay-ui:icon
            image="impersonate_user"
            target="_blank"
            url="< %= impersonateUserURL % >"
/>



10 de junio de 2016

:: Listen Video. Alternativa para escuchar música gratis

Después de llevar un tiempo utilizando este servicio, podemos decir que va bastante bien y nos permite buscar entre un amplio repertorio y estilos de música. La web listenvideo.com es una mezcla de Spotify y YouTube.

Este portal, hace uso de la API de YouTube para reproducir los audios de millones de canciones, con la posibilidad de ver -bajo demanda- el vídeo. Además, cuenta con posibilidades para crear listas, compartirlas, seguir a nuestros grupos favoritos,... , siendo la interfaz de usuario muy sencilla y usable.

Puedes utilizarlo desde ya en: listenvideo.com

7 de junio de 2016

:: Alfresco. Obtener el modelo de datos

En multitud de ocasiones es útil obtener el modelo de datos de una aplicación para determinar las tablas, consultas, relaciones,...
En este caso, si necesitamos obtener el modelo de datos de Alfresco, podemos seguir los siguientes pasos:

1.- Descargaremos la aplicación gratuita DBVisualizer y procederemos a instalarla (Existen otras similares, pero esta es bastante útil y sencilla para nuestras necesidades)
Descarga DBVisualizer

2.- Una vez instalada, procedemos a configurar la conexión a nuestro Alfresco especificando todos los datos requeridos.
  • Crearemos una nueva conexión
  • Seleccionaremos el driver oportuno
  • Insertaremos los datos de conexión
Para probar si disponemos de conectividad con la base de datos de Alfresco, pulsaremos sobre el botón "Ping Server".


3.- Si la conexión se ha podido establecer correctamente veremos bajo nuestra conexión la distinta información recuperada (tablas, índices, vistas,...).
Al pulsar sobre "Tablas" veremos un gráfico con las tablas -y sus relaciones- que componen el modelo de datos de Alfresco.

Este mismo procedimiento nos serviría para obtener cualquier modelo de datos al que tengamos acceso, ya que disponer de una imagen de las relaciones entre tablas -a veces- puede resultarnos de utilidad.

6 de junio de 2016

:: Noty. Librería javascript para mostrar notificaciones

Noty es un plugin jQuery que permite mostrar de manera sencilla mensajes de alerta, operaciones realizadas correctamente, error, avisos, información, confirmación,... con la posibilidad de añadir estas notificaciones a una cola.

Además, estas notificaciones pueden visualizarse en distintas partes de la página, dispone de distintos layouts,..., y la forma de integrarla en nuestros desarrollos es muy sencilla y viene perfectamente explicada en la página de la librería.

Más información: http://ned.im/noty

1 de junio de 2016

:: El PageRank "público" de Google ya no existe

Como todos recordamos, hace años y -aunque este era un tema controvertido respecto al SEO- intentábamos lograr un PageRank aceptable.

En marzo de  2016 Google anunció que descontinuaba el PageRank público y a  partir de ahora todas las páginas mostrarán un valor 0, así que para todos aquellos que no conocían la noticia, que no se asusten al ver que el PageRank de sus páginas ahora muestran el valor mínimo.



Si por ejemplo consultamos el PageRank de la propia página de Google, el valor devuelto es cero.
Aunque esta decisión pueda parecernos algo chocante, Google ha descontinuado el PageRank público, pero internamente seguirá utilizando la autoridad de nuestra página basándose en este valor, la diferencia es que este no será accesible por los usuarios.

Por este motivo, a partir de ahora tendremos que hacer uso de otras métricas: DMoz, Majestic, ... para conocer la autoridad de nuestras páginas en términos de posicionamiento web.


:: Cookies de nuestra página web. ¿Para qué sirve cada una?

A menudo una pregunta que nos hacen es qué cookies se están utilizando en mi página y para qué sirven. Para ver las cookies, podemos selecci...