User Tools

Site Tools


entorno_de_desarrollo_para_opacmarc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Previous revision
entorno_de_desarrollo_para_opacmarc [16/05/2009 21:46]
fernando creada (movida desde namespace notas)
entorno_de_desarrollo_para_opacmarc [19/05/2009 00:00]
Line 1: Line 1:
-====== Entorno de desarrollo para OpacMarc ====== 
  
-En esta página describo el entorno que estoy utilizando en mi PC para trabajar en el desarrollo de [[http://​code.google.com/​p/​opacmarc/​|OpacMarc]]. Otros desarrolladores o testeadores que deseen colaborar en el proyecto están invitados a reproducir un entorno similar en sus propias máquinas. 
- 
-Ante todo, aclaremos que realizo la mayor parte del desarrollo bajo Linux (al momento de escribir esto, Ubuntu 8.04), de manera que el entorno aquí descripto está orientado a esa plataforma. Con algunas variantes se puede trasladar esto mismo a Windows. 
- 
-===== Software requerido ===== 
- 
-==== subversion ==== 
- 
-  sudo apt-get install subversion 
- 
-La versión 1.4 está bien. (Es la que utiliza Google Code para el repositorio donde está alojado el código de OpacMarc.) 
- 
-Si usa un proxy para acceder a la Web, deberá configurar apropiadamente el cliente de Subversion. 
- 
-Es útil también el script [[http://​svn.collab.net/​repos/​svn/​trunk/​contrib/​client-side/​wcgrep|wcgrep]],​ que facilita el uso de grep dentro de la copia de trabajo, omitiendo los directorios administrativos ''​.svn''​. 
- 
-==== python ==== 
- 
-Estoy usando 2.5; puede andar con 2.4 y quizás con 2.3. 
- 
-==== apache ==== 
- 
-==== agrep ==== 
- 
-  sudo apt-get install agrep 
- 
- 
-===== Estructura de carpetas ===== 
- 
-Uso esta estructura de carpetas: 
- 
-          opacmarc/ 
-          |-- binaries/ 
-          |-- builds/ 
-          |-- local-testdata/​ 
-          |-- svn/ 
-          `-- test-install/​ 
- 
-La carpeta ''​opacmarc''​ actualmente la tengo en ''​$HOME/​dev'',​ pero cada uno es libre de ubicarla donde prefiera. En caso de modificar su ubicación, habrá que ajustar algunos archivos de configuración que luego mencionaremos. 
- 
-Veamos qué hay en cada subcarpeta: 
- 
-  * **binaries** - aquí tenemos archivos ejecutables necesarios para la aplicación,​ agrupados por plataforma. Un ''​tgz''​ con el contenido de esta carpeta se puede descargar de ... FIXME 
- 
-          binaries/ 
-          |-- linux/ 
-          |   |-- cisis-5.2b-1030/​ 
-          |   |-- cisis-5.2b-1660/​ 
-          |   |-- wxis-5.2b-1030 
-          |   `-- wxis-5.2b-1660 
-          `-- windows/ 
-              |-- agrep.exe 
-              |-- cisis-5.2b-1030/​ 
-              |-- cisis-5.2b-1660/​ 
-              |-- wxis-5.2b-1030.exe 
-              `-- wxis-5.2b-1660.exe 
- 
-  * **builds** (opcional) - Aquí se almacenan los //builds// de OpacMarc, que son los archivos ''​tgz''​ que un usuario bajaría para instalar OpacMarc. Inicialmente la carpeta está vacía; se va poblando a medida que ejecutamos el script ''​build.sh''​. 
- 
-  * **local-testdata** (opcional) - Si además de la base //demo// incluida en OpacMarc queremos hacer pruebas con algunas de nuestras propias bases, podemos alojarlas en esta carpeta. FIXME mostrar ejemplo. 
- 
-  * **svn** - Aquí está el código bajo control de versiones. Inicialmente hay que hacer un [[http://​code.google.com/​p/​opacmarc/​source/​checkout|checkout del repositorio]]. 
- 
-  * **test-install** - Contiene una instalación de prueba de OpacMarc, generada a partir del contenido de las carpetas **svn**, **binaries** y (opcionalmente) **local-testdata**. Cada vez que ejecutamos el script ''​test.sh''​ se recrea la carpeta y todo su contenido. La configuración de Apache apunta a esta carpeta. 
- 
-          test-install/​ 
-          |-- app/ 
-          `-- local-data/ 
- 
-===== Archivos de configuración ===== 
- 
-Estoy usando dos archivos con parámetros de configuración relacionados con el trabajo de desarrollo: 
- 
-  * **test-config.sh**:​ requerido para ''​test.sh'',​ el script que genera la instalación de prueba. 
-  * **build-config.sh**:​ requerido para ''​build.sh'',​ el script que produce los builds. 
- 
-Estos archivos son locales, y por lo tanto no están bajo control de versiones. Sí están en el repositorio //versiones de muestra// de cada uno de ellos: ''​test-config.sh.dummy''​ y ''​build-config.sh.dummy''​. Luego de hacer el checkout inicial, haga una copia de ambos archivos, quite de sus nombres el sufijo ''​.dummy'',​ y edítelos para ajustar los valores de los parámetros. 
- 
-FIXME Explicar bien qué hay que modificar. 
- 
-===== Configuración de Apache ===== 
- 
-Creamos un archivo vacío, que luego será reemplazado por la configuración del virtual host para OpacMarc, y creamos un link simbólico para habilitar ese "​sitio":​ 
- 
-  sudo touch /​etc/​apache2/​sites-available/​opacmarc-test 
-  sudo ln -s /​etc/​apache2/​sites-available/​opacmarc-test /​etc/​apache2/​sites-enabled/​ 
- 
- 
-===== Testeo ===== 
- 
-  cd svn 
-  ./test.sh 
- 
-Este script realiza la "​instalación"​ y luego habilita el acceso a la base //demo//. Abre una ventana de Firefox donde se muestra la página inicial del OPAC. 
- 
-Para ejecutar ''​test.sh''​ se requieren privilegios de administrador (sudo). 
- 
-FIXME Explicar mejor lo que hace el script, y la opción de usar otras bases locales. 
- 
-===== Build ===== 
- 
-  cd svn 
-  ./build.sh 
- 
-FIXME Explicar el upload. 
- 
- 
-===== Actualización del código ===== 
- 
-Para descargar a la copia de trabajo local los cambios que se hayan producido en el repositorio,​ 
- 
-  cd svn 
-  svn update 
- 
-(o el equivalente que corresponda si se usa una interfaz gráfica). 
- 
- 
-===== Modificaciones al código ===== 
- 
-Con la estructura que estoy usando, los cambios que se realicen en el código de la aplicación (es decir, cualquier cambio hecho dentro de la carpeta ''​svn''​) **no tendrán efecto inmediato** en nuestra instalación de prueba. Para testear el efecto de esos cambios, tendremos que ejecutar ''​test.sh''​. 
- 
-Esto puede parecer una molestia, dado que hay que esperar mientras el script se ejecuta, pero no son más que unos pocos segundos (entre 20 y 40 en las máquinas que uso, con una base //demo// de 100 registros). La molestia me ha parecido aceptable, a cambio de contar en todo momento con una copia de trabajo limpia, no "​contaminada"​ por las carpetas y arcchivos que son creados como producto del proceso de instalación. 
- 
-Alternativamente,​ podemos editar los archivos de la carpeta ''​test-install'',​ y entonces sí veremos los efectos en el OPAC en forma inmediata (por supuesto, dependiendo esto de cuáles archivos editemos). Sin embargo, este procedimiento tiene una desventaja: debemos acordarnos de trasladar todos esos cambios a la copia de trabajo que tenemos en ''​svn'',​ y dado que los archivos de ''​test-install''​ no están bajo control de versiones, no siempre será fácil detectar todos los cambios que hemos realizado. 
- 
-Si añadimos un **nuevo archivo** dentro de ''​svn'',​ éste no será tenido en cuenta en el testeo a menos que lo "demos de alta" mediante el comando ''​svn add''​ (o el equivalente que corresponda si se usa una interfaz gráfica). 
- 
-{{tag>​opacmarc desarrollo}} 
entorno_de_desarrollo_para_opacmarc.txt · Last modified: 19/05/2009 00:00 (external edit)