F.1.4 Arquitectura

Está desarrollado con el framework Django del lenguaje de programación python.

Permite tener distintas instancias y presentar un diseño, contenidos o código en función de la configuración que tenga en la variable COUNTRY_APP del fichero conf/general.yml (por ejemplo ghana, kenya o nigeria). Cada una de estas configuraciones son librerías (aplicaciones en la jerga de Django) que permite un grado de personalización profundo. Para cada uno de los ejemplos:

pombola# ls pombola/ghana/

contextprocessors.py data data.py forms.py _init.py management models.py static templates tests.py urls.py utils.py views.py

pombola# ls pombola/kenya/

2013-election-data forms.py init.pyc management shujaaz.pyc tests.py views_facebook_experiments.py views_iebc_office_locator.pyc

budget-data forms.pyc lib.py migrations static urls.py views_facebook_experiments.pyc views.py

electiondata2017 \_init.py lib.pyc shujaaz.py templates urls.pyc views_iebc_office_locator.py views.pyc_

pombola# ls pombola/nigeria/

data initialimport _init.py lib.py management static templates tests.py urls.py views.py

En su propia documentación comentan que esta forma de personalizar no es la óptima sino como se encuentra funcionando actualmente1:

Estas notas cubren cómo funciona actualmente el estilo, pero es casi seguro que no es el mejor camino y necesita mejoras, lo que se espera que se haga como parte de una refactorización más amplia para facilitar la reutilización de la base de código en varios países.

A nivel de servidores se recomienda el uso del servicio de SaaS (Software as a Service) Heroku2, aunque también cuenta con ejemplos de configuración en servidores web para tener una instalación propia.

image alt text

Figura F.1.4.1: Arquitectura de servidores de Pombola

Original: These notes cover how the styling currently works, but it is almost certainly not the best way and needs improving, which will hopefully be done as part of a larger refactor to make it easier to reuse the codebase across several countries.

results matching ""

    No results matching ""