25 de julio de 2018

:: Evitar indexación por parte de los motores de búsqueda

Para evitar la indexación de nuestro portal web por parte de los motores de búsqueda podemos llevar a cabo distintas tareas:

robots.txt
Generar un fichero robots.txt con el siguiente contenido:

User-Agent: *
Disallow: /

Metaetiqueta
En el tema, podríamos insertar la siguiente metaetiqueta

<meta name="robots" content="noindex, nofollow" />


httpd.conf
En el fichero http.conf localizaremos la línea siguiente

Options Includes Indexes FollowSymLinks MultiViews


Eliminamos el literal: "Indexes"
Reiniciaremos el Apache

.htaccess
En el fichero .htaccess añadiremos la siguiente línea:

Header set X-Robots-Tag "noindex, nofollow"


También podemos añadir la línea siguiente:

Options -Indexes


Todos estos cambios deberemos revertirlos en el momento de la publicación del portal web.

20 de julio de 2018

:: CMIS. Documentos de una determinada carpeta

Como prueba de concepto, necesitamos obtener los documentos de una determinada carpeta mediante una consulta CMIS:

SELECT cmis:objectId, cmis:name FROM cmis:document  WHERE 

CONTAINS('PATH:"//app:company_home/st:sites/cm:netic360/cm:documentLibrary/cm:Facturas/*"')


Podemos hacer uso de CMIS Workbench:
http://chemistry.apache.org/java/developing/tools/dev-tools-workbench.html

Información adicional sobre la especificación CMIS:
http://docs.oasis-open.org/cmis/CMIS/v1.1/CMIS-v1.1.html#x1-110001r109

16 de julio de 2018

:: Alfresco. Crear documento desde plantilla con un número incremental

Como prueba de concepto, queremos que los usuarios creen documentos a partir de una plantilla, y que estos tengan el mismo nombre y un código numérico (incremental), indicando el número de documento.

Para ello, los pasos a seguir son los siguientes:

.- La plantilla del documento la copiaremos en: ""
De esta manera, a nuestros usuarios les aparecerá la opción de seleccionar la plantilla oportuna, en la opción: "Crear documento a partir de plantilla"

.- Sobre la carpeta contenedora, definiremos una regla de contenido que al crear o entrar documentos ejecute un script

.- El contenido del script: "rename_doc.js" podría ser algo similar a esto:

var folder=document.parent;
var documents=folder.children;
var docNumber=documents.length;

document.name=document.name+"_"+docNumber+".docx";
document.properties["cm:title"]=document.name+"_"+docNumber+".docx";
document.properties["cm:description"]="DocNumber: "+docNumber;
document.save();


9 de julio de 2018

:: Emmet. Plugin para Notepad++

Emmet es un plugin que nos ahorrará tiempo de codificación ya que nos permitirá- a partir de expresiones- generar el código correspondiente.

Por ejemplo, si en notepad++ escribimos: "html:5" y pulsamos la combinación de teclas asociada, Emmet nos convertirá este código en:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 
</body>
</html>


Para instalar este plugin, debemos llevar a cabo los siguientes pasos:

1.- Instalar "python script", para lo que seleccionaremos la opción de menú: "Plugins>Plugin Manager>Show Plugin Manager" y buscaremos "Python script" y procederemos a su instalación

2.- Descargaremos el plugin "Emmet" de la página oficial: https://emmet.io/download/

3.- El plugin descargado lo descomprimimos en la carpeta "plugins" de nuestra instalación de Notepad++

4.- Podemos comprobar las teclas asignadas para la ejecución de este plugin, para lo que seleccionaremos: "Configuración > Enlaces directos >"
En el cuadro de dialogo, seleccionaremos la pestaña: "Plugins commands" y buscaremos los denominados:
Expand abbreviation
Wrap with abbreviation

De esta manera, tras escribir el código y pulsar la combinación de teclas asociadas a Expand abbreviation (por ejemplo: Ctrl+Shift+Enter) el código se tranformará en lo que corresponda.

Más información sobre la sintaxis a utilizar: https://docs.emmet.io/cheat-sheet/

4 de julio de 2018

:: Alfresco. Evitar el autocompletado de contraseñas en la página de login

Como prueba de concepto vamos a crear una página de login personalizada, para lo que seguiremos los pasos que describiremos a continuación.

1.- Localizamos el fichero: "login.get.html.ftl" ubicado en: "\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\guest"

2.- Copiamos el fichero anterior a la siguiente ubicación: "\tomcat\shared\classes\alfresco\web-extension\site-webscripts\org\alfresco\components\guest"
En caso de que alguna de las carpetas no exista, será necesario crearlas.

3.- Sobre este fichero, llevaremos a cabo las modificaciones necesarias


<@markup id="form">
         <form id="${el}-form" accept-charset="UTF-8" method="post" action="${loginUrl}" class="form-fields login ${edition}" autocomplete="off">
            <@markup id="fields">
            <input type="hidden" id="${el}-success" name="success" value="${successUrl?replace("@","%40")?html}"/>
            <input type="hidden" name="failure" value="${failureUrl?replace("@","%40")?html}"/>
            <div class="form-field">
               <label for="${el}-username">${msg("label.username")}</label><br/>
               <input type="text" id="${el}-username" name="username" maxlength="255" value="<#if lastUsername??>${lastUsername?html}</#if>" />
            </div>
            <div class="form-field">
               <label for="${el}-password">${msg("label.password")}</label><br/>
               <input type="password" id="${el}-password" name="password" maxlength="255" />
            </div>
   <div class="form-field">
    <input type="checkbox" id="showpassword" onclick="showPassword('${el}-password')"/>
    <label for="showpassword"> Mostrar clave</label><br/>
   </div>
            </@markup>
            <@markup id="buttons">
            <div class="form-field">
               <input type="submit" id="${el}-submit" class="login-button" value="${msg("button.login")}"/>
            </div>
            </@markup>
         </form>
      </@markup>


Tras reiniciar el servicio de Alfresco, como formulario de login se mostrará este que hemos modificado.


Información adicional: https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

:: Liferay. Script para ir al inicio de la página

En diversos temas de apariencia es necesario contar un enlace que permita al usuario realizar un scroll al inicio de la página. Este comport...