Finding community modules
There are many Odoo modules available on the internet. The Odoo apps store at apps.odoo.com is a catalog of modules that can be downloaded and installed on your system. Another important resource are the Odoo Community Association (OCA) maintained modules, also available on GitHub at https://github.com/OCA/. The OCA is a non-profit organization created to coordinate community contributions, promoting quality, software best practices, and open source values.
To add a module to an Odoo installation, we could just copy it into the addons directory alongside the official modules. In our case, the addons directory is at ~/odoo-dev/odoo/addons/. However, this is not a good idea. Our Odoo installation is a Git version-controlled code repository, and we want to keep it synchronized with the upstream GitHub repository. Polluting it with foreign modules will make it hard to manage.
Instead, we can select one or more additional locations for modules, which will also be used when the Odoo server looks for modules. Not only can we keep our custom modules in a different directory, without having them mixed with the official ones, we can also have them organized in several directories.
We can try this now by downloading the code from this book, available in GitHub, and making those addon modules available in our Odoo installation. To get the source code from GitHub, run the following commands:
$ cd ~/odoo-dev $ git clone https://github.com/dreispt/todo_app.git -b 11.0
We used the -b option to make sure we are downloading the modules for the 11.0 version.
After this, we will have a new /todo_app directory alongside the /odoo directory containing the modules. Now we need to let Odoo know about this new module directory.