Ceibal Jam/Aplicaciones: Difference between revisions

From OLPC
Jump to navigation Jump to search
(New page: (Información preliminar, en el correr de los días voy a poner algo más elaborado. ~~~) == Objetivo == Se buscó responder a las siguientes interrogantes: * ¿Es posible instalar aplic...)
 
No edit summary
Line 10: Line 10:


== Desarrollo ==
== Desarrollo ==

Al iniciar Sugar, las aplicaciones (''actividades'' en la nomenclatura de OLPC) se buscan en dos directorios:
* <tt>/usr/share/activities</tt>
* <tt>/home/olpc/activities</tt>

El primero de ellos no puede ser modificado por el usuario; es necesario tener ''password'' de <tt>root</tt>, que en las laptops de OLPC no es conocido por el usuario. El usuario por defecto es llamado <tt>olpc</tt>, entonces el segundo directorio de la lista es el directorio ''home'' del usuario en el cual s&iacute; se pueden escribir y modificar archivos. Es en este &uacute;ltimo donde se pueden instalar las actividades que el usuario desee.

Usaremos como ejemplo una actividad de nombre ''Prueba''. Las actividades se instalan en una estructura de directorios (debajo del directorio <tt>/home/olpc/activities/</tt>) como la que sigue:

Prueba.activity/
Prueba.activity/prueba.py
Prueba.activity/setup.py
Prueba.activity/activity/
Prueba.activity/activity/activity.info
Prueba.activity/activity/activity-prueba.svg

Donde:
* <tt>prueba.py</tt> contiene el c&oacute;digo principal de la actividad definido dentro de una clase en Python (ver m&aacute;s abajo), pudiendo haber otros archivos con m&aacute;s c&oacute;digo en el mismo directorio
* <tt>setup.py</tt> contiene un c&oacute;digo muy simple que sirve para que Sugar realice la instalaci&oacute;n de la actividad (ver m&aacute;s abajo)
* <tt>activity/activity.info</tt> es un archivo de texto que contiene la informaci&oacute;n b&aacute;sica de la actividad (ver m&aacute;s abajo)
* <tt>activity/activity-prueba.svg</tt> es el icono de la actividad

Tambi&eacute;n se recomienda incluir otros archivos, aunque en la pr&aacute;ctica se comprob&oacute; que no son estrictamente necesarios. Los archivos adicionales son:

* <tt>NEWS</tt> es un archivo de texto donde se deja constancia de las sucesivas revisiones de la actividad, las cosas que se incluyeron, que se modificaron, etc.
* <tt>TODO</tt> es un archivo de texto donde se escriben las cosas que quedan pendientes realizar
* <tt>MANIFEST</tt> es un archivo de texto que contiene la lista de archivos contenidos en el paquete de la actividad

A continuaci&oacute;n se describe en mayor detalle cada uno de los archivos esenciales.

=== <tt>prueba.py</tt> ===

=== <tt>setup.py</tt> ===

=== <tt>activity/activity.info</tt> ===

=== <tt>activity/activity-prueba.svg</tt> ===




Line 17: Line 54:
Se concluye que sí es posible instalar aplicaciones propias en las XO del Plan Ceibal sin necesidad de tener usuario root y sin obstáculos que podrían ser firmas digitales, etc.
Se concluye que sí es posible instalar aplicaciones propias en las XO del Plan Ceibal sin necesidad de tener usuario root y sin obstáculos que podrían ser firmas digitales, etc.


La aplicación se instala en el directorio /home/olpc/Activities, siguiendo una estructura de directorios sencilla. La rutina principal de la aplicación debe incluirse en un archivo Python, como parte de una clase que hereda de la clase Sugar.Activities. Se deben además crear una serie de archivos auxiliares con un formato de texto muy sencillo. El icono de la actividad debe ser en formato svn; si se quiere que titile como los iconos de las actividades estándar, se debe retocar el archivo con un editor de texto para definir los colores en concordancia con la interfaz Sugar.
La aplicación se instala en el directorio /home/olpc/Activities, siguiendo una estructura de directorios sencilla. La rutina principal de la aplicación debe incluirse en un archivo Python, como parte de una clase que hereda de la clase Sugar.Activities. Se deben además crear una serie de archivos auxiliares con un formato de texto muy sencillo. El icono de la actividad debe ser en formato svg; si se quiere que titile como los iconos de las actividades estándar, se debe retocar el archivo con un editor de texto para definir los colores en concordancia con la interfaz Sugar.


Toda la estructura de directorios se puede empaquetar en formato tar.gzip y renombrar con extensión .xo. Cuando la actividad Browse baja un archivo con dicha extensión de una página web, realiza la descompresión e instala la actividad automáticamente.
Toda la estructura de directorios se puede empaquetar en formato tar.gzip y renombrar con extensión .xo. Cuando la actividad Browse baja un archivo con dicha extensión de una página web, realiza la descompresión e instala la actividad automáticamente.

Revision as of 12:05, 27 May 2008

(Información preliminar, en el correr de los días voy a poner algo más elaborado. Geirea)

Objetivo

Se buscó responder a las siguientes interrogantes:

  • ¿Es posible instalar aplicaciones propias en las XO del Plan Ceibal como un usuario común?
  • ¿Cómo se empaqueta una aplicación para ser instalada en la XO?
  • ¿Cómo se define el icono de una aplicación para que aparezca igual que el resto de las actividades?
  • ¿Existe alguna forma fácil e independiente de distribuir nuestras aplicaciones entre los niños?

Desarrollo

Al iniciar Sugar, las aplicaciones (actividades en la nomenclatura de OLPC) se buscan en dos directorios:

  • /usr/share/activities
  • /home/olpc/activities

El primero de ellos no puede ser modificado por el usuario; es necesario tener password de root, que en las laptops de OLPC no es conocido por el usuario. El usuario por defecto es llamado olpc, entonces el segundo directorio de la lista es el directorio home del usuario en el cual sí se pueden escribir y modificar archivos. Es en este último donde se pueden instalar las actividades que el usuario desee.

Usaremos como ejemplo una actividad de nombre Prueba. Las actividades se instalan en una estructura de directorios (debajo del directorio /home/olpc/activities/) como la que sigue:

Prueba.activity/
Prueba.activity/prueba.py
Prueba.activity/setup.py
Prueba.activity/activity/
Prueba.activity/activity/activity.info
Prueba.activity/activity/activity-prueba.svg

Donde:

  • prueba.py contiene el código principal de la actividad definido dentro de una clase en Python (ver más abajo), pudiendo haber otros archivos con más código en el mismo directorio
  • setup.py contiene un código muy simple que sirve para que Sugar realice la instalación de la actividad (ver más abajo)
  • activity/activity.info es un archivo de texto que contiene la información básica de la actividad (ver más abajo)
  • activity/activity-prueba.svg es el icono de la actividad

También se recomienda incluir otros archivos, aunque en la práctica se comprobó que no son estrictamente necesarios. Los archivos adicionales son:

  • NEWS es un archivo de texto donde se deja constancia de las sucesivas revisiones de la actividad, las cosas que se incluyeron, que se modificaron, etc.
  • TODO es un archivo de texto donde se escriben las cosas que quedan pendientes realizar
  • MANIFEST es un archivo de texto que contiene la lista de archivos contenidos en el paquete de la actividad

A continuación se describe en mayor detalle cada uno de los archivos esenciales.

prueba.py

setup.py

activity/activity.info

activity/activity-prueba.svg

Conclusiones

Se concluye que sí es posible instalar aplicaciones propias en las XO del Plan Ceibal sin necesidad de tener usuario root y sin obstáculos que podrían ser firmas digitales, etc.

La aplicación se instala en el directorio /home/olpc/Activities, siguiendo una estructura de directorios sencilla. La rutina principal de la aplicación debe incluirse en un archivo Python, como parte de una clase que hereda de la clase Sugar.Activities. Se deben además crear una serie de archivos auxiliares con un formato de texto muy sencillo. El icono de la actividad debe ser en formato svg; si se quiere que titile como los iconos de las actividades estándar, se debe retocar el archivo con un editor de texto para definir los colores en concordancia con la interfaz Sugar.

Toda la estructura de directorios se puede empaquetar en formato tar.gzip y renombrar con extensión .xo. Cuando la actividad Browse baja un archivo con dicha extensión de una página web, realiza la descompresión e instala la actividad automáticamente.

Se concluye que es posible entonces empaquetar nuestras actividades, subirlas a una página web, y que después los niños puedan bajarla e instalarla automáticamente.