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

24 de diciembre de 2018

:: Estándar europeo sobre accesibilidad de sitios web y aplicaciones móviles

Publicado el estándar armonizado europeo sobre accesibilidad de sitios web y aplicaciones móviles (21/12/2018).

Este estándar se ha publicado en el Diario Oficial de la Unión Europea la Decisión de Ejecución (UE) 2018/2048 de la Comisión, de 20 de diciembre de 2018 , sobre la norma armonizada aplicable a los sitios web y a las aplicaciones para dispositivos móviles redactada en apoyo de la Directiva (UE) 2016/2102 del Parlamento Europeo y del Consejo. Es decir, la declaración como estándar armonizado de la norma "EN 301 549 V2.1.2 (2018-08). Requisitos de accesibilidad para los productos y servicios de las TIC"

Por lo tanto, desde hoy 21 de diciembre de 2018, el estándar a cumplir por las Administraciones Públicas españolas en sus sitios web es el EN 301 549 v2.1.2 (2018-08). En el caso de las aplicaciones móviles aplicará a partir del 23 de Junio de 2021.

Más información: https://goo.gl/shQCya

16 de noviembre de 2018

:: ¿Por qué deberíamos aprender Python?


Python es el lenguaje preferido por muchos desarrolladores por el énfasis que hace en la productividad y la legibilidad, especialmente cuando se compara con otros lenguajes como Java, PHP y C ++.

Profesionalmente, Python es ideal para el desarrollo web back-end, el análisis de datos, la inteligencia artificial y la computación científica. A continuación explicaremos las razones por las que es interesante aprender Python:



Lenguaje Popular

Actualmente, Python es el lenguaje más popular en TI. Es un lenguaje de programación general, interactivo, interpretado y de alto nivel. Python fue adoptado como un lenguaje de programación para casi todos los dominios de TI, incluyendo Pruebas de software, Desarrollo web, Big Data Hadoop, Computación en la nube, Ciencia de datos, AWS, VMware, OpenStack y Google Cloud.

Flexible y fácil de entender

Python fue diseñado para ser fácil de entender y divertido de usar. Puedes crear prototipos y herramientas rápidamente con Python. Por lo tanto, Python ha ganado popularidad por ser un lenguaje amigable para los principiantes. Además, al ser un lenguaje de muy alto nivel, Python se lee como en inglés, esto elimina una gran cantidad de estrés en el aprendizaje de la sintaxis de la codificación de los principiantes. Python nos libera de mucha de la complejidad en la programación, por lo que es muy fácil para los principiantes, ya que les permite centrarse en aprender conceptos de programación y no tener que preocuparse por demasiados detalles.

Grandes firmas apuestan por Python

Muchas grandes empresas como IBM, Yahoo, Google, Nokia, Disney, Mozilla, NASA y mucho más dependen en gran medida de Python. De hecho, Python es uno de los lenguajes preferidos de Google, siempre están contratando expertos y han creado muchos de sus productos populares con él.

Debido a que estas compañías utilizan Python, siempre están buscando profesionales con talento que hayan trabajado en Python. También podemos convertirnos en expertos en Python uniéndonos a Python Course. Siempre hay una demanda para los desarrolladores web de Python.

Python es flexible

Hay varias implementaciones robustas de Python integradas con otros lenguajes de programación.

  • CPython, una versión con C
  • Jython, o Python integrado con Java
  • IronPython, que está diseñado para ser compatible con .NET y C #
  • PyObjc, o Python escrito con los juegos de herramientas ObjectiveC
  • RubyPython, o Python combinado con Ruby

Python se utiliza en Ciencia de Datos

Sea cual sea el trabajo que estemos buscando, los datos formarán parte de este, incluidas las operaciones de TI, el desarrollo de software, el marketing, etc. En breve, las habilidades de análisis de datos serán tan importantes como las habilidades de codificación, y Python tiene una fuerte presencia en ambas áreas. Junto al lenguaje R, Python es el lenguaje más utilizado en la ciencia de datos moderna; de hecho, las publicaciones de Python superan en número a las publicaciones de R en el campo de la ciencia de datos. Las habilidades que adquiramos mientras aprendemos Python influirán en nuestra habilidades analíticas.

Recursos ilimitados y marco de pruebas

Un desarrollador de python, cuando lo necesite, puede acceder a una gran cantidad de recursos como manuales de referencia, libros, tutoriales, vídeos, foros, etc. Si un desarrollador tiene alguna duda o algún problema técnico, puede buscar ayuda de miles de miembros de la comunidad de Python en foros, Twitter, Facebook, sitios de preguntas y respuestas, prácticamente en todas partes.

Debido a que Python es un lenguaje de código abierto, siempre hay personas que intentan mejorarlo, actualizándolo con las tendencias actuales, presentando nuevas versiones del lenguaje.

Es el preferido para desarrollo web

La programación web con python ofrece muchas opciones, ya que python tiene una gran variedad de marcos para desarrollar sitios web. Los frameworks web que ofrece python son: Pylons, Django, Zope2, TurboGears, web.py, Grok, web2py, etc.

La codificación de un programa que lleva horas en PHP se puede hacer en minutos usando Python. Además, el código Python es mucho más rápido y estable. Luego viene Flask, otro framework web de Python, simple y construido para la personalización

Si bien la mayoría de los sitios web todavía se ejecutan en PHP, muchas aplicaciones web nuevas se están construyendo con Python. Python es más flexible; Se puede utilizar para proyectos pequeños, grandes, en línea y fuera de línea. Es el único lenguaje de scripting que necesitaremos para comenzar a diseñar nuestras propias aplicaciones y sitios web.


Fuente: https://www.javatips.net/blog/7-reasons-why-you-should-learn-python

:: Liferay 7.4. Habilitar/deshabilitar la vista previa de un documento

En Liferay 7.4 podemos habilitar o deshabilitar la vista previa de un documento en la biblioteca de documentos y multimedia. Se trata de un ...