Création de la structure du module OpenERP

Présentation

Un module correspond à un répertoire dans le dossier /usr/lib/python2.7/dist-packages/openerp/addons.

Si le chenim du répertoire addons n'existe pas, consulter le paramètre addons_path du fichier de configuration de OpenERP pour connaître où il se situe dans l'arborescence. cat /etc/openerp/openerp-server.conf

Quelques précisison sur les modules

Un module OpenERP correspond à un ensemble d'éléments (sous-dossiers et fichiers) regroupés dans un dossier localisé par défaut dans le dossier addons.

Ce dossier doit contenir un minimum d'éléments :

Dossiers

Nom du dossier	Description
i18n	Informations de traduction du module(fichiers .po)
security	Fichiers de contrôle d'accès et les règles

Dossiers éventuels

Nom du dossier	Description
static	C'est le dossier Web du module avec ses sous-dossiers pour l'image du module, les CSS, les fichiers javascript, etc.
process	workflow (et processus) décrit dans un fichier XML
report	Fichiers pour les rapports décrits dans des fichiers .sxw

Les fichiers

Nom du ficher	Description
__init__.py	permet le chargement du fichier par OpenERP
__openerp__.py	Fichier Manifest avec les informations sur le module : nom, version, catégorie, description, fichiers à charger, dépendances, etc.
fichiers python	code du module (Contrôleurs, Modèles)
Fichiers XML	décrivant les vues : listes, formulaires, menus, filtres de recherche

Les fichiers .py sont des scripts écrits en python.

Création du module

A faire : Créer le squelette du module appelé openacademy dans le dossier addons. ouvrez une session terminal en tant que root ; positionnez-vous dans le dossier addons d'Odoo (/usr/lib/python2.7/dist-packages/openerp/addons) Créez le sous-dossier openacademy ; Créez dans le dossier openacademy le sous-dossier security. # cd /usr/lib/python2.7/dist-packages/openerp/addons # mkdir openacademy # mkdir openacademy/security

Création du fichier manifest du module OpenERP

Le rôle du fichier manifest __openerp__.py est de personnaliser la déclaration du module.

A faire : Créez le fichier manifest __openerp__.py du module comme ci-dessous (nom, description, auteur, etc.) dans votre dossier openacademy: # -*- coding: utf-8 -*- { 'name': "Open Academy", 'summary': """Gérer les formations""", 'description': """ Module Open Academy pour gérer les formations : - parcours de formation - session de formation - inscription """, 'author': "Charles Techer", 'website': "http://www.devodoo.fr", # Categories can be used to filter modules in modules listing # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml # for the full list 'category': 'Test', 'version': '0.1', # any module necessary for this one to work correctly 'depends': ['base'], # always loaded 'data': [ # 'security/ir.model.access.csv', 'templates.xml', ], # only loaded in demonstration mode 'demo': [ 'demo.xml', ], } Enregistrez le fichier Modifiez les droits sur les fichiers avec la commande suivante après vous êtes positionné sur le dossier addons: # cd .. # chmod 0755 -R openacademy
Les paramètres sont définis de la manière suivante : 'parametre': 'valeur', 'parametre': ['valeur1','valeur2','valeur3'],
Les différents paramètres :

name : le nom du module ;

version : la version du module ;

category : la catégorie du module ;

sequence : numéro de classement dans la liste des modules : 1 en tête du classement, 100 en bas ;

author : auteur du module ;

summary : résumé court sur ce que fait le module ;

description : description complète du module ;

depends : les modules dont votre module dépend ;

data : les fichiers à charger s'il s'agit d'un module Web;

Votre module peut maintenant disponible parmi les autres modules d'OpenERP. Pour cela, il faut mettre à jour la liste des modules.

Pour faire cette mise à jour, il faut activez l'accès aux caractéristiques techniques pour le compte administrateur :

à partir du module Configuration, choisissez le menu Utilisateurs puis le compte Administrator :

passez en modification et dans l'onglet Droit d'accès cliquez sur l'option Caractéristiques techniques :

Sauvegardez, déconnectez puis reconnectez-vous.

Maintenant vous avez menu permettant la mise à jour de la liste des modules :

En faisant une recherche sur le nom du module openacademy, vous pouvez le visualiser et bientôt l'installer :

Si vous lancez son installation vous aurez une erreur car le module openacademy n'est pas trouvé (le fichier openacademy.py. Cependant l'installation est partiellement faite :

Retour au sommaire de création d'un module

Développer un module dans OpenERP 7