Giter VIP home page Giter VIP logo

oxide's Introduction

Oxide

The community powered Odoo distribution.

Oxide is a ready to use Odoo distribution, based on Odoo Community Edition (Odoo CE), packaged tigether with selected community addons to provide the best user experience Odoo CE can give.

Getting started

Oxide was designed to work with the standard Python tools virtualenv and pip.

But first we need to have Odoo and dependencies installed in our system. The following will get Odoo ready for us:

$ git clone https://github.com/odoo/odoo.git --depth=1
$ ./odoo/setup/setup_dev.py setup_deps 
$ ./odoo/setup/setup_dev.py setup_pg 

Now we can install Oxide. We will be using a Pyhton virtual environment for that:

$ virtualenv MyProject
$ source MyProject/bin/activate
$ pip install -e ./odoo
$ pip install -e https://github.com/OxideApps/[email protected]#egg=oxide
$ odoo start -i base_oxide

The Oxide manifest

The goal for Oxide is to provide, out of the box, the best possible user experience for Odoo CE.

Oxide improvements over Odoo CE are expected to be mostly generic usability features, for both regular and power users.

For example, improved app and menu navigation, better design on mobile devices, or advanced data search features.

Business logic features may also enter the roadmap, but from the perspective of providing a app capabilities, rather than specializing in some specific business area.

Oxide also intends to make a statement about how Odoo apps are distributed and administered. Python tools like virtualenv, pip and PyPI should be fully supported, and considered the default approach for Oxide and addon distribution, both on the CLI and on the GUI. They should "just work".

Another long term goal for Oxide is to aid people in upgrading and migration their instances. These are complex issues, but we aim to work on steps to make it easier, and as close to "just works" as possible.

Aren't some of these features already available?

Yes. The Oxide approach is to select and package together the best the community can provide. The focus should be on reuse and collaboration. Rather the developing features itself, Oxide collaborators should instead work with upstream projects to adjust and create the features needed by Oxide. So, another goal is to be a motivator and driving force to improve and build community features.

Will Oxide be compatible with existing addon modules

Absolutely. In the end, Oxide is just a flavour of Odoo CE and is expected to be fully compatible with any addon modules that work on Odoo CE.

If Odoo CE is not good enough, why not doing a fork instead?

For three reasons.

First, we don't need a fork to achieve the project goals. What takes Odoo apart from other frameworks is the ability to be extended. Using addon extensions alone, we can do pretty much what we need. In the corner cases where that is not practical, we can work upstream with Odoo SA to add the needed extension hooks. The worst case scenario is to have to maintain a few key patches to Odoo CE, and in this case the Odoo Community Backports (OCB) project would surely help.

Second, a long term fork makes the community weaker. Is is the nature of a fork that, sooner than later, there will be incompatibilities with Odoo CE. And then we will have addons and apps that work on one version but not on the other. And as developers choose sides, the community is split in two, they both grow slower and duplicate efforts.

Third, a fork would surely waste the effort Odoo SA puts into the Community Edition. While it would still be possible to incorporate into the fork changes added to Odoo CE, it will require significant effort and won't be practical in the long run. The consequence of this is that it won't be able to take advantage of the work of dozens of full-time engineers from Odoo SA.

oxide's People

Contributors

dreispt avatar mileo avatar

Stargazers

Yves Goldberg avatar  avatar  avatar Stuart J Mackintosh avatar Karan Shah avatar Rafael Gontijo Winter avatar Quentin THEURET avatar Vonpupp avatar  avatar Manuel Alejandro avatar Ahmet Altinisik avatar Fabien Bourgeois avatar  avatar

Watchers

Fabien Bourgeois avatar  avatar James Cloos avatar  avatar  avatar Yves Goldberg avatar Mohamed Cherkaoui avatar Karan Shah avatar

oxide's Issues

Have different predefined packages for different uses

The idea here is that we can put different type of packages as per end goal of the user downloading this distribution.

For e.g. If my end goal is to have a ecommerce site then ideal package would have sales, purchase, ecommerce and payment modules along with oca's top useful modules.

Finding relevant oca addons is a lengthy process and requires lot of testing so having such package where approved extra-features modules come preinstalled would enhance the final image of odoo to the newcomers and clients who might not know about the possibilities with odoo.

Pip install modules from "res.config" wizard options

Some options in configuration wizards trigger module installation.
But for community modules, it is possible that they need to be downloaded before they can be installed.

A solution is, when not locally available, try to pip install the module.

Autodiscover addons in virtualenv/src subdir

The goal is to not worry about addons paths - it should be automatically handled behind the scenes.
For users this is already achieved: when using pip install the necessary paths get added to the addons path.

But for developers there is still an issue: we want to create a new module and have it immediately available for Odoo.

My suggestion is have automatically add virtualenv/src subdirectories to the addons path.
By convention this should be the place for developers to start their code projects.
This is the place where source code is cloned when using pip install -e, so it's consistent.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.