Cómo crear y administrar un site con Liferay 6.2.

 

Zylk.net vuelve a colaborar con Enpresa Digitala en su extensa programación de formaciones orientadas al mundo empresarial, en este caso con uno de nuestros cursos más solicitados: “Cómo crear y administrar un site con Liferay”.

Dentro de las herramientas a disposición de las empresas y organizaciones que quieren dar a conocer sus productos y servicios, una de las más relevantes es el portal corporativo. Si además se busca que este portal sea algo más que un escaparate de productos y permita integraciones con herramientas como ERP o plataformas colaborativas, Liferay es la opción más clara.

De esta forma, Liferay es una solución multiportal y multi-idioma de bajo coste para las organizaciones que permite disponer de página web, blog, intranet de documentos y aplicaciones corporativas, y por esta razón es uno de los productos más usados en este ámbito por las empresas de Euskadi y zonas limítrofes.

Además, Liferay es considerado por quinto año consecutivo uno de los líderes en portales horizontales según el cuadrante de Gartner (2014).

 

En este sentido, y alineado con las tendencias, ofrecemos un curso orientado a personal técnico que quiere conocer la parte funcional del portal o que cuenta con algún conocimiento en la gestión de portales y páginas web. Una vez finalizada la formación los asistentes serán capaces de:

Conocer la arquitectura y la gestión de los usuarios y roles en gestor de portales Liferay.

  • Construir comunidades web e intranets dinámicas y elegantes con el sistema de gestión de contenidos de Liferay, realizando funciones de creación y publicación de contenidos en el Portal.

  • Gestionar y conocer las interfaces de usuario y administración de Liferay en el proceso de creación de contenidos estructurados, configuración de los menús, el uso de plantillas y el diseño de la página, así como la gestión de los usuarios y roles.

Las fechas en las que se impartirá el curso son las siguientes:

  • Del 28/04/2015 al 30/04/2015: Gipuzkoa

  • Del 05/05/2015 al 07/05/2015: Araba

  • Del 19/05/2015 al 21/05/2015: Bizkaia

Puedes obtener más información de este curso o sobre otro de Liferay, Alfresco, Pentaho o Sinadura contactando con nuestro departamento comercial llamándonos al 94 427 21 19 o en la siguiente dirección de correo electrónico: sales@zylk.net Disponemos de una amplia formación de catálogo en estas materias y también podemos preparar cursos adhoc o in-house. Puedes consultar nuestro catalogo aquí.

Si quieres contratar este curso accede directamente a Enpresa Digitala en el portal de Euskadi Innova en el siguiente link

Entrada publicada en Sin categoría | Comentarios cerrados

La consola de admin de Alfresco EE y el modulo de Support Tools

La consola de administración de Alfresco Enterprise proporciona una administración gráfica del repositorio y de sus subsistemas principales. Está disponible desde la versión 4.2 (sólo para la versión Enterprise) y se divide en diferentes subpáginas:
  • Resumen del sistema (panel general con los servicios activos)
  • Información del repositorio y licencia.
  • Servicios de Email (Inbound y Outbound).
  • Servicios del repositorio (Actividades, BPM, Replicación, Búsqueda y Transformación)
  • Administración de directorio (Cadenas de autenticacion y sincronización LDAP).
  • Herramientas de soporte (JMX Dump)
  • Sistemas virtuales de ficheros (CIFS, FTP, Imap)
Es una alternativa gráfica (y en caliente) a los cambios de configuración en el alfresco-global.properties o a una consola JMX (como jmxterm o jconsole). Hay que tener en cuenta que los cambios realizados en la consola son a través de JMX, con lo que se materializan en la base de datos de Alfresco y se anteponen a los cambios de la configuración en el archivo alfresco-global.properties y demás configuración por defecto del repositorio. Cuando se usa la consola gráfica del repositorio o una JMX, uno de los principales peligros es que la configuración puede estar dispersa en dos lados, mezclada entre los properties y la base de datos (JMX), y no son facilmente visibles los cambios realizados por JMX.
 
La consola puede accederse a través de:
 
http://alfserver:8080/alfresco/service/enterprise/admin
 
 
 
Un complemento indispensable a esta consola es el módulo de herramientas de soporte de Antonio Soler:
Este módulo proporciona funcionalidades extra sobre la consola gráfica. Entre ellas:
  • Monitorizar las sesionas activas de los usuarios y el pool de conexiones.
  • Monitorizar el rendimiento del sistema, la carga y la memoria JVM.
  • Cambiar los loggers de Alfresco y visualizar los logs de Alfresco.
  • Visualizar y revertir los cambios JMX.
  • Ejecutar las tareas programadas en Alfresco.
  • Obtener información relevante sobre los hilos (threads) de Alfresco.
  • Ejecutar pruebas del subsistema de transformación.

Y de especial utilidad para la gestión de la configuración es la parte relativa a los settings JMX, que permite visualizar qué configuración se ha tocado via JMX y revertirla. Funciona además para cualquier configuración cambiada via otra consola JMX (no sólo la consola EE). Os dejo una captura de esto último:
 
 
 
Enlaces:
 
Entrada publicada en Sin categoría | Comentarios cerrados

CDF. Extendiendo el componente tabla en los dashboards de pentaho.

Durante el desarrollo de un proyecto de BI con pentaho, similar al proyecto que describimos el año pasado que hicimos con las empresa cianoplan, nos ha surgido la necesidad de ampliar la funcionalidad del componente tabla del CDF.

La idea es que queríamos calcular algunos totales en la tabla. Buscando por internet en los foros he llegado al siguiente post en el que se explica como ampliar el componente para hacer, precisamente esto. Así que lo he puesto en el CDE y ha funcionando correctamente pero con un pequeño problema, el código del foro sirve para calcular los totales de todos los elementos y resulta que la tabla realiza, o puede realizar, algunos filtros en cliente que son de utilidad (ordenaciones, paginado y filtrado).

Llegados a este punto he modificado el código del ejemplo para que interactue con estas acciones de la tabla y así nos permite calcular los totale correctos cuando se aplican los filtros y la paginación.

El código fuente de las funciones javascritp es el siguiente


function TableTotal(tblObj,totalStr,calcSumFlags, rows) {
    //si existe lo elimino
    if($('#'+tblObj.htmlObject+' tfoot').length > 0){
        $('#'+tblObj.htmlObject+' tfoot').remove();
    }
    
    if($('#'+tblObj.htmlObject+' tfoot').length===0){
        var grandTotalRow = "<tfoot><tr><td class=\"column0 string\">" + totalStr + "</td>";

        for ( var c=1; c <= calcSumFlags.length; c++ ){
            grandTotalRow += "<td class=\"column" + c + " numeric\">";
            sumVal = 0;
            if(calcSumFlags[c-1] == 1)
            {
                for(var i = 0; i < rows.nTBody.children.length; i++){
                    //var value = tblObj.rawData.resultset[i][c];
                    var value = rows.nTBody.children[i].childNodes[c].innerText;
                    value = parsetofloat(value);
                    
                    if (isNumber(value)){
                        sumVal += parseFloat(value);
                    }
                }
                grandTotalRow += addCommas(sumVal.toFixed(2));
            }
            grandTotalRow += "</td>";
        }
        
        grandTotalRow += "</tr></tfoot>";
        $('#'+tblObj.htmlObject).find('table').append(grandTotalRow);
    }
}

function parsetofloat(aaa)
{
    return aaa.replace(/,/,"");
}

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

function addCommas(nStr)
{
   nStr += '';
   x = nStr.split('.');
   x1 = x[0];
   x2 = x.length > 1 ? '.' + x[1] : '';
   var rgx = /(\d+)(\d{3})/;
   while (rgx.test(x1)) {
      x1 = x1.replace(rgx, '$1' + ',' + '$2');
   }
   return x1 + x2;
}


Y la función que va en el evento draw del componente en el CDF

function redraw(aaa) {
  // 1 - calculate sum, 0 - empty footer
  var calcSumFlag=[0,1];
  // Write footer, first column value will be "Total"
  TableTotal(this,"Total",calcSumFlag,aaa);
}



En esencia solo se ha cambiado un poco lo explicado en el foro pero creo que puede resultar de interés ya que me imagino que más gente tendrá esta necesidad.

Por otro lado comentar también que no se si esta es la mejor forma de hacer esto...ya que creo que igual sería más interesante ampliar el componente para que disponga de esta funcionalidad, pero eso requiere algo más de conocimiento de los componentes y del CDF

Unas caputras del componente para ilustrar su funcionamiento

En la primera vemos que el total es de los motrados en la primera página



Y en este caso vemos que el total se calcula a partir de los que cumplen el criterio de filtro indicado en el buscador



 

Entrada publicada en Sin categoría | Comentarios cerrados

Boletín de Enero

Han pasado unos cuantos meses desde nuestro último boletín pero en zylk.net no hemos parado. Traemos este último resumen del año cargado de novedades tanto en nuestros addons de Alfresco como en nuestro producto estrella de firma digital Sinadura Desktop , así como unas cuantas píldoras de información que seguro te resultarán interesantes.

Por supuesto encontrarás más información en no blogo , el blog de zylk.net, que quizás ya conozcas y al que puedes suscribirte fácilmente siguiendo este enlace.

Ya sabes que si quieres contactar con nosotros puedes hacerlo a través de nuestro mail info@zylk.net , nuestro número de teléfono: 944272119 o cuenta de twitter @zylknet

 

Publicación Destacada

Presentación de Sinadura 4.0 y Caso de éxito en la Librecon 2014.



Los días 11 y 12 de Noviembre se celebró en el palacio Euskalduna de Bilbao el evento LibreCon 2014, un punto de encuentro para los agentes del software libre y las tecnologías abiertas. Entre las más de 75 charlas con ponentes de talla internacional, tuvimos la oportunidad de presentar el caso de éxito de Sinadura en Parlamento Vasco, y aprovechamos para anunciar la próxima publicación de Sinadura 4.0.

más info sobre la Librecon aquí.

Producto Recomendado

Nuevos add-ons de Alfresco disponibles en el marketplace

Seguimos trabajando en desarrollar y ofrecer a nuestros clientes soluciones que complementen las funcionalidades que ofrece por defecto el gestor documental Alfresco ECM. Estos son nuestros nuevos add-ons:


El equipo de zylk se certifica

Certificaciones del equipo técnico de zylk en Liferay Portal y Alfresco ECM.

Recientemente varios miembros del equipo técnico de zylk.net han obtenido la nueva certificación nivel "Developer" que ofrece Liferay, con lo que más de la mitad de nuestros técnicos demuestran así su amplio conocimiento de la herramienta. Además, nuestro equipo también ha logrado obtener la certificación ACA (Alfresco Certified Administrator) y aquí podrás ver alguno de los materiales que ha utilizado para preparar este examen.

Otras entradas de interés:

  •     Consejos a la hora de implantar Alfresco ECM link
  •     Las Novedades de Alfresco 5 CE link
  •     En la Alfresco summit 2014 link
  •     Alfresco addons by zylk.net 2014 link
  •     Aplicaciones escalables de alto rendimiento link


    
 

Entrada publicada en Sin categoría | Comentarios cerrados

Proyectos en tecnologías de portal con Alfresco y Liferay

Dejo un diagrama ilustrativo del uso tecnologías y proyectos prototipo de Portal / ECM, con nuestras dos herramientas favoritas Liferay Portal y Alfresco ECM.

Entrada publicada en Sin categoría | Comentarios cerrados

Ejecucion asincrona usando el framework java.util.concurrent

Siguiendo con el diseño de aplicaciones de alto rendimiento vamos a ver como se podría mejorar el rendimiento de la siguiente parte del gráfico general

 

donde vemos que hay una librería (cliente) que se integra en otra aplicación. Lo fundamental en este caso es que la librería cliente no penalice, o penalice lo menos posible, el tiempo de ejecución de la aplicación original. Por ejemplo si el cliente es una librería de trazas lo idoneo es que el tiempo de ejecución del método de la aplicación sea el mismo con las trazas activadas que con las trazas desactivadas.

Si partimos de este esquema y aplicando las dos siguientes premisas

  • No es importante la garantía de entrega.
  • No es requisito procesar la respuesta de la petición realizada para hacer lógica sobre el programa principal.

Podemos hace uso del framework java.util.concurrent para mejorar mucho el tiempo. Pasando de ejecutar 10000 envios en 60 degundos a 10000 envios en  menos de 1 segundo. Es decir mejoramos la sensación del rendimiento al usar la librería cliente en un x100, que es uno de los objetivos que pretendíamos.

Un par de snippets de como hacer una petición rest desde un cliente usando esta técnica

donde vemos como se realizaría la petición de manera sincrona.

donde vemos como se realizar la petición asincrona

Entrada publicada en Sin categoría | Comentarios cerrados

Implementando servicios REST con jaxrs sustituyendo JSON por Protocol Buffer

Una de las particularidades de las orientaciones SOA es que servicios consumen servicios, y desde hace un tiempo ya estos servicios no se orientan a SOAP con webservices si no que se orientan más a servicios más ligeros basados en REST. En la siguiente firgura podemos ver un ejemplo de lo comentado

Donde podemos ver, serialización y des-serialización basada en JAXB, exposición de servicios usando JAX-RS y sobre todo vemos que el objeto intercambiado entre los servicios (Book) se transporta en formato JSON entre el consumidor y el publicador del servicio.

Esto está bien como primera aproximación pero lo mismo que hace 10 años se intercambiaban XMLs y pasamos a JSON ahora parece que sería interesante pasar de JSON a alugno de los protocolos binarios que aportaán más velocidad y por ende más rendimiento. Los candidatos principales son (Avro y Protobuf).

Una vez que tenemos claro el objetivo, ¿cómo podríamos hacerlo?, en realidad revisando el diagrama anterior parece que debería ser sencillo hacer el cambio. Para ello solo hay que registrar un nuevo protcolo para que JAXRS lo identifique y sea capaz de gestionarlo. Tenemos que implementar las siguientes dos clases (javax.ws.rs.ext.MessageBodyReader y javax.ws.rs.ext.MessageBodyWriter)  que le indican al servicio como tiene que leer la información de la petición REST y como tiene que escribir la respuesta. Siguiendo este artículo podemos ver como se hace esto para Protobuf. Además para poder completar el ejemplo hay que seguir un manual de Protobuf  de los muchos existentes en internet.

Para hacer lo mismo con Avro habría que implemntar estas dos clases y definir un nuevo tipo de contenido por ejemplo application/avro. Con esto podríamos tener servicios que consuman y devuelvan peticiones con objetos serializados en Avro o en Protobuf igual que hacemos con los servicios que exponen JSON

Entrada publicada en Sin categoría | Comentarios cerrados

Algunos consejos sobre la aplicación de la Ley 25/2013 de Impulso de Factura Electrónica

 

A lo largo de las últimas semanas hemos podido ver cómo se multiplicaban las noticias sobre la la ley 25/2013 de 27 de Diciembre de Impulso de la factura electrónica que se aplicará a partir del próximo 15 de Enero de 2015. Esta ley tiene por un lado el objetivo de proteger al proveedor de la administración, y por otro el de mejorar el seguimiento del cumplimiento de los compromisos de pago de las administraciones, mejorando el gasto público y controlando el déficit.

Por esta razón a partir de mediados de este mes, será obligatorio para las empresas que facturen a la administración y sus organismos autónomos la expedición y remisión de facturas en formato electrónico, quedando exentas las facturas de importe igual o inferior a 5.000 € para las cuales podrás elegir entre el formato electrónico o el tradicional formato papel.

 

 

Así que si te cuentas entre los proveedores de la administración o tienes previsto convertirte en proveedor, desde zylk.net queremos darte un par de consejos para que la transición al uso de factura electrónica sea lo más natural posible.

 

  1. Si todavía no dispones de un certificado, solicítalo en alguna de las Entidades de Certificación existentes (Izenpe, FNMT, Camerfirma...). Como ciudadanos todos disponemos del DNI electrónico, pero existen certificados de Entidad para las empresas y están disponibles tanto en formato tarjeta como en Token USB.

  1. Elijas la herramienta que elijas para generar tu factura electrónica, recuerda que el único formato que será aceptado es el facturae 3.2 y 3.2.1. El ministerio dispone de una herramienta gratuita a tal efecto pero existen otras que además de emitir facturas electrónicas ofrecen funcionalidades extra como por ejemplo Efaktur, que te permitirá conservar borradores de las facturas aún por emitir, generar estadísticas del estado de tus facturas (borrador, emitidas, rectificadas, etc), consultar el histórico de envíos realizados o hacer desgloses de IVA tanto en facturas enviadas como recibidas.

  1. Es tan importante emitir una factura como conservarla. La legislación vigente (Ley 58/2003 de 17 de Diciembre) exige su conservación por un período mínimo de 6 años, por lo que sistemas de gestión documental como Alfresco ECM son de gran ayuda cuando tratamos con este tipo de información en las organizaciones.

 

Si aún así la factura electrónica te sigue asustando, en zylk.net te ofrecemos varias opciones para que le pierdas el miedo. Como expertos en firma digital y factura electrónica podemos asesorarte y ayudarte a elegir la solución que más se adecúa a tu caso particular. Además, si ya tienes una solución de factura electrónica pero necesitas formación en firma digital para utilizar de forma adecuada tu herramienta, también podemos ayudarte.

Ponte en contacto con nosotros por teléfono en el 944 272 119 o por email en info@zylk.net y dinos qué podemos hacer por ti.

Entrada publicada en Sin categoría | Comentarios cerrados

Algunos consejos sobre la aplicación de la Ley 25/2013 de Impulso de Factura Electrónica

 

A lo largo de las últimas semanas hemos podido ver cómo se multiplicaban las noticias sobre la la ley 25/2013 de 27 de Diciembre de Impulso de la factura electrónica que se aplicará a partir del próximo 15 de Enero de 2015. Esta ley tiene por un lado el objetivo de proteger al proveedor de la administración, y por otro el de mejorar el seguimiento del cumplimiento de los compromisos de pago de las administraciones, mejorando el gasto público y controlando el déficit.

Por esta razón a partir de mediados de este mes, será obligatorio para las empresas que facturen a la administración y sus organismos autónomos la expedición y remisión de facturas en formato electrónico, quedando exentas las facturas de importe igual o inferior a 5.000 € para las cuales podrás elegir entre el formato electrónico o el tradicional formato papel.

 

 

Así que si te cuentas entre los proveedores de la administración o tienes previsto convertirte en proveedor, desde zylk.net queremos darte un par de consejos para que la transición al uso de factura electrónica sea lo más natural posible.

 

  1. Si todavía no dispones de un certificado, solicítalo en alguna de las Entidades de Certificación existentes (Izenpe, FNMT, Camerfirma...). Como ciudadanos todos disponemos del DNI electrónico, pero existen certificados de Entidad para las empresas y están disponibles tanto en formato tarjeta como en Token USB.

  1. Elijas la herramienta que elijas para generar tu factura electrónica, recuerda que el único formato que será aceptado es el facturae 3.2 y 3.2.1. El ministerio dispone de una herramienta gratuita a tal efecto pero existen otras que además de emitir facturas electrónicas ofrecen funcionalidades extra como por ejemplo Efaktur, que te permitirá conservar borradores de las facturas aún por emitir, generar estadísticas del estado de tus facturas (borrador, emitidas, rectificadas, etc), consultar el histórico de envíos realizados o hacer desgloses de IVA tanto en facturas enviadas como recibidas.

  1. Es tan importante emitir una factura como conservarla. La legislación vigente (Ley 58/2003 de 17 de Diciembre) exige su conservación por un período mínimo de 6 años, por lo que sistemas de gestión documental como Alfresco ECM son de gran ayuda cuando tratamos con este tipo de información en las organizaciones.

 

Si aún así la factura electrónica te sigue asustando, en zylk.net te ofrecemos varias opciones para que le pierdas el miedo. Como expertos en firma digital y factura electrónica podemos asesorarte y ayudarte a elegir la solución que más se adecúa a tu caso particular. Además, si ya tienes una solución de factura electrónica pero necesitas formación en firma digital para utilizar de forma adecuada tu herramienta, también podemos ayudarte.

Ponte en contacto con nosotros por teléfono en el 944 272 119 o por email en info@zylk.net y dinos qué podemos hacer por ti.

Entrada publicada en Sin categoría | Comentarios cerrados

Monitorizando el cluster de hadoop y kafka con Ganglia

Siguiendo con los artículos anteriores relacionados con los nuevos paradigmas del desarrollo, hemos montado en el laboratorio donde hacemos las pruebas, en zylk.net, un sistema de monitorización para tener métricas de los siguientes productos

  • Sistema operativo
  • HDFS
  • MAP&REDUCE (yarn)
  • Hbase
  • Kafka

Todos estos productos ya los hemos ido describiendo en anteriores entradas del blog y ahora lo que hemos hecho es agrupar todas las metrircas que los mismos producen y almacenarlas usando el siguiente producto (ganglia). Esto se puede hacer porque detrás de todos los productos java que estamos usando existe una librería java (yammer) que es capaz de recolectar las métricas definidas por los desarolladores y publicarlas en distintos formatos. En este caso en un formato válido para Ganglia. Con esto lo que tenemos son las métricas de los productos en una herramienta centralizada para poder explotarla.

 

El proceso en relativamente sencillo yo he seguido estos manuales

https://www.digitalocean.com/community/tutorials/introduction-to-ganglia-on-ubuntu-14-04 (manual general para configurar ganglia)

http://www.javacodegeeks.com/2013/04/ganglia-configuration-for-a-small-hadoop-cluster-and-some-troubleshooting.html (manual para configurar hadoop y hbase)

Para la parte de kafka he usado el siguiente plugin/librería

https://github.com/myfitnesspal/kafka-statsd-reporter

La configuración que he realizado tiene dos clusters (uno de servidores apache web y otro con los nodos del laboratorio de bigdata)

En el cluster de hadoop-zoo-services disponemos de todas las metricas que los desarrolladores han puesto a nuestra disposición, son más de 200 metricas relacionadas con los tres productos principales que son hdfs, hbase y kafka. Con estas metricas podemos ver el estado de lo nodos, el numero de tablas y regiones en hbase, el numero de mensajes procesados por segundo en una cola concreta de kafka... vamos mucha mucha información.

La configuración que hemos probado es la siguiente

  • Comunicación multi-cast entre los ganglia moniotors y el recolector de la información
  • Dos grupos/clusters para porbar el mutli-cluster en una sola intancia de ganglia

Lo idea dado el numero de servicios y metricas que los productos aportan sería montar una representación lógica por servicio y así agrupar las metricas por servicio, por ejemplo

  • Kafka
  • HDFS
  • HBase

Ya que si se agrupa en estructura física como lo hemos montado ahora, son demasiadas métricas para cada nodo del cluster y no es fácil encontara la información relacionada.

Una tema que nos quedaría pendiente es integrar todo esto con el modelo de desarrollo para ello, siguiendo lo que hacen los productos que hemos analizado bastaría con incluir la libería yammer a nuestros desarrollos para poder obtener las metricas en el formato que ganglias las entienda y poder así tener también monitorizado el estado de nuestros desarrollos, ya sean desarrollo basados en bigdata, ya sean desarrollo normale de java web.

Entrada publicada en Sin categoría | Comentarios cerrados