29 de enero de 2019

:: Tip. Búsqueda por etiquetas en Alfresco

Si en nuestro gestor documental etiquetamos los documentos, podemos llevar a cabo búsquedas sobre estos, haciendo uso de las etiquetas. Para ello, en el buscador, debemos especificar:


TAG:"nombre-de-la-etiqueta"


Por ejemplo, para buscar los documentos que contengan la etiqueta "cmis", la búsqueda a realizar sería:


TAG:"cmis"


18 de enero de 2019

:: CMIS Workbench. Certificado autofirmado

En este tip, cuando intentamos conectarnos por CMIS al repositorio de Alfresco con un certificado autofirmado, obtendremos un mensaje de error como el siguiente:


Para solventar este problema podemos deshabilitar los certificados, añadiendo la siguiente línea en el fichero: "workbench.bat"

-Dcmis.workbench.acceptSelfSignedCertificates=true

De esta manera el fichero quedará así:


@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem Version: 0.14.0 / Revision: 1741103 / Build: 2016-04-26T14:09:01-0700

cd %~dp0\lib

rem use variable CUSTOM_JAVA_OPTS to set additional JAVA options

rem uncomment the following lines to configure HTTP proxy

rem set http_proxy=http://:
rem set https_proxy=https://:
rem set no_proxy=localhost,127.0.0.0,.local


for /F "delims=/" %%x in ('"java -classpath .;* org.apache.chemistry.opencmis.workbench.ProxyDetector -j -s"') do set "JAVA_PROXY_CONF=%%x"
set JAVA_OPTS=%JAVA_PROXY_CONF% -Dcmis.workbench.acceptSelfSignedCertificates=true

start /B javaw %JAVA_OPTS% %CUSTOM_JAVA_OPTS% -classpath ".;*" org.apache.chemistry.opencmis.workbench.Workbench


Tras esta modificación, al probar de nuevo a conectarnos por CMIS, accederemos al repositorio.

13 de enero de 2019

:: ¿Qué son los "polyfill"?

En desarrollo web, "Polyfill" es un fragmento de código que proporciona una característica a los navegadores web que estos no soportan nativamente.

Por ejemplo, un "Polyfill" permite a los desarrolladores web utilizar una API, independientemente de si es compatible con un navegador, y normalmente con una sobrecarga mínima. Habitualmente  comprueban si un navegador es compatible con una API y la utilizan -si está disponible-, o -en caso contrario- utilizan su propia implementación.

Un ejemplo de "polyfill" sería: sessionStorage, que permite guardar información localmente. Esta es una característica que está disponible a partir de IE8, pero si la necesitásemos para navegadores anteriores, la solución sería utilizar un "polyfill".

En resumen, el uso de "polyfills" nos aporta beneficios, al escribir código fuente compatible en todos los navegadores.

Más información: https://en.wikipedia.org/wiki/Polyfill_(programming)

Índice de polyfills:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

Guía sobre como escribir polyfills:
http://addyosmani.com/blog/writing-polyfills/

7 de enero de 2019

:: Condiciones Yoda

Las condiciones Yoda son una convención de programación que nos ayudará a evitar los típicos errores en la comprobación del valor de una variable en un condicional.


if(variable=='Yoda')
{
  //TODO
}


Utilizar la convención Yoda consistiría en modificar el código de esta manera:

if('Yoda'==variable)
{
  //TODO
}


Pero, ¿por qué deberíamos utilizar esta alternativa?. Es bastante habitual (en algunos lenguajes) cometer un error al realizar la comprobación del valor de una variable en un condicional:

if(variable='Yoda')
{
  //TODO
}


En el caso anterior, estaríamos asignando el valor: 'Yoda' a la variable que hemos llamado: "variable". Este código no produciría ningún error, pero estaríamos asignando un valor a una variable que puede provocar errores en la lógica del programa.
Por el contrario, al utilizar una "condición Yoda", en el caso de cometer este error, el intérprete o compilador nos daría un error, lo que nos ayudaría a detectar el problema:

if('Yoda'=variable)
{
  //TODO
}


Las condiciones Yoda usar debes

Más información: https://en.wikipedia.org/wiki/Yoda_conditions

1 de enero de 2019

:: Portal de traducción automática: PTPLATA

Este traductor automático permite al usuario traducir textos y ficheros desde el castellano a los distintos idiomas de la UE y  lengua cooficiales.

Aunque se trata de un traductor automático, la calidad de las traducciones se encuentra dentro de los umbrales de calidad marcados.

Para hacer uso del mismo es necesario tener un perfil de Administración Pública, registrándose en el Portal de Administración Electrónica.

Información de la noticia: https://goo.gl/7GsS7x
Información del traductor: https://goo.gl/TWQTVx

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