:::: MENU ::::

Nuevo avance en Migraciones de OpenERP

Ayer OpenERP montó un Sistema Web con el cual podéis migrar vuestras Bases de Datos. Por ejemplo podréis migrar Bases de Datos desde la 5.0 a la 6.1. Pero esto sólo migrará las bases de datos que vengan de serie con OpenERP. Es decir, que si tenéis módulos propietarios no se producirán los cambios en esas tablas y tal vez no os funcionen. Lo explico mejor ……

Este tema es algo que trae de cabeza a la comunidad de OpenERP, según parece OpenERP está haciendo todo lo posible por que su sistemas se migren sin problemas. Pero lo que no gusta a la comunidad son sus precios y las políticas de contratos de las migraciones (aquí está el negocio de OpenERP, que alguno parece que no se entera), algo que puede ser discutible. Pero bueno ahí están dando la cara y diciendo que pueden migrar sus versiones.

El pequeño gran problema para un usuario final, es cuando tu contratas a una empresa externa a OpenERP para que te cree cierto módulo propietario. Pues ahí OpenERP no se mete, ya que ese módulo te lo tiene que migrar la empresa que has contratado. Creo que es algo lógico, cada uno se hace responsable de lo que crea. Así es la vida.

La noticia del lanzamiento de esta Web se comentó en el último congreso celebrado en San Sebastián y por fin se ha hecho realidad.

Lo malo de esto es que antes hay que pasar por caja. El Software Libre también es un negocio, nunca se os olvide.

La web es http://migration.openerp.com/.

Saludos.


Odoo 7

De vuelta de las V Jornadas de OpenERP en San Sebastián, he podido sacar bastantes conclusiones, pero seguramente la más importante sea que OpenERP está creciendo poco a poco por todo el territorio Español, ya sea a través de los Partners o de la propia comunidad. Y eso es algo que satisface.

Por mi parte, tenía bastante interés en saber algo mas sobre migraciones y transformaciones de datos en este sistema y cómo sería la nueva versión de OpenERP, la versión 7. Creo que no me llevé mal sabor de boca.

Para las migraciones – transformaciones de datos y versiones se habló sobre KafkaDB, Kettle y Server Migration. Aunque también se habló de MongoDB con OpenERP para aquellas bases de datos no relacionales basadas en una escalabilidad horizontal. Muy interesante.

Pero tal vez lo más emocionante fue cuando Frédéric (creador del cliente web 7) presentó a través de un workshop la nueva interfaz gráfica de la versión 7 para OpenERP.

Esta nueva versión constará de:

  • Posibilidad de embeber código html.
  • Nuevo módulo de emails.
  • Nueva interfaz móvil.
  • Sólo se realizarán comunicaciones con el servidor cuando sean necesarias.
  • Todos los módulos serán de tipo web.
  • Nuevas herramientas para Debug.
  • Uso de HTML5, JQUERY, Underscore, RaphaelJS, WebDB y Backbone.

Para terminar nos ofreció este enlace para poder hacer pruebas a sistemas subidos a la nube. De bastante utilidad.

Bueno espero que os haya orientado un poco por donde irán los tiros de OpenERP en un futuro muy cercano.

Saludos a todos.


Instalar SubVersion en Ubuntu

Os voy a explicar cómo montar un Controlador de Versiones de códigos en un Repositorio, o más bien conocido como Subversion.

En este caso lo explicaré para trabajar sobre máquinas Linux – Ubuntu. Yo en mi caso lo he montado en un Servidor Ubuntu 10.04 LTS y me va de maravilla.

Bueno pasamos a la instalación:

Primero instalamos los paquetes necesarios

sudo aptitude install apache2 subversion subversion-toolslibapache2-svn

sudo apt-get install subversion libapache2-svn

Creamos la ruta del repositorio ejemplo : /svn/repositorio

sudo mkdir /ruta/de/la/raiz/de/repositorios

Editamos el archivo dav_svn.conf de la carpeta /etc/apache2/mods-enabled/

DAV svn
SVNParentPath /ruta/de/la/raiz/de/repositorios
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

Creamos los módulos necesarios

a2enmod
$> Module name?
auth_basic


a2enmod
$> Module name?
authn_file

a2enmod
$>Module name?
authz_user

Creamos el primer usuario

sudo htpasswd -cb /etc/apache2/dav_svn.passwd nombre_usuario contraseña_usuario

Los siguientes usuarios

sudo htpasswd -D /etc/apache2/dav_svn.passwd nombre_usuario

Te pedira la contraeña y ponemos la que queramos

Eliminar usuarios (si se deseara)

sudo htpasswd -D /etc/apache2/dav_svn.passwd nombre_usuario

Creamos el repositorio

sudo mkdir /raiz/de/repositorios/nombre_repositorio

svnadmin create /raiz/de/repositorios/nombre_repositorio

sudo chown www-data:www-data /raiz/repositorios

sudo chmod 766 /raiz/repositorios/repositorio

sudo /etc/init.d/apache2 start

Comprobamos que todo ha ido bien

http://localhost/raizderepositorio/nombre_repositorio

Si queremos crear grupos de usuarios

Editamos /etc/apache2/mods-enabled/dav_svn.conf

Quitar la almohadilla a : AuthzSVNAccessFile /etc/apache2/dav_svn.groups

Lo guardamos y salimos

Ahora creamos el fihero dav_svn.groups

cd /etc/apache2/
sudo nano dav_svn.groups

Lo editamos por ejemplo

[groups]
grupo1: pepe, paco, maria

[repo1:/]
@grupo1: rw

Salimos (ctrl+x) y lo guardamos

Reiniciamos apache

sudo /etc/init.d/apache2 restart

Bueno pues nada mas. Saludos a todos, gracias por leerme.


BackUps automáticos para PostgreSQL

En este Post voy a explicar cómo hacer backups automáticos para PostgreSQL en Ubuntu y además cómo mandar la copia de la
base de datos a otra máquina diferente. Cliente – Servidor.

Así que empecemos.

Crear las autorizaciones oportunas entre Cliente y Servidor.

sudo apt-get install openssh-server (tanto en el servidor como en el cliente)

ssh-keygen -t dsa (en el servidor)

Ahora en la carpeta home/tuusuario/.ssh del servidor habrá un archivo llamado id_dsa.pub, lo abrimos y copiamos el contenido en
home/tuusuario/.ssh del cliente en un archivo llamado authorized_keys, si no está lo creamos. Así ya tenemos creado el enlace
para realizar una conexión segura entre cliente y servidor, además nos quitamos el tener que introducir la contraseña de
validación.

Creación del Script.

En el servidor, desarrollamos el script para realizar las copias de datos en PostgreSQL, por ejemplo en home/usuarioservidor/ creamos un fichero llamado backups.sh y le damos propiedades 755. El script es el siguiente:

#!/bin/bash
#=============================================================================================
# Script Backup Databases PostgreSQL - Tomeu Roig
# =============================================================================================


# Procedimiento de Copia de Seguridad de Servidor de Postgres

## BEGIN CONFIG ##
BACKUP_DIR="/var/backups/ejemplo/" #Dirección de ejemplo donde se guardaran los backups
USER= tuusuario
FECHA=$(date +%d-%m-%Y)
FECHA_BORRADO=$(date +%d-%m-%Y --date=''10 days ago'')
BACKUP_DIR_TODAY=$BACKUP_DIR$FECHA/
## END CONFIG ##
export PGPASSWORD= tupass

if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi

echo $BACKUP_DIR_TODAY
if [ ! -d $BACKUP_DIR_TODAY ]; then
mkdir $BACKUP_DIR_TODAY
fi

#Leemos todas la bases de datos existente en Postgres, para despues realizar la copia una a una
POSTGRE_DBS=$(psql -U $USER -l | awk ''(NR > 2) && (/[a-zA-Z0-9]+[ ]+[|]/) && ( $0 !~ /template[0-9]/) { print $1 }'');
#Realizamos la copia de seguridad de cada una de ellas y las guardamos en un directorio de backups
for DB in $POSTGRE_DBS ; do
echo "* Backuping PostgreSQL data from $DB@$HOST ..."
pg_dump -U $USER --format=c -f $BACKUP_DIR_TODAY$DB.backup $DB

#Borramos las copias con una antiguedad mayor a 10 dias
rm -rf $BACKUP_DIR$FECHA_BORRADO
echo "finalizada $DB ..."
done

# Las empaquetamos y las copiamos en otro servidor de respaldo.
# Una vez realizado borramos el empaquetado.
cd $BACKUP_DIR_TODAY
echo "...empaquetamos las DBs del $FECHA..."
tar czvf dbs-$FECHA.tar.gz *.backup

echo "... enviamos una copia a un sitio distinto por scp..."

scp /var/backups/ejemplo/$FECHA/dbs-$FECHA.tar.gz usuarioservidor@ipservidor:/home/usuarioservidor/Backups_OSP/dbs-$FECHA.tar.gz

Lanzar el script automáico (si se desea)

Para terminar, vamos a hacer que ese script se lance cada cierto tiempo en el servidor, para ello vamos a utilizar una herramienta para ubuntu llamada crontab:

sudo apt-get install cron

cd /etc/

sudo nano crontab

Y ponemos en ese archivo: 15 22 * * * usuarioservidor /home/usuarioservidor/backups.sh

Esto indica que se hará todos los días a las 22:15

Lanzar el script manual (si se desea)

cd /home/usuarioservidor/

sh backups.sh

Pues nada, ya está todo montado. A disfrutar de los backups.

Saludos.

 


Migraciones de datos OpenERP

De todos es sabido la importancia de las migraciones de datos cuando intentas trasladar el Sistema de Gestión Interno de una empresa a su nuevo ERP, en este caso a OpenERP.

Existen 3 formas básicas de realizar migraciones de datos para OpenERP:

1 – Creación de un módulo: este caso es muy necesario cuando se precisa de la creación de campos autocompletados por el framework de OpenERP. Mas información Aquí.

2 – Usar la herramienta que facilita OpenERP para exportar ficheros. Pero recomiendo antes de nada exportar los datos ejemplos desde OpenERP, luego modificar ese documento con tus datos y al final importar los datos a OpenERP. Así se evitarán conflictos. Pero este punto no os servirá si tenéis datos de un módulo que dependen de otros módulos. Es recomendable por ejemplo si queréis exportar una lista simple de empleados, pero no es recomendable para el tratado de clientes con sus cuentas contables y a su vez con los pedidos de estos, para eso es mejor ver el siguiente punto del tema.

3 – Hacerse con el dominio de la herramienta Kettle (una maravilla) y combinarla con la creación de un módulo del punto 1, ya que de este modo no nos saltaremos la creación de campos autocompletados (siempre que fuesen necesario). Porque Kettle no es capaz de crear estos últimos o al menos yo no lo he conseguido diseñar. De todos modos, creo que no es posible.

Bueno espero que mas o menos tengáis una idea clara de cómo navegar por este gran mundo de las migraciones de datos para OpenERP 😉


Páginas:123456