23 de mayo de 2018

:: Alfresco. Añadir aspectos al UI

Desde la gestión de reglas de contenido de Alfresco, a veces necesitamos que se puedan llevar a cabo otras tareas distintas a las que aparecen en la interfaz de usuario.
Por ejemplo, si necesitamos que se puedan seleccionar un aspecto "Contabilizable", los pasos a seguir son los siguientes:
1.- Localizamos el fichero "share-config-custom-xml" ubicado en: "tomcat/shared/clases/alfresco/web-extension/"

2.- Editamos el fichero anterior, y añadimos los aspectos que necesitemos:


<!-- Aspects that a user can see -->
         <visible>
            <aspect name="cm:generalclassifiable" />
            <aspect name="cm:complianceable" />
            <aspect name="cm:dublincore" />
            <aspect name="cm:effectivity" />
            <aspect name="cm:summarizable" />
            <aspect name="cm:versionable" />
            <aspect name="cm:templatable" />
            <aspect name="cm:emailed" />
            <aspect name="emailserver:aliasable" />
            <aspect name="cm:taggable" />
            <aspect name="app:inlineeditable" />
            <aspect name="cm:geographic" />
            <aspect name="exif:exif" />
            <aspect name="audio:audio" />
            <aspect name="cm:indexControl" />
            <aspect name="dp:restrictable" />
            <aspect name="smf:customConfigSmartFolder" />
            <aspect name="smf:systemConfigSmartFolder" />
            <aspect name="cm:counter" />
            <aspect name="cm:hits" />
         </visible>


3.- Reiniciamos el servicio de Alfresco para comprobar que efectivamente ya nos aparecen a la hora de gestionar los aspectos

18 de mayo de 2018

:: Python. Cómo compilar una aplicación python en un ejecutable Windows

Para generar un ejecutable Windows de una aplicación Python, debemos llevar a cabo los pasos siguientes:
1.- Deberemos instalar "pyinstaller"

pip install pyinstaller

2.- Desde la línea de comandos ejecutamos:


pyinstaller.exe nombrefichero.py


Tras la ejecución obtendremos una relación de carpetas, por ejemplo para el fichero "holamundo.py":
__pycache__
build
dist
holamundo.py
holamundo.spec


13 de mayo de 2018

:: Google Forms. Crear formulario desde una hoja de cálculo

En Google Forms es posible crear un formulario a partir de una hoja de cálculo siguiendo los siguientes pasos:
Las preguntas y posibles respuestas podemos insertarlas en un fichero ".csv", siguiendo la siguiente estructura:


pregunta;respuesta1;esCorrecta;respuesta2;esCorrecta;respuesta3;esCorrecta;respuesta4;esCorrecta

El campo "esCorrecta" únicamente lo cumplimentaremos para la respuesta que sea correcta, dejándolo en blanco en caso contrario.

Un ejemplo de fichero CSV podría ser:

1) De acuerdo con el artículo 53.1 de la Constitución, señale el derecho o libertad pública que podrá regularse sólo por ley:;a) El derecho a la protección de la salud.;;b) Derecho a una vivienda digna adecuada.;true;c) El derecho al acceso a la cultura.;;d) Derecho a la negociación colectiva laboral.;
2)Señale los principios constitucionales que rigen siempre en el acceso de los ciudadanos a la función pública:;a) Principio de mérito y objetividad.;hayalgo;b) Principios de mérito y capacidad.;;c) Principios de mérito, capacidad e imparcialidad.;;d) Principios de mérito, capacidad, imparcialidad y transparencia.;

En Google Docs, crearemos una nueva hoja de cálculo y seleccionaremos: "Archivo">"Importar" y seleccionaremos el fichero .csv que contiene las preguntas y posibles respuestas.

Tras la importación de esta información seleccionaremos la entrada: "Herramientas">"Editor de Secuencia de Comandos".

En el editor que se abre, insertaremos el siguiente script:


function CrearFormulario() {
  //Obtiene datos de la hoja de cálculo
  var sheet = SpreadsheetApp.getActiveSheet();
  var nombreFormulario=sheet.getName();
  
  //Crea un formulario desde una hoja de cálculo
  var form = FormApp.create(nombreFormulario);
  form.setIsQuiz(true);
  form.setPublishingSummary(false);
  form.setProgressBar(true);
  form.setShowLinkToRespondAgain(true);
  
  //Lee los datos de la hoja de cálculo y crea las preguntas y respuestas
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
 //.setChoiceValues([data[i][1],data[i][3], data[i][3], data[i][7]])
    var pregunta=form.addMultipleChoiceItem();
 pregunta.setTitle(data[i][0]);
    pregunta.showOtherOption(false);
    pregunta.setChoices([pregunta.createChoice(data[i][1], Boolean(data[i][2])),pregunta.createChoice(data[i][3], Boolean(data[i][4])),pregunta.createChoice(data[i][5], Boolean(data[i][6])),pregunta.createChoice(data[i][7], Boolean(data[i][8]))]);
  }
  
  //Recorre las preguntas marcándolas como obligatorias y puntos asignados
  var items = form.getItems();
  for (var i=0; i<items.length; i++) {
      items[i].asMultipleChoiceItem().setRequired(true);
      items[i].asMultipleChoiceItem().setPoints(1);
  }
 
}

Una vez creado el formulario podemos hacer uso del mismo.

6 de mayo de 2018

:: Tip Alfresco. Mensaje de depuración en nuestro scripts

Para depurar nuestro scripts Alfresco sin utilizar el addon de la consola de javascript, podemos ir escribiendo trazas en el log (fichero: "alfrescotomcat-stdout.xxxx.log").

En el código de nuestro script añadiremos la sentencia:


logger.system.out("Mensaje de depuración");


De esta manera, en el fichero: "alfrescotomcat-stdout.xxxx.log" podremos comprobar los mensajes añadidos al log.

:: 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...