Programación

De GestiONGwiki

Revisión a fecha de 11:28 14 abr 2010; Santilin (Discutir | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Contenido

Documentación

Conoce cómo es la arquitectura de GestiONG.

Puedes hojear la API de GestiONG aquí: http://gestiong.sourceforge.net/doc/reference/gong_api/index.html

Hay Módulos desarrollándose.

Preparación del entorno

Para desarrollar GestiONG se necesitan algunos paquetes extra que no se requieren para la simple compilación:

Aunque no es estrictamente necesario, es recomendable utilizar KDevelop para desarrollar.

Debian

  aptitude install subversion build-essential libtool autoconf
  aptitude install libqt3-mt-dev libboost-dev libxml2-dev libmysqlclient15-dev libdb4.6-dev
  aptitude install kdevelop

Mandriva 2008

  urpmi subversion make gcc-c++ libtool autoconf automake
  urpmi libqt3-devel libxml2-devel libmysql-devel libdb4.5-devel libboost1-devel

Mandriva 2009

  urpmi subversion make gcc-c++ libtool autoconf automake
  urpmi libqt3-devel libxml2-devel libmysql-devel libdb4.6-devel libboost-devel

Obtención de GestiONG via svn

El repositorio svn de GestiONG se encuentra alojado en sourceforge.net. Tal y como recomienda el capítulo 2 del libro de svn, está dividido en tres ramas: **trunk**, **branches** y **tags**.

La rama //trunk// contiene el desarrollo del programa en uso por las asociaciones y actualmente (versión 0.3.3-beta) está sujeta a muchos cambios debido al carácter de beta de la misma.

La rama //branches// contiene desarrollos futuros y/o experimentales del programa.

La rama //tags// contiene instantáneas de cómo estaba el proyecto cuando se realizaron distribuciones (releases).

    • Atención:** //Si no tienes el comando //svn//, instálate el paquete **subversion** //.

Prepárate un directorio para trabajar con GestiONG:

   mkdir gestiong-devel (u otro nombre más corto ;)
   cd gestiong-devel

Si quieres trabajar sobre la versión actual, la instalada en las ONG (solo para corregir errores graves):

   svn co https://gestiong.svn.sourceforge.net/svnroot/gestiong/trunk gestiong-0.3.3
   cd gestiong-0.3.3

También puedes descargarte todo el repositorio de GestiONG, que incluye las tres ramas, con el comando:

   svn co https://gestiong.svn.sourceforge.net/svnroot/gestiong gestiong
   cd gestiong


Compilación desde la consola

Si no usas KDevelop, puedes ejecutar los siguientes comandos:

   make -f Makefile.cvs
   ./configure --prefix=$PWD --enable-full-debug CPPFLAGS=-D_GONG_DEBUG
   make
   gestiong/gestiong 

La diferencia con una instalación normal es que hemos incluido opciones para la depuración y que no vamos a instalar el ejecutable ni el resto de ficheros, ya que vamos a estar continuamente modificándolo, de ahí la opción --prefix=$PWD, que utiliza como directorio de instalación el mismo en el que estamos trabajando.

El ejecutable gestiong admite el parámetro --debug que indica el nivel de salida de depuración que deseamos.


Compilación con KDevelop

    kdevelop gestiong.kdevelop

Pulsa F8 para compilar el proyecto completo y Mayús+F9 para ejecutarlo.

Desarrollo cotidiano

Cada vez que nos pongamos a trabajar en el desarrollo, si tenemos conexión a Internet, lo primero que tenemos que hacer es actualizar nuestra copia local del programa con la que hay en el repositorio de svn:

   svn update

de este modo incluimos en nuestra copia todos los cambios que hayan realizado el resto de programador@s.

Después utilizamos KDevelop o cualquier otra herramienta para añadir cosas, compilar, testear, etc. Cuando hemos acabado nuestro trabajo y estamos segur@s de que todo funciona correctamente (o al menos de que el proyecto completo compila), subimos nuestros cambios al repositorio svn:

   svn commit -m "Comentario sobre lo que hemos realizado"

Si no recordamos qué hemos realizado exactamente, podemos hacer:

   svn diff

con lo cual obtenemos los cambios entre lo que hemos hecho y la última versión del repositorio.