Changes between Version 2 and Version 3 of Version2/Desarrollo/WebConsole


Ignore:
Timestamp:
Oct 25, 2010, 11:05:51 AM (14 years ago)
Author:
adelcastillo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Version2/Desarrollo/WebConsole

    v2 v3  
     1[[TranslatedPages]]
     2[[TOC(heading=Índice)]]
     3
    14= Tecnologías =
    25
    3 Como framework principal usamos [http://webpy.org/ webpy]. Es liviano pero muy extensible. Para entender el proyecto hay que entender partes muy importantes de webpy como son:
     6EL lenguaje usado para programarlo es Python. Mantener y depurar un código en Python es más sencillo que en PHP. Tiene otras ventajas como que hay mucho trabajo hecho, está lo suficientemente extendido, no siempre hace falta Apache (o similares), se desarrolla muy rápido y se aprende aun más rápido.
     7
     8Como framework principal usamos [http://webpy.org/ webpy]. En su web encontramos la documentación necesaria para entender el proyecto. Webpy es liviano pero muy extensible. Para entender el proyecto hay que entender partes muy importantes de webpy como son:
    49 * Los templates.
    510 * Los manejos de URL.
    611 * Sesiones.
    712
    8 Para la base de datos usamos [http://www.sqlalchemy.org/ sqlalchemy].
     13Para guardar la información usamos [http://www.sqlalchemy.org/ sqlalchemy]. Es una librería de python que abstrae el acceso a la base de datos. Es algo compleja, pero a su favor tenemos que nos aseguramos de que no se va a quedar pequeña y compatibilidad con diferentes bases de datos como SQLite, MySQL, PostgreSQL e incluso Oracle.
    914
    10 Otra tecnología que nos gustaría usar pero que todavía no hemos explotado todo su potencial que es [http://code.google.com/p/formalchemy/ formalchemy].
     15Otra tecnología que nos gustaría usar pero de la que todavía no hemos explotado todo su potencial es [http://code.google.com/p/formalchemy/ formalchemy].
    1116
    12 Para que la interfaz sea traducible usamos gettext.
     17Para que la interfaz sea traducible usamos gettext, es decir, los archivos *.po y *.mo de toda la vida.
     18
     19= En profundidad =
     20== web.ctx ==
     21
     22En la variable de entorno web.ctx podemos encontrar:
     23 * pluginmanager: es un objeto que tiene una lista de todos los plugins. Se usa, además de instalar, activar, etc. para acceder a los plugins desde cualquier parte del código.
     24 * orm: es un objeto con la sesión a la base de datos. Con él podemos realizar consultas o modificar la base de datos.
     25 * session: los datos de sesión del usuario.
     26 * render: las plantillas para renderizar las páginas.
     27 * gettext y plugin_gettext: necesarios para realizar las traducciones.
     28
     29== Internacionalización ==
     30
     31Es muy simple, si necesitas añadir alguna cadena para que sea traducida en el WebConsole:
     32{{{
     33from decoratos import i18n
     34...
     35
     36@i18n
     37def funcion():
     38   ...
     39   cadena = _("Texto que nos gustaría traducir")
     40   ...
     41}}}
    1342
    1443= Código =
    1544
    16 Aquí se encuentra la consola web. #238
     45En source:branches/version2/web encuentramos el código de la consola web. #238
    1746
    1847== Ficheros ==