OpenERP 模块描述文件 : __openerp__.py
一般模块
在已创建模块的目录下,你必须添加一个__openerp__.py文件。这个文件必须在Python的格式下,负责:
确定所需的XML文件,server在进行初始化时将从语法上分析这些文件。
1.确定已创建模块的依赖。
这个文件包括下面的值:
name
(英文)名称.
version
版本
description
描述
author
模块的作者
website
模块的网站
license
模块的授权协议(默认AGPL).
depends
列出该模块所依赖的其他模块,因为base模块包括模块必须的视图,报表等数据,所以base模块应该在其他所有模块的依赖中。
init_xml
List of .xml files to load when the server is launched with the “—init=module” argument. Filepaths must be relative to the directory where the module is. OpenERP XML File Format is detailed in this section.
update_xml
List of .xml files to load when the server is launched with the “—update=module” launched. Filepaths must be relative to the directory where the module is. OpenERP XML File Format is detailed in this section.
installable
True或是False,决定这个模块是否可安装。
active
True或是False(默认是False),决定这个模块在数据库创建时是否安装。
例子
以product模块中的__openerp__.py为例:
{
"name" : "Products & Pricelists",
"version" : "1.1",
"author" : "Open",
"category" : "Generic Modules/Inventory Control",
"depends" : ["base", "account"],
"init_xml" : [],
"demo_xml" : ["product_demo.xml"],
"update_xml" : ["product_data.xml","product_report.xml", "product_wizard.xml","product_view.xml", "pricelist_view.xml"],
"installable": True,
"active": True
}
放置在init_xml中的文件必须要么是和工作流相关,要么是安装软件时装载数据相关,或是和示例数据相关。
update_xml中的文件涉及到视图,报表和向导。
Profile 模块
一个profile的目的是在数据库创建后直接使用一组模块来初始化OpenERP。这个profile是一种特殊的模块,它不包含代码,只是 依赖于其他的模块 。
为了创建一个新的profile,你需要在server/addons里建一个新目录(可以给它取名为profile_modulename)。在新目录里放一个空的__init__.py文件和__openerp__.py。这个文件的结构是:
{
"name":"''Name of the Profile'',
"version":"''Version String''",
"author":"''Author Name''",
"category":"Profile",
"depends":[''List of the modules to install with the profile''],
"demo_xml":[],
"update_xml":[],
"active":False,
"installable":True,
}
例子
我们以文件server/bin/addons/profile_manufacturing/__openerp__.py中的代码为例,它对应着OpenERP中的manufacturing industry profile。
{
"name":"Manufacturing industry profile",
"version":"1.1",
"author":"Open",
"category":"Profile",
"depends":["mrp", "crm", "sale", "delivery"],
"demo_xml":[],
"update_xml":[],
"active":False,
"installable":True,
}