logo

Conector de MRW para OpenERP (dx_mrw_connect)

Introducción sobre ‘Conector de MRW para OpenERP’:

En Domatix se ha estado trabajando para crear un módulo que permita desarrollar un Conector de MRW para OpenERP

MRW utiliza un sistema cerrado que permite exportar e importar ficheros de texto plano, por lo que el desarrollo ha consistido en la creación de ficheros importables en la aplicación de MRW y la importación de ficheros generados por esta aplicación.

Para esta primera versión del conector se han desarrollado el proceso de ficheros IAPI e IAPO.

  • Por una parte, IAPI se importa en la aplicación de MRW siguiendo un formato y contiene la información de un pedido de compra. Habrá que generarlo en OpenERP desde un pedido cumpliendo con el formato especificado.

  • Por otra parte, IAPO se genera en la aplicación de MRW y contiene información sobre albaranes de entrada. Habrá que proveer de un sistema de importación de estos ficheros en OpenERP.

En https://github.com/domatix/openerp-dx_mrw_connect se ha publicado el proyecto y está disponible para su descarga.

Conector de MRW para OpenERP

Datos de Configuración:

En primer lugar, para la generación e importación de ficheros de MRW necesitaremos los siguientes campos en OpenERP:

  • Código de Cliente de MRW

  • Código de Campaña de MRW

  • Ruta de generación de ficheros IAPI

  • Ruta de importación de ficheros IAPI

En principio según lo visto en el proyecto se ha asociado la configuración de datos de mrw a la tienda, y se ha asociado la tienda en el pedido de compra.

Configuración de la tienda

La importación y exportación de ficheros sigue la siguiente nomenclatura de ficheros MRW:

<nombre del interfaz>_<cliente>_<campaña>_YYYYMMDDHHMMSS.txt

Donde:

  • Nombre del interfaz será: IAPI o IAPO

  • Cliente: código de cliente asignado por MRW

  • Campaña: código de la campaña asignado por MRW

  • Codificación ISO 8859-1 (ISO Latín 1)

Generación del IAPI:

En segundo lugar, se ha asociado al pedido de compras un nuevo objeto que representa el IAPI.

En el formulario del pedido de compras se ha añadido una nueva solapa de MRW con el campo tienda, el campo del IAPI y un botón que genere el fichero en el directorio asociado en la configuración de la tienda.

Pedido de Compra – Generación del IAPI

Los campos obligatorios para crear el IAPI que tenemos que recuperar de OpenERP son:

  • Código de cliente, asociado a la tienda asociada al pedido de compra.

  • Código de la campaña, asociado a la tienda asociada al pedido de compra.

  • Ruta del fichero, asociado a la tienda asociada al pedido de compra.

  • Código del pedido, código del pedido de compra del propio OpenERP.

  • Fecha de creación del IAPI.

  • Fecha estimada de entrada, por defecto el día siguiente al de creación.

  • OD, nombre del proveedor en OpenERP.

  • Nº linea, del pedido de OpenERP.

  • Código del artículo, será el código del artículo en Magento, en OpenERP al sincronizar con Magento se almacena en magento_sku.

  • Cantidad, la pedida en OpenERP.

La generación del fichero del IAPI en principio será manual pero en el futuro se podrá ampliar el desarrollo para generarlo automáticamente al validar el pedido de compra.

El botón de generar el IAPI sólo se podrá ejecutar si el pedido de compra está validado, no se podrá ejecutar si está en estado de solicitud de presupuesto o si ya se ha entregado.

Importación del IAPO:

En tercer lugar, para la importación de IAPO se ha creado un nuevo objeto con los siguientes campos:

  • Nombre del fichero

  • Fecha de creación

  • Mensajes o histórico

  • Estado (Borrador, Procesado, Error, Cancelado)

  • Listado de líneas del IAPO

Workflow de Importación de IAPO:

Para poder continuar, se ha creado un workflow que gestionara el paso de un estado a otro del objeto que representa la importación de un IAPO.

El funcionamiento es el siguiente:

  • Creación de una Importación de IAPO, se creará un registro de importación en estado borrador, con la fecha actual, y el nombre del fichero. Podremos guardar en borrador o procesar para pasar al siguiente estado.

  • Al procesar el IAPO, si hay algún error con el formato del fichero o los datos del mismo el registro pasará al estado Error.

  • En el supuesto de que, al procesar el IAPO los datos son correctos el IAPO pasará a estado Procesado, se crearán los albaranes que corresponda y se podrán consultar desde el propio IAPO en su historial.

  • Si los datos del IAPO son correctos y da un error que se pueda solucionar desde OpenERP se podrá reprocesar el IAPO para que pase de Error a Procesado una vez solucionado el problema en OpenERP.

  • Un IAPO en estado error o borrador se podrá cancelar para que pase a estado cancelado y no tenerlo en cuenta en posibles revisiones de IAPO erroneos.

En el listado de Procesamiento de IAPO, se puede observar a simple vista el estado de un procesamiento según el color de la línea.

Azul = Borrador

Verde = Procesado

Rojo = Error

Gris = Cancelado

Listado de Procesamiento de IAPO

También se permite filtrar por un determinado estado con lo que se podrá comprobar a simple vista si se ha producido algún error en el procesamiento del IAPO.

Procesamiento automático de IAPO:

A continuación, se ha creado una acción de servidor que automáticamente comprueba si se ha creado algún fichero en los directorios indicados en la configuración de cada tienda.

De hecho, si desde la última comprobación, se ha creado algún fichero se crea el procesamiento de IAPO y se intenta validar.

Además, si el fichero es correcto y se corresponde con los datos del sistema se importará el IAPO se validará el albarán correspondiente y el procesamiento pasará a estado Procesado.

Si al intentar validar hubiese algún error el procesamiento quedaría en estado error y se guardaría el mensaje de error correspondiente.

Errores de procesamiento del IAPO:

Por último, trataremos los posibles errores de procesamiento del IAPO.

  • Al procesar un IAPO surgiese algún error se quedaría almacenado el mensaje en el sistema y el Procesamiento de IAPO quedaría en estado Error.
  • Si fuere un error de datos que se pudiese solucionar en OpenERP se podría intentar solucionar y volver a procesar.
  • En el caso de que, fuese un error en el fichero se podría cancelar para que no apareciese como erróneo.

A continuación, mostramos los errores que se contemplan:

  • No existe el proveedor:

‘Error – Proveedor [cod_proveedor] de la linea [num_l] del IAPO no existe en OpenERP’

  • No existe el pedido:

Error – Pedido de compra [demanda] del proveedor [od] de la linea [num_l] del IAPO no existe en OpenERP’

  • No existe el producto:

Error – Producto [cod_producto] de la linea [num_l] del IAPO no existe en OpenERP’

  • No existe el proveedor:

‘Error – Linea del pedido de cantidad [‘+line.cantidad_original+’] del producto [‘+line.articulo_id+’] de la linea [‘+line.num_l+’] del IAPO no existe en OpenERP’

  • No existe el movimiento:

‘Error – Movimiento de la linea [‘+line.num_l+’] del pedido de compra [‘+line.demanda+’]del IAPO no existe en OpenERP’

  •  Error de formato o leyendo el disco:

‘ERROR –

Importando el fichero ‘+file_path+’, no se ha podido leer el fichero o no cumple las especificaciones’,’iapo_id’:iapo_id

Read more http://www.domatix.com/es/blog/conector-openerp-mrw

A continuación, le facilitaremos algunos enlaces que pueden incluir información relevante para usted, relacionada con ‘Conector de MRW para OpenERP’ pulsando aquí.

Leer más

Thinkting! OpenERP online

Tras muchos meses de trabajo estamos orgullosos de presentaros, Thinkting! OpenERP online. Con esto de las modas de Internet, se nos haría mucho más fácil (y sería más «cool») definir thinkting! utilizando términos complicados como «un servicio SaaS sobre OpenERP», «el cloud computing aplicado a los ERP», «tu instancia OpenERP en la nube»… Thinkting!: OpenERP online Pero no somos mucho de modas y nos gusta más explicar Thinkting! OpenERP online  como «un software de gestión (OpenERP) online (en Internet) sin complicaciones, un proceso de alta personalizado rápido y sencillo, además de acceso a una plataforma de formación. Puede encontrar más información relacionada con Thinkting! OpenERP online pulsando aquí o entrando en nuestra página web: https://www.domatix.com/ Resultado de imagen de open erp

Leer más

Integración de MRW en OpenERP

Actualmente, en Domatix estamos desarrollando una integración de MRW en OpenERP. La forma en la que la aplicación de MRW se conecta con otros sistemas es mediante el intercambio de ficheros. Para ello, su integración consiste en generar ficheros procesables por la aplicación de MRW y crear un proceso de importación de ficheros generados por MRW, para gestionar los errores de importación.
MRW en OpenERP

MRW en OpenERP

El sistema de gestión de MRW genera y procesa diferentes archivos para controlar todo el proceso logístico. En esta primera fase se va a poder generar un IAPI (Previsión de entrada) desde un pedido de compras, para indicar a MRW que espera la recepción de esos artículos. A continuación, en el momento en el que MRW realice ese envío a almacén generará un IAPO (Mercancia Recepcionada). Seguidamente, en nuestro módulo indicaremos donde se encuentran esos ficheros y los procesará, validando los movimientos de stock asociados al pedido de compras que generó el IAPI. Durante el Procesamiento del IAPO se pueden producir muchos errores por incoherencia en los datos en los dos sistemas. Por esta razón, se está desarrollando un completo sistema de control de errores con mensajes para que el usuario pueda saber que ha generado la importación de un IAPO y, si no se ha podido importar o generar la acción prevista, cuales han sido los motivos.

Gracias a ello, conseguiremos una recepción de materiales automática en los envíos gestionados por MRW.

En breve liberaremos el desarrollo y realizaremos un apunte más completo del funcionamiento. Permaneced atentos al blog.

Read more http://www.domatix.com/es/blog/integracion_mrw_openerp

Para más información sobre OpenERP visita nuestra web haciendo un clic aquí.

Leer más

Presentando KafkaDB

Hoy queremos llevar a cabo la Presentación KafkaDB, nuestra nueva criatura que acabamos de publicar en bitbucket.

Os mostramos KafkaDB, una herramienta que simplificará la tarea de migrar bases de datos entre versiones de OpenERP, pero también se podría extender para permitir la migración entre versiones entre otras aplicaciones basadas en PostgreSQL.

En la página principal del proyecto, podéis encontrar información detallada sobre el diseño y como utilizarla, pero ahora me gustaría explicaros como hemos llegado hasta aquí.

Los requerimientos

Desde que OpenERP SA anunció que las herramientas de migración no formarían parte del software público empezamos a dar vueltas en cómo podríamos implementarlas de forma reutilizable.

Algunas empresas buscaron soluciones a corto plazo, simplemente mirando de solucionar el problema para uno o dos clientes que querían pasar de la 4.2 o la 5.0 a la 6.0 y posponiendo la búsqueda de una solución real.

Nosotros estábamos convencidos que de la misma manera que la herencia había permitido a OpenERP tener centenares de módulos hechos y liberados por muchos desarrolladores, podríamos conseguir lo mismo con las migraciones.

Así que básicamente teníamos que implementar algo que solucionara los siguientes requerimientos:

  • Modular: tenía que proveer un mecanismo mediante el cual se pudieran reutilizar las transformaciones de datos de una base de datos a otra.
  • Rápido: dada la medida de las bases de datos de algunos de nuestros clientes, sabíamos que tendríamos que mover la información a nivel de base de datos.
  • Fácil de compartir: además de ser modular, queríamos asegurarnos que sería sencillo para todo el mundo compartir sus transformadas. Dado que la información sobre la migración no estaría incluida en los módulos, necesitábamos que fuera sencillo de compartir, así cómo de encontrar qué transformadas había disponibles.

Búsqueda y desarrollo

A continuación, explicaremos el camino hasta alcanzar el diseño actual de KafkaDB.

El proceso empezó con una pequeña prueba de concepto utilizando Python y openetl.

Descartamos esta opción, no tan sólo porqué estaba abandonado, sino también porqué la API no era intuitivo.

Además, a pesar de que no llegamos a hacer pruebas, parecía que podía ser relativamente lento.

La primera alternativa fue buscar otro ETL basado en python. Esta vez el candidato fue el Brewery.

Éste tenía una API bastante mejor pero no disponía de algunas funcionalidades básicas que necesitábamos; y a pesar de que habríamos podido contribuir al proyecto, necesitábamos centrarnos en solucionar los problemas que teníamos, no a implementar un ETL desde cero.

Habríamos querido que fuera en python, especialmente para hacer más sencillo que la gente contribuyera, pero empezamos a buscar alternativas en otros lenguajes.

Scriptella fue el primer candidato y éste basa su configuración en un fichero XML, así que nos pareció atractivo.

Ya sabíamos que el sistema que escogiéramos acabaría teniendo un fichero de configuración, así que a priori parecía que esta podía ser una buena opción porque el sistema ya dependía de uno.

A pesar de esto, no nos convenció el comportamiento por defecto de algunas opciones del sistema. Además del hecho que el XML parecía que podría ser poco práctico puesto que fácilmente podíamos llegar a las 400 tablas.

Así que Àngel, uno de mis socios y nuestro experto en Kettle y grandes migraciones de datos, empezó a jugar con la API de Kettle; y mirar a ver qué se podía hacer con transformadas manuales y algunos automatismos.

Pronto se dió cuenta, que no tan sólo podía cumplir todos los requerimientos que teníamos. Sino que, permitíamos que personas que no fueran desarrolladores también se podían migrar su base de datos.

Por ejemplo, varios de nuestros clientes se lo podrían hacer ellos mismos si lo desearan!

Además, Kettle es probablemente el ETL estándar de facto y especialmente entre la comunidad OpenERP. (Gracias a Terminatooor, un conector para Kettle creado por Akretion, especialmente diseñado para funcionar con OpenERP).

Presentación KafkaDB

Conclusiones

En resumen, a pesar de que KafkaDB no está acabado del todo todavía, consideramos, que constituye una buena base para el sistema de migraciones flexible que necesitamos.

Por una parte, para migrar información entre versiones de OpenERP, y que además, también lo permita entre aplicaciones diferentes.

Será viable, siempre y cuando se necesite volver a utilizar el proceso para diferentes bases de datos con estructuras parecidas.

Si desea obtener mas información relacionada con el tema de la «Presentación KafkaDB» puede visitar nuestro sitio web haciendo clic aquí.

Leer más

Curso técnico- Programación OpenERP.

Se está preparando un curso de programación OpenERP sobre inicio a la programación en OpenERP.

Una plataforma de formación OpenERP online, con diferentes cursos en función de sus necesidades y además, documentación siempre actualizada.

Horario:

La fecha es del 7 al 11 de noviembre.

Serán 35 horas, con horario 10’00-14’00 / 15’00-18’00, Lunes a Viernes

Competencias a desarrollar durante el curso de programación OpenERP:

El alumno aprenderá a instalar y actualizar OpenERP, crear sus propios módulos, modificar los ya existentes, crear informes, importar y exportar, utilizar el email desde OpenERP, Eclipse, Gedit, Bazar, PostgreSQL, . . .

Precio:

El precio es de 350 € (impuestos no incluidos)

¡ Corre y reserva tu plaza !

Curso de programación OpenERP

Puede encontrar más información sobre el curso en nuestra página web haciendo clic aquí.

Para más información, también puede visitar la web de Domatix.

Leer más

Cómo solucionar el error Gtk-WARNING pixmap

 

Solución al error Gtk-WARNING pixmap

Al iniciar el cliente de OpenERP y otras aplicaciones GTK puede pasar que salga el error. A continuación,  mostraremos la solución al error Gtk-WARNING pixmap

(openerp-client.py:4733): Gtk-WARNING **: Imposible encontrar el motor de temas en la ruta al _modulo: «pixmap»,

Para poder solucionarlo, tenemos que instalar el paquete gtkX-engines-pixbuf correspondiente al gtk empleado.

{code lang:bash title:»Solución para GTK2:»}sudo apt-get install gtk2-engines-pixbuf{/code}

{code lang:bash title:»Solución para GTK3:»}sudo apt-get install gtk3-engines-pixbuf{/code}

Puede encontrar más información sobre como solucionar el error en: http://www.domatix.com/solucion-error-gtk-warning-pixmap

También puede visitar nuestra página web haciendo clic aquí.

Solución al error Gtk-WARNING pixmap

Leer más

Ayuntamientos – OpenERP

Tras varios meses de desarrollo, y aún en una fase inicial, os presentamos OpenERP Ayuntamientos. Los primero antes de explicar nada es agradecer a los dos municipios que han financiado el desarrollo y han permitido la liberación del mismo: el Ayuntamiento de Barbate (Cádiz) y el Ayuntamiento de Cartes (Cantabria).

Read more http://www.ting.es/2011/10/27/openerp-ayuntamientos/

Ayuntamientos OpenERP

Para más información sobre OpenERP visita nuestra web haciendo un clic aquí.

Leer más

Multidivisa en OpenERP

OpenERP permite trabajar con múltiples divisas (multidivisa). La forma en la que permite trabajar con multidivisa es asociando una moneda principal para la compañía y un listado de monedas con su tasa de cambio para cada fecha.

Además, se pueden definir tarifas para cada moneda y usarlas en pedidos y facturas. En el caso de los pedidos, se indicará la tarifa de la moneda que queramos utilizar, y en la facturación podremos usar la misma moneda o hacer el cambio de divisa. Al validar la factura los movimientos contables se generarán en la moneda principal de la compañía con el cambio divisas actual almacenado en el sistema.

En este artículo se muestra como configurar y trabajar con varias monedas.

Configuración de monedas

La configuración de monedas se encuentra en Contabilidad/Configuración/Varios/Monedas

 

multidivisa

En el listado de monedas aparecen las monedas disponibles en cada compañía. En el ejemplo anterior se han borrado las monedas que no se van a utilizar y la información de la compañía, así las tasas de cambio están para todas las compañías.

 

multidivisa

Asimismo, en el formulario de cada moneda esta disponible un listado con las diferentes tasas de cambio en cada fecha.

 

multidivisa

Sin embargo, por comodidad lo ideal es desactivar las monedas que no se utilicen. Al crear la base de datos de OpenERP creará todas las monedas disponibles y las asociará a la primera compañía creada.

En el caso de trabajar en multicompañía, habrá que crear las monedas para cada compañía. Además, se deberá comprobar las reglas de acceso para que desde cada compañía solo se tenga acceso a las monedas asociadas a si misma. Otra opción sería no asociar la moneda a ninguna compañía para que estén disponibles para todas las compañías.

Para cada compañía en el formulario de compañías en el menú Administración/Compañías/Compañías se indicará la moneda principal de la compañía.

 

multidivisa

Actualización de tasas de cambio

Para actualizar las tasas de cambio se puede hacer manual o automáticamente obteniendo los datos de internet. Para hacerlo automáticamente se tendrá que instalar el módulo currency_rate_update y configurar el actualizador de divisas para cada compañía.

En el formulario de compañías después de instalar el módulo  currency_rate_update habrá una nueva solapa en la que se podrá configurar la actualización de cambios de divisas.

 

multidivisa

En cada linea de “Currency updates services” se podrá indicar el servicio del que obtener el cambio de divisas y para que monedas.

 

multidivisa

Con esto el sistema estará configurado para actualizar los cambios de divisas. Clickando el botón “Refresh Currencies” se actualizarán las tasas de cambio en este momento.

Configuración de tarifas multidivisas

Para trabajar con multidivisa desde el pedido habrá que crear una tarifa para cada moneda.

 

multidivisa

La forma mas sencilla es crear primero la tarifa para la moneda principal con las reglas necesarias y para cada moneda crear una tarifa con una única regla que indique que el precio lo tomamos de la tarifa principal, esto hará que las tarifas del resto de monedas serán dinámicas cogiendo el cambio disponible en cada fecha, pudiendo indicar un incremento como tanto por ciento o fijo.

En este ejemplo se muestra la regla por defecto para la tarifa en $ usando como base la tarifa en €

 

multidivisa

También, si en una regla de tarifa de una una tarifa con una moneda distinta de la principal de la compañía indicamos que el precio de tarifa depende del precio de compra o de venta del producto el precio de tarifa también será dinámico y dependerá del cambio de la moneda.

Un desarrollo interesante sería hacer multidivisa los precios de compra y venta de la ficha del producto así en las reglas de tarifas se podría escoger por ejemplo entre el precio de venta en la moneda principal de la compañía y el precio de venta de la moneda de la tarifa. Con esto se conseguiría hacer tarifas independientes para cada moneda, esto por el momento se puede solventar sin desarrollo haciendo una tarifa indicando un precio fijo para cada producto.

Pedidos y Facturas

En el momento de crear un pedido si se indica que use una tarifa con una moneda distinta de la moneda principal de la compañía se trabajará con es moneda exactamente igual que con la principal, todo el trabajo de cambio de divisas lo está haciendo por debajo el sistema de tarifas para recuperar el precio que corresponda.

 

multidivisa

En la captura del ejemplo el producto tenía un precio de venta de 1 euro, al usar la tarifa en dolares usará la tarifa de cambio para recuperar el precio de venta en dolares.

Al crear una factura a partir de un pedido, la factura se creará en la moneda de la tarifa del pedido. También se puede crear la factura directamente en la moneda que nos interese y si es necesario realizar luego el cambio de moneda.

 

Con el botón de cambio de divisa permitirá cambiar la divisa de la factura usando el cambio asociado en la fecha actual.

 

Después de indicar la nueva moneda y clickar el botón de cambio de moneda actualizará los importes.

 

Pago de facturas

Al realizar el pago de la factura y seleccionar el modo de pago aparecerán los vencimientos en la moneda principal de la compañía con la tasa de cambio del momento en el que se validó la factura. Si al realizar el pago el importe pagado es distinto del importe del vencimiento por diferencias en las tasas de cambio, habrá que conciliar el pago con un desajuste, indicando que el desajuste irá contra la cuenta contable correspondiente (Diferencias positivas de cambio).

 

Read more http://www.domatix.com/multidivisa_openerp

Para más información sobre OpenERP visita nuestra web haciendo un clic aquí.

Leer más

Instalar Zoook en Ubuntu – Parte III: Zoook – Instalación

Continuando con los artículos dedicados a instalar Zoook en Ubuntu 11.10 el siguiente paso será obtener Zoook de los repositorios de Zik Zak Media y conectarlo a OpenERP. Instalar Zoook en Ubuntu – Parte III

1.- Descargar Zoook de los repositorios

Para emepzar, se usará el control de versiones Bazaar así que el primer paso será instalarlo en caso de no tenerlo.

{code lang:bash title:»Para instalar Bazaar:»}sudo apt-get install bzr{/code}

Ahora hay que descargar el contenido del repositorio de Zoook. Se usará la carpeta creada en el artículo anterior para almacenar los proyectos de Django ( django-projects ).

{code lang:bash title:»Clonar el repositorio de Zoook en la carpeta django-projects:»}cd /home/roberto/django-projects bzr branch lp:~zikzak/zoook/zoook-app{/code}

Esto creará un directorio zoook-app en la carpeta de proyectos de Django. Por tanto la ruta de definitiva de zoook será:

/home/roberto/django-projects/zoook-app

2.- Instalar dependencias.

Zoook requiere

Lo primero que se necesita para instalar las dependencias es el paquete python-setuptools. {code lang:bash title:»Instalar python-setuptools:»}sudo apt-get install python-setuptools{/code}

A continuación, tendremos que crear una carpeta donde almacenar todas las aplicaciones de terceros que necesita Zoook.

Esto será útil para poder actualizarlas con git, mercurial, svn, etc. en caso de necesitarlo.

La carpeta elegida para almacenar las aplicaciones de terceros será:

/home/roberto/django-projects/zoook-external

{code lang:bash title:»Crear la carpeta:»}cd ~/django-projects mkdir zoook-external {/code}

A continuación, usaremos esa carpeta para almacenar las dependencias.

2.1.- OOOP ( Open Object On Python )

{code lang:bash title:»Para instalar OOOP:»}cd ~/django-projects/zoook-external git clone https://github.com/zikzakmedia/ooop.git cd ooop sudo python setup.py install{/code}

2.2.- Pyro3 ( Python Remote Objects )

Buscar la descarga en su web:

http://pypi.python.org/pypi/Pyro/

En este artículo se usará la última versión disponible a día de hoy que es:

http://pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz

{code lang:bash title:»Instalar Pyro3:»}cd ~/django-projects/zoook-external wget pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz tar xvzf Pyro-3.15.tar.gz cd Pyro-3.15 sudo python setup.py install{/code}

2.3.- Paramiko

http://www.lag.net/paramiko/

En este artículo se usará la última versión disponible a día de hoy que es:

http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz

{code lang:bash title:»Para instalar Paramiko:»}cd ~/django-projects/zoook-external wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz tar xvzf paramiko-1.7.7.1.tar.gz cd paramiko-1.7.7.1 sudo python setup.py install{/code}

 2.4.- recaptcha-client

http://pypi.python.org/packages/source/r/recaptcha-client/

En este artículo se usará la última versión disponible a día de hoy que es:

http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz

{code lang:bash title:»Para instalar recaptcha-client:»}cd ~/django-projects/zoook-external wget http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz tar xvzf recaptcha-client-1.0.6.tar.gz cd recaptcha-client-1.0.6 sudo python setup.py install{/code}

2.5.- inplaceditform

{code lang:bash title:»Clonar e instalar el fork de inplaceeditform mantenido por Zikzakmedia:»}cd ~/django-projects/zoook-external git clone https://github.com/zikzakmedia/inplaceeditform.git cd inplaceeditform sudo python setup.py install{/code}

2.6.- django-localeurl

En caso de no tener instalado el control de versiones Mercurial hay que instalarlo.

 {code lang:bash title:»Instalar Mercurial:»}sudo apt-get install mercurial{/code}

Después clonar el repositorio oficial de django-localeurl e instalarlo.

{code lang:bash title:»Clonar django-localeurl e instalarlo:»}cd ~/django-projects/zoook-external hg clone https://bitbucket.org/carljm/django-localeurl cd django-localeurl/ sudo python setup.py install{/code}

2.7.- django-transmeta

En caso de no tener instalado SVN hay que instalarlo.

{code lang:bash title:»Instalar SVN:»}sudo apt-get install svn{/code}

Después clonar el repositorio svn de django-transmeta e instalarlo.

 {code lang:bash title:»Clonar django-localeurl:»}cd ~/django-projects/zoook-external svn checkout http://django-transmeta.googlecode.com/svn/trunk/ django-transmeta cd django-transmeta sudo python setup.py install{/code}

2.8.- django-maintenancemode

{code lang:bash title:»Clonar e instalar el fork de django-maintenancemode mantenido por Zikzakmedia:»}cd ~/django-projects/zoook-external git clone https://github.com/zikzakmedia/django-maintenancemode.git cd django-maintenancemode sudo python setup.py install{/code}

3.- Corregir rutas con prefijo «zoook».

Por defecto Zoook trae ciertas rutas en los import que incluyen «zoook.». Entendemos que deben tener agregado al PYTHONPATH la ruta de los proyectos y el prefijo «zoook» implica buscar dentro del proyecto zoook.

La solución propuesta es convertir esas urls en relativas al proyecto actual de zoook. Esto es, eliminar el prefijo «zoook.» de las llamadas que lo contienen.

Será necesario realizar las siguientes modificaciones:

{code lang:python title:»Editar /zoook-app/settings.py y cambiar:»}ROOT_URLCONF = ‘zoook.urls'{/code}{code lang:python title:»por:»}ROOT_URLCONF = ‘urls'{/code}

{code lang:python title:»Editar /zoook-app/tools/cms/templatetags/imageslider.py y cambiar:»}from zoook.tools.cms.models import ImageSlider, ImageSliderItem{/code}{code lang:python title:»por:»}from tools.cms.models import ImageSlider, ImageSliderItem{/code}

{code lang:python title:»Editar /zoook-app/tools/cms/templatetags/menubuilder.py y cambiar:»}from zoook.tools.cms.models import Menu, MenuItem{/code}{code lang:python title:»por:»}from tools.cms.models import Menu, MenuItem{/code}

{code lang:python title:»Editar /zoook-app/tools/cms/templatetags/modules.py y cambiar:»}from zoook.tools.cms.models import Modules{/code}{code lang:python title:»por:»}from tools.cms.models import Modules{/code}

Dada la extensión de este artículo hemos decidido dividirlo. En la próxima parte estableceremos las conexiones con OpenERP y parametrizaremos Zoook.

Read more http://www.domatix.com/instalar-zoook-en-ubuntu-parte-iii-zoook-instalacion

Puede encontrar más información sobre como instalar Zoook en Ubuntu – Parte III, en nuestra web haciendo clic aquí.

Instalar Zoook en Ubuntu - Parte III

Leer más

Instalar Zoook en Ubuntu – Parte II: Python y Django

 

Instalar Zoook en Ubuntu – Parte II. En esta parte procederemos a instalar Python y Django en Ubuntu para la versión 11.10 así como a verificar su funcionamiento.

1.- Instalar Python

Por defecto Ubuntu 11.10 instala Python 2.7.2.

Para comprobar que python está instalado y su versión:

python

Que devuelve algo como:

 

 

Instalar Zoook en Ubuntu - Parte II

 

El mensaje indica que está instalada la versión 2.7.2

Para salir del intérprete Python tecleamos:

quit()

En caso de no tener instalado Python podemos instalarlo con:

sudo apt-get install python

A continuación hay que instalar dependencias necesarias para poder instalar Django sin errores y conectarlo a una base de datos PostgreSQL.

Instalamos las dependencias con:

sudo apt-get install python-dev python-psycopg2

2.- Instalar Django

Django puede instalarse de tres formas:

  1. Descargar la versión estable desde su web
  2. Descargar la última versión en desarrollo desde repositorios.
  3. Usar los sistemas de distribución de paquetes de algunas distribuciones (como Ubuntu).

En este artículo se detalla exclusivamente el método 3 mediante descarga de la última versión desde repositorios ( en el momento de escribir el artículo versión 1.4 pre-alpha ).

Para empezar el proceso necesitaremos un sistema de control de versiones, ya sea Git o SVN . Dada la simplicidad de ambos procesos se explican los dos aunque recomendamos usar Git.

Instalar control de versiones Git:

sudo apt-get install git

Instalar control de versiones SVN:

sudo apt-get install svn

Una vez obtenido el sistema de control de versiones elegido hay que crear una carpeta que almacenará el código fuente de Django. En este caso la carpeta se llamará django-trunk pero no es necesario que tenga ese nombre.

Vamos a crear la carpeta en el home de nuestro usuario y acceder a ella:

cd /home/roberto
mkdir django-trunk
cd django-trunk

Dentro de esa carpeta hay que importar el código desde los repositorios de Django con el sistema de control de versiones elegido.

Importar Django con Git:

ATENCIÓN: no olvidar el . al final de la línea que indica que queremos clonar el repositorio en la carpeta actual

git clone https://github.com/django/django.git

Importar Django con SVN:

ATENCIÓN: no olvidar el . al final de la línea que indica que queremos clonar el repositorio en la carpeta actual

svn co http://code.djangoproject.com/svn/django/trunk/ .

Ya está preparada la carpeta de Django. Ahora hay que informarle a Python de dónde está la carpeta con Django. Para eso, a su vez, hay que buscar dónde están los site-packages de Python.

Averiguar dónde están los site-packages de Python:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

Nos devolverá algo como:

 

 

 

Que indica que en este caso el directorio de los site-packages es: /usr/lib/python2.7/dist-packages

Dentro de ese directorio hay que agregar la ruta a la carpeta con el código fuente de Django.

Para agregar la ruta a Django:

echo '/home/roberto/django-trunk' | sudo tee -a /usr/lib/python2.7/dist-packages/django.pth

Eso creará un archivo /usr/lib/python2.7/dist-packages/django.pth en cuyo interior queda almacenada la ruta de acceso a Django.

A continuación crear enlace simbólico a django-admin.py para facilitar su uso:

sudo ln -s /home/roberto/django-trunk/django/bin/django-admin.py /usr/local/bin

 De este modo se puede usar django-admin.py desde cualquier carpeta en lugar de tener que usar /home/roberto/django-trunk/django/bin/django-admin.py

3.- Verificar instalación

Comprobar que Python es capaz de encontrar Django:

python
>>> import django
>>> print django.get_version()

Que devolverá algo como:

 

 

Instalar Zoook en Ubuntu - Parte II

 

que indica que Python ha detectado y conectado correctamente con la versión 1.4 pre-alpha de Django que hay en el sistema.

La siguiente verificación será crear el primer proyecto de Django para verificar que la generación funciona.

Crear una carpeta para almacenar los proyectos de Django y acceder a ella:

mkdir /home/roberto/django-projects
cd /home/roberto/django-projects

En este caso la carpeta se ha creado en el home del usuario con el nombre «django-projects» pero no es necesario que sea así. En su lugar podría haberse usado, por ejemplo, la carpeta workspace que usa Eclipse.

Crear el proyecto de prueba en la carpeta:

django-admin.py startproject testdjango

Acceder al proyecto y lanzar el servidor Django integrado:

cd testdjango
python manage.py runserver

Que devuelve algo como:

 

 

Instalar Zoook en Ubuntu - Parte II

 

El servidor ha arrancado correctamente y está esperando conexiones locales en el puerto 8000 ( http://127.0.0.1:8000 ). Al abrir el navegador en la ruta indicada por el mensaje debería aparecer:

 

 

 

El proyecto ha cargado correctamente y es accesible desde el navegador. Ahora se podría crear una base de datos en PostgreSQL y comprobar la conectividad con el proyecto pero dada la finalidad de este artículo ( instalar Zoook ) el acceso a base de datos se detallará más adelante al configurar Zoook.

En el enlace que le adjuntaremos a continuación, encontrara más información sobre cómo Instalar Zoook en Ubuntu – Parte II http://www.domatix.com/instalar-zoook-en-ubuntu-parte-ii-python-y-django

Puede encontrar más información sobre temas similares en nuestra página web haciedno clic aquí.

Leer más