Tareas #6407

Instalación de módulo Trytond-babi en Coati

Added by Andrés Pías about 1 month ago. Updated 10 days ago.

Status:En cursoStart date:01/29/2020
Priority:NormalDue date:
Assignee:Andrés Pías% Done:

50%

Category:-Spent time:5.00 hours
Target version:-

Description

La tarea consiste en:

Podrías ver la posibilidad de instalar este módulo (Business Intelligence) en el sitio de prueba en coati

https://github.com/NaN-tic/trytond-babi

History

#1 Updated by Andrés Pías about 1 month ago

Instalación de Tryton-babi

Paso en limpio acá el procedimiento que apliqué para instalar el nuevo plugin Tryton-babi.

Primero me logueo con el usuario desarrollo en Coati. Luego me paro en el directorio /opt/py37venv donde tengo instalado el entorno de Python 3.

Desde allí hacemos clonamos de 3 repositorios:

desarrollo@coati:/opt/py37venv# hg clone https://bitbucket.org/trytonspain/trytond-html_report 
desarrollo@coati:/opt/py37venv# hg clone https://bitbucket.org/trytonspain/trytond-smtp
desarrollo@coati:/opt/py37venv# git clone git@github.com:NaN-tic/trytond-babi.git

Luego accedo a cada uno de los repositorios clonados y me cambio en cada uno de ellos a la rama 4.2:

cd trytond-smtp
hg checkout 4.2
cd trytond-html_report
hg checkout 4.2
cd trytond-babi
git checkout 4.2

Despues de esto creo enlaces simbólicos desde la carpeta modules hacia cada uno de estos 3 módulos:

cd lib/python3.7/site-packages/trytond/modules/
ln -s /opt/py37venv/trytond-babi babi
ln -s /opt/py37venv/trytond-smtp smtp
ln -s /opt/py37venv/trytond-html_report html_report

Después levanto nuevamente el servicio, activando el entorno de forma previa:

cd /opt/py37venv/
source bin/activate
trytond -v -c trytond.conf

El tryton levanta y se cae, debido a un bug en la programación del módulo SMTP, entonces tuve que corregir un exception mal armada editando el archivo /opt/py37venv/lib/python3.7/site-packages/trytond/modules/smtp/smtp.py

Luego de eso vuelvo a levantar y surge otro problema, similar al que nos ocurrió con el módulo del Stock al pasar nuestra instancia de Tryton a un entorno Python3. Por esto tuve que comentar la línea que ejecuta un assert dentro del método register del archivo lib/python3.7/site-packages/trytond/pool.py. FIXME: Poner el error que me sale.

Luego fue necesario además instalar los siguiente paquetes:

pip install jinja2
pip install babel

Luego corremos la herramienta de actualización de módulos:

trytond-admin -c trytond.conf -d gestionpy37venv --all

Vuelvo a levantar el servicio:

trytond -v -c trytond.conf

Desde la interfaz web activamos los módulos. Para eso seleccionamos los módulos nuevos, Mark for Activation. Action, Perform Pending Activation/Upgrade, Start Upgrade. El proceso de actualización termina sin problemas.

#2 Updated by Andrés Pías 10 days ago

La instalación de Tryton baby sobre Python 3 no resultó útil, no posibilitó utilizar la herramienta. El problema es que para estas ramas (4.2) de los repositorios, estos paquetes no son compatibles con Python3. Esto quiere decir que la actualización a Python 3 debe ir de la mano de la actualización del Tryton.

Por esta razón se decidió retomar el trabajó sobre el entorno Python 2.7 que ya se tenía creado en Coati. Se siguen los mismos pasos. Lo que cambia es que para esa versión de Python es necesario instalar weasyprint de la siguiente forma:

pip install weasyprint==0.41

Una vez instalado este paquete todo funciona lo más bien.

Trytond-babi_reports...

Ahora además será necesario instalar otro paquete derivado de Tryton-babi que servirá de ayuda para generar mediante esta herramienta un reporte personalizado. Entonces instalamos este módulo siguiendo lo mismos pasos que se siguieron antes:

git clone git@github.com:NaN-tic/trytond-babi_reports_stock
cd trytond-babi_reports_stock
git checkout 4.2
ln -s /opt/python27/trytond-babi_reports_stock babi_reports_stock
trytond-admin -c trytond.conf -d gestion --all

Al querer levantar Tryton se presenta un problema de dependencias:

trytond.exceptions.MissingDependenciesException: Missing dependencies: babi_reports_product

Esto dio lugar a que se instalara de la misma forma este módulo requerido. Esta experiencia de clonar repositorios directo de Github, sirvió para entender que no necesariamente el usuario del SO tiene que ser el mismo que el usuario Gihub para poder clonar y pullear. De hecho para clonar este último repo, agregué la clave del usuario desarrollo de Coati para mi usuario andrespias de Github.

Concretamente procedemos así (culminados por levantar el servicio):

git clone git@github.com:NaN-tic/trytond-babi_reports_product.git
cd trytond-babi_reports_product/
git checkout 4.2
git pull
cd lib/python2.7/site-packages/trytond/modules/
ln -s /opt/python27/trytond-babi_reports_product/ babi_reports_product
trytond-admin -c trytond.conf -d gestion --all
trytond -v -c trytond.conf

Also available in: Atom PDF