StarUML Odoo Addon Generator
30-day money-back guarantee
Free Shipping in U.S.
Buy now, get in 2 days
Presented at Odoo Experience 2022 Brussels
The solution is presented in Odoo Experience 2022 Brussels and got a very positive responses both from Odoo team and the audience as well.
Generate Full Installable Odoo Add-on From UML Diagram ?
Save hundred or thousand of Dollar for prototyping the proof of concept
This is simply AMAZING !
You can now create the complete and ready to install Odoo addon directly from UML diagram created on StarUML application.
StarUML is freely-evaluateable modeling software where you can generate Java, PHP, Python code directly from UML class diagram. Download it free from http://staruml.io.
We create a StarUML extension for generating Odoo Addon.
With this StarUML extension generator script, you can create:
Python class files with all fields and class methods
Standard XML views (form, tree)
Main application menu
Each object menus
Calendar view
Graph view
Kanban view
Pivot views
QWEB reports
Status bar and workflow action buttons
Security access files
Security groups
Preview Presentation on Odoo Experience 2022 Brussels
Odoo Addon Generator from UML Diagram - Preview material for Odoo Experience 2022 Belgium
This solution will be presented on a prestige annual event, Odoo Experience in Brussels October 2022.
StarUML Odoo Generator
Academic Addon Part1
Sample addon generated from UML diagram created with StarUML. Create basic models and relationship and generate and install the add-on.
Generate Odoo addon from UML diagram:
python code
relational fields: one2many many2one
xml files
form views
kanban views
calendar views
graph views
security access
menus
StarUML Odoo Generator
Academic Addon Part3
Sample addon generated from UML diagram created with StarUML.
Create image binary field and automatically show it on kanban template.
Easy
Just draw and model your class with StarUML using standard UML modeling notation.
Generate the Addon
Then click the menu Tools - Odoo - Generate Code and you got the complete-ready-to-install Odoo Addon based on your diagram!
You can adjust the setting, addon name, dependencies from menu
Tools - Odoo - Configure
Addon Generated!
You will find you add-on ready to be installed.
It is already equipped with Model Class Files, Form Views, Tree Views, Main Menu, Menu for each Classes, Kanban View, Calendar View, Graph View, Security Access, Manifest, and Init files
It will be easily installed on Odoo platform!
Show Your Addon!
Once installed you can see the application running on Odoo in seconds! You may adjust the everything generated because this is the standard Odoo add-on.
This is the fastest way to prototype your complex application for internal use or for rapid prototyping for you next big customers!
This will save hundred or thousand of dollars for hiring Odoo developer just for prototyping the application proof of concept.
Installation
Simple Installation Steps
This extension for StarUML support to generate Odoo code from UML model. Install this extension from Extension Manager of StarUML.
Get this extension as a .zip file after you purchase one.
Extract the zip file on the extensions path.
for Mac OS: /Users/<user>/Library/Application Support/StarUML/extensions/user
for Windows: C:\Users\<user>\AppData\Roaming\StarUML\extensions\user
for Linux: ~/.config/StarUML/extensions/user
Check a folder in the extensions path and main.js file in the folder.
Restart StarUML.
Please check here for detailed instalation process of the extension:
https://docs.staruml.io/user-guide/managing-extensions
Odoo Code Generation
How to generate the Odoo Addon
Click the menu (Tools > Odoo > Generate Code...)
Select a base model (or package) that will be generated to Odoo
Select a folder where generated Odoo source files (.py, .xml, .csv) will be placed. This will be the addon folder name
Rules
Rules when diagramming the UML for Odoo Add-on
Below are the rules to convert from UML model elements to Odoo source codes.
Configuration
Click Tools > Odoo > Configure to set your addon setting
Addon Name: is your addon folder name and act also as the namespace for your classes
Dependecies: type your addon dependencies as comma separated string values, for example: "hr", "account", etc.
Docstring: Yes or No to wether generate to documentation string on your class or not
Installation Path: your python installation path (optional)
Use Tab: whether you want to use Tab character instead of spaces on your python indentation
Indent Spaces: number of indent spaces on your python code.
Odoo object name
Odoo object name is the class field called _name on Odoo ORM
Odoo object name is automatically generated based on "addonName" (namespace) and "className", eg "my_addon.my_object"
you may force you Odoo object name different from your UML class name by creating an attributed called _name on the class and set the name on _defaultValue field, eg module.classname. This _name attribute is mandatory if you to inherit your Odoo object from another Object
Odoo inherit object
If the object is inherted from other Odoo object, create a attribute called _inherit
the parent object is set on defaultValue field, eg res.partner
Odoo fields
Every attribute on UML class is converted into Odoo object field
Set the Odoo field type on type field
Example Char will be converted to fields.Char(), Integer to fields.Integer()
Odoo help attributes
The Documentation field will be converted to help= attribute on Odoo field
UMLPackage
converted to a python _Package_ (as a folder with `__init__.py`).
UMLClass, UMLInterface
converted to a python Class definition as a separated module (`.py`).
documentation property to docstring
UMLEnumeration
converted to a python class inherited from _Enum_ as a separated module (`.py`).
literals converted to class variables
UMLAttribute, UMLAssociationEnd
converted to an instance variable with Odoo relation type: Many2one, One2many, or Many2many
name property to field name
documentation property to field help attribute
If `multiplicity` is one of `0..*`, `1..*`, `*`, then the variable will be initialized with:
`0..*` or `1..*` : fields.Many2one()
`1` : fields.One2many()
`*` : fields.Many2many()
UMLOperation
converted to an instance method if `isStatic` property is true, or a class method (`@classmethod`) if `isStatic` property is false
`name` property to identifier
`documentation` property to docstring
_UMLParameter_ to method parameter
Understanding UML diagrams
A good resources to understand UML diagrams
-
vITraining Admin on 25-Oct-2022 03:50:27
simple to use