| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 2515 |
| Technical Name |
odoo_graphql |
| License | LGPL-3 |
| Website | https://github.com/divad1196/odoo_graphql |
| Versions | 14.0 15.0 16.0 17.0 18.0 19.0 |
Generic graphql implementation for Odoo
Use all the power of Odoo in the simpliest way through graphql.
Graphql provides a simpler and more efficient way to query data than you would currently do in Odoo (using for example xmlrpc or jsonrpc).
This module adds a generic way to do graphql queries and mutations on Odoo server.
This module takes into account any installed modules and use the Odoo permissions (Access rights and access rules).
-
Use Odoo as your centralized database for your automations.
Odoo has the easiest backend framework to develop with, and an active and growing community
-
If you want to create your own website on top of Odoo using the most modern framework as AngularJS, VueJS or ReactJs,
This module will provide you the simplest and most efficient way to do your queries.
DISCLAIMER: To do your own website using Odoo, you will need to handle cors.
More information are provided on the readme when you download this module, but you can already have the main information here: https://github.com/divad1196/odoo_nginx_proxy
Author's notes
If you have any issue, encounter a bug or have a feature proposal, please contact me on Github by creating an issue.
You don't have to be a technical person for it.
The project being stable, you won't see a lot of changes in the repository, but the module is still actively maintained.
This is why I need your feedbacks to improve this module.
Despite the license of this project, it seems that some people stole most of its code and started to sell it.
(The worst is certainly that they claim to support open source.)
Please, contribute to open source by sparing your money.
Use cases
-
Use Odoo as your centralised database for your automations.
Odoo has the easiest backend framework to develop with, and an active and growing community
-
If you want to create your own website on top of Odoo using the most modern framework as AngularJS, VueJS or ReactJs,
This module will provide you the simplest and most efficient way to do your queries.
DISCLAIMER: To do your own website using Odoo, you will need to handle cors.
More information are provided on the readme when you download this module, but you can already have the main information here: https://github.com/divad1196/odoo_nginx_proxy
What are the differences with other solutions?
-
Flat Learning curve: The GraphQL arguments are done in a way that any Odoo developer will feel at home.
- Genericity: You don't want to update your GraphQL models for each module you install.
- Maintenance: You don't want to duplicate your code, as Odoo Model AND GraphQL model. You also don't want to update your GraphQL models for each module you install.
- Performance: By coding it yourself, you MAY have better performances, but you will PROBABLY have lower ones. The query processing is made in the best way possible be by wrapping Odoo's ORM.
- Spare Time (and thus money): You want to focus on the use of the data, not how you gather them.
Security and Performance
The security policy is the one already defined by Odoo. You cannot get more information using GraphQL than you would by using jsonrpc/xmlrpc. (This module will be extended with a per-fields access policy in a near future, but as long as RPC is allowed, this won't be any game-changer in terms of security) Those security policies must not be by-passed, which may be done by a developer for any (bad) reason.
The security policies in Odoo add an overhead on each request. This module optimize the search, especially for multi-level queries.
Usage
You can perfom queries

As well as mutations

Using any languages


Examples are provided under the examples/ folder. Inside of which you will find a libs/ folder containing utilities for python and javascript.
Please, take a look at it if you have any questions.
GraphiQL
GraphiQl Editor is integrated

It is DISABLED BY DEFAULT
(read the README.md file in the module to know more about it)Contact
If you are facing any issue with this module, you can contact me on
Github
(https://github.com/divad1196/odoo_graphql/issues)
Make sure that you have read the README file and checked the examples folder first.
Also, feel free to leave a feedback in the comment and rate this module!
Please log in to comment on this module