lunes, 23 de diciembre de 2013

Respaldo de la base de datos Offline en iTunes

El escenario principal para las aplicaciones Offline que generamos con GeneXus, se tiene un componente en el servidor donde se centralizan los datos ingresados en cada uno de los dispositivos.

En este escenario no es imprescindible hacer un respaldo de la base de datos Offline, ya que la misma siempre se puede volver a construir a partir de los datos del servidor.

Sin embargo, el generador Offline permite otro escenario donde sí puede ser importante tener respaldo de los datos: cuando la aplicación es completamente Offline y no tiene componente en el servidor.

Si bien acceder al sistema de archivos del iPhone se puede, no hay una forma "nativa" de hacerlo. Hay aplicaciones que exponen dicho sistema de archivos a la Mac o al PC, pero en general tienen algún costo.

En particular para la base de datos Offline, como se almacena en la carpeta Documents que es una carpeta especial dentro de la aplicación, es posible copiar el archivo desde iTunes como se explica en este documento de Apple.

Para lograr esto, simplemente debemos agregar una nueva clave al archivo .plist del proyecto generado (o se puede cambiar el template si lo vamos a querer siempre...). La clave que se debe agregar es UIFileSharingEnabled con valor YES. La forma de hacerlo está explicada en este documento.

Cabe aclarar que si se hace un respaldo completo del dispositivo mediante iTunes, este archivo también se respalda. Lo que se explica en esta nota es cómo respaldar solo este archivo si quisieramos hacerlo...

martes, 10 de diciembre de 2013

Licencias de software libre, ¿cuál usar?

Quisiera conocer la opinión de gente que sepa más que yo del tema de licencias de software libre, para saber cuál conviene usar.

Lo que quiero es distribuir algo(1) de la forma menos restrictiva posible, es decir, que quien lo quiera usar lo use para lo que más le convenga, y si lo quiere distribuir, vender, usar de ejemplo, o lo que sea, lo pueda hacer.

En la página de Wikipedia sobre el tema tiene varias de estas licencias, muchas de ellas no las conozco.

De las que aparecen ahí, las que más me convencen por las cosas que permiten y por ser conocidas son la de Apache, la de BSD y la de MIT.

También entiendo que existe el concepto de "copyleft" que no se muy bien como juega en todo esto.

Por el momento me inclino por la de MIT, pero acepto sugerencias :)


(1) Para que no quede demasiado misterioso, se trata de una KB GeneXus correspondiente a una aplicación para Smart Devices. Nada demasiado complicado, es de uso personal, pero que pienso puede servirle a alguien más... Ya habrá más novedades.