This module allows the administrator to prototype new features and export them as module. Functional people can prepare the job for a developer who is left with the logic to implement in addition to everything the prototype does not export yet.
Make sure you have Jinja2 version 2.7.3 or higher installed:
$ pip install --upgrade Jinja2==2.7.3
No configuration required.
To use this module, you need to:
- install the dependencies of your future module
- customize your instance by adding fields and creating inherited views
- create your menu items and their window actions
- prepare your data and demo data by creating filters
- create your own groups with access rights and record rules
- add your own access rights and record rules to an existing group
Once you have customized your instance properly, you can go to Settings > Module Prototypes > Prototypes and create a new prototype:
- fill in the information of your module (enter the name, the description, the logo, etc.)
- in the Depencencies tab, select all the other modules that yours will be depending on
- in the Data & Demo tab, select your filters for data and demo data
- in the Fields tab, select the fields you created or customized
- in the Interface tab, select your menu items and your views
- in the Security tab, select your groups, access rights and record rules
- save and click on export
You will get a zip file containing your module ready to be installed and compliant with the conventions of the OCA. You can then provide the module to a developer who have to implement things like default values or onchange methods.
Known issues / Roadmap
- #104 - Include controllers.py and templates.xml from scaffold.
- Attach images to the prototype and export them to be used in the 'images' module manifest.
- Export data and demo data
- Export reports
- Export workflows, nodes, transitions, actions
- Export groups, access rights and record rules
- Allow selecting and exporting website stuff
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback here.
- David Arnold <firstname.lastname@example.org>
- Jordi Riera <email@example.com>
- Maxime Chambreuil <firstname.lastname@example.org>
- El hadji Dem <email@example.com>
- Savoir-faire Linux <firstname.lastname@example.org>
- Vincent Vinet <email@example.com>
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
To contribute to this module, please visit http://odoo-community.org.
- Replace ir.ui.model by ir.ui.view in generated xml views
- Improve pep8 compatibility of generation of models
- Renamed from prototype to module_prototyper as discussed in #108
- Menu in Settings that gather element used to create a prototype (menu views, views, fields)
- The set up of openerp.py is covered, description, maintainer, website, name, technical name...
- Views and menus can be set through odoo and gathered in prototype. The files will be automatically generated and add to the data section of the openerp.py. Be aware some advanced feature as domain or context might still missing.
- Dependencies can be set through the Dependencies tab
- Custom fields can be added. A file by model will be generated with all the fields of the model. The init.py files are updated accordingly. Be aware that some features are not implemented yet, as the domain, the context.