Thanks for taking the time and effort to consider helping the Openbravo ERP open source project. There are many ways that you can help to make Openbravo a better product. Here are some areas were you can help - if you have more ideas for how to improve Openbravo feel free to post them publicly in our Open Discussion forum or send us a message to firstname.lastname@example.org.
Find other ways to contribute to open source project without coding.
Why contribute to Openbravo?
Thanks for considering contributing to Openbravo project.
If you are an independent consultant, student or open source hacker there are many reasons to contribute to Openbravo project:
- Enhance your skills by working on open technologies like Java, XML and Web related technologies that are today's industry standard tools for building professional open source solutions.
- Make yourself known in a community of individuals and companies deploying professional open source solutions.
- Help building a free open source infrastructure that can be used for companies and non-governmental organizations have access to a top quality resource planning system.
If you are a company:
- Make sure that your priorities and the issues and features that your customers care are paid enough attention.
- Share your developments with other people sharing common objectives, leveraging in other's people work and move from one company effort to a collaborative effort.
- If you contribute your enhancements to Openbravo ERP Core, they will be part of the product and will be maintained, documented and tested as part of the Openbravo product.
Help others to install and implement Openbravo
Do you have experience installing, configuring or using Openbravo? Many people download, install, configure and deploy Openbravo every day. Help them by answering their questions at Openbravo forums at SourceForge. Share your knowledge and experiences with others and learn from the Openbravo community.
Create and improve documentation
Have you created a significant piece of documentation regarding the implementation, development or use of Openbravo? Share it with us in our Open Discussion forum. Also you can help improve the current documentation after registering yourself in our Wiki. Check out our Help page for information on how to improve or create new articles.
In the Openbravo project most of the documentation is at the project's Wiki. This allows people to modify and enhance the documentation, but also allows every one to translate the documentation into their language. Can you speak English and other language? See how you can translate the Wiki documentation and help other people around the world to use Openbravo.
Write a blog
Do you like using Openbravo? Do you like to write and connect with other community members? Then, consider writing a blog with various articles and news about what you are doing with it. Blogs are superbly easy to set up and there are many free services (Blogger.com for example) that allow you to quickly set up a new blog and maintain it with little effort.
If you do decide to set up a blog check our policy for including blogs to the Openbravo Planet.
Openbravo ERP localization and internationalization
Is Openbravo still not ready for your region? Check if someone is working on it in our Localization projects page and help them or start a new localization project. Make sure to check our FAQ about localization issues and the document how to localize Openbravo. There are two basic necessities involved in this effort: translating the user interface and localizing the chart of accounts to a particular region's accounting standards.
Being responsible for the localization / translation of Openbravo to a particular region can serve as a huge competitive advantage for you and we would like to assist you in this effort. Openbravo community has been very active in supporting these efforts in the Translations & Localizations forum on SourceForge, which is monitored by Openbravo's development team.
Have you found a bug? Please, report it to us using our bug database. Make sure that you carefully read our Bug Reporting Guidelines before submitting your bug report. Even better, you can also propose a bug fix for the issue.
Contributing ideas and feature requests
Do you have an idea for Openbravo ERP? You can fill up a feature request. This process just communicates an idea to Openbravo that will implement the idea at its discretion. Since Openbravo it is an open source project, you can implement an idea into the product. See the next sections.
Contributing code snippets
Code snippets are small pieces of reusable code, like small cooking recipes. There is a category in the Openbravo Wiki called Code Snippets that holds documents that contain these pieces of reusable code.
If you have small samples of how to customize Openbravo, small changes to the code that you think that may be useful to other people, please create a new page on the Openbravo Wiki and add it to this category. You can also use the template CodeSnippets, like it is done in the already existent documents, to provide information of your snippets in a structured way.
Contributing to Openbravo Core
Openbravo Core includes all the modules that are distributed by the default Openbravo distribution. These are the modules that are part of the code product and that Openbravo acquires the commitment of maintaining them.
Openbravo ERP is in continuous evolution. Check our roadmap to see which features we are working for the next versions of the product.
Do you have a fix for a bug in Openbravo? You need to create a file listing the changes you made, called a patch.
When the patch is ready, attach it to the right bug report.
Proposing new features
You can propose or discuss new features fill up a feature request in Openbravo bug tracking system.
If your company or the company where you are installing Openbravo has functionality needs that are not yet covered by the application, we advise you to refer to the development tutorials and hope that you will allow us to share your work with all users.
Please when you make your proposal consider adding the following information:
- Which functionality you are exactly considering (requirements / objectives)
- How this fits in the current Openbravo ERP functionality
- Which Openbravo modules are affected
- How many resource you can devote to it
- Which period of time you expect it will take
Share you idea and let everyone know about your intentions and get feedback from the community. This also helps to avoid the duplication of efforts.
Contributing new features
Some suggestions to consider when working on functionality:
- Be consistent with the current design principles of Openbravo: based on open standards, client server web based architecture, support for all web browsers, etc.
- Design in the open. Before you start coding a single line, make a proposal of the design of the new functionality at Openbravo developers forum.
El procedimiento estándar que estamos siguiendo con todos los contribuidores para el desarrollo de un nuevo Proyecto de Comunidad es:
Recuerde que el idioma en el que se debe redactar la documentación es el inglés.
- Insertar una petición de funcionalidad (feature request) si no existe en issues.openbravo.com
- Crear un espacio para el proyecto en la wiki dentro de Community Projects
- Documentar allí la especificación funcional siguiendo la Functional Specifications Style Guide.
- Nosotros realizaremos una revisión para asegurarnos que la funcionalidad es completa, genérica y consistente con el resto del producto
- Crearemos una rama dentro de nuestro repositorio de código para recoger el código
- Realizaremos el diseño técnico y una revisión del código generado
- Si todo está perfecto, realizaríamos la fusión ("merge") de la rama de desarrollo con la rama principal (trunk) y desde ese momento la funcionalidad pasaría a formar parte des estándar del producto
Siguiendo este simple proceso sería capaz de incorporar su trabajo al código estándar de Openbravo, compartiendo sus desarrollos con el resto de la Comunidad.
Already developed functionality
In some occasions potential contributors have a development already completed for a customer or for a specific need. Some times even with little or no functional documentation. On these cases, we can publish the contribution as it is, giving someone else the possibility of building on top of this work. These kind of contributions are difficult to support by Openbravo community.
As in the above point, already developed functionalities should be included in the wiki into the Community Projects. And again, the reader will found interesting the article How to manage a Community Project.
Verticals are independent modules that customize and expand the functionality of Openbravo for a specific industry (e.g. real state) or market segment.
Verticals are developed in Java and distributed as Openbravo add-ons. Usually they involve the creation of new database tables and user interface windows.
Openbravo license gives developers the freedom to choose the licensing conditions for their verticals. You may decide to develop a vertical and work with the same license that Openbravo or develop it under a non-open source license.
Becoming an Openbravo developer
An Openbravo developer is a person that is actively involved in Openbravo development. For example, if you have a significant contribution or write regularly enhancements for the product or planing to do it soon.
Obtaining Write Access to Subversion
Openbravo ERP source code lives in Subversion. Everyone can read the source code but only developers can write on it. You need written access permission to Openbravo Subversion to be able to send your code to Subversion directly.
Development environment ID
One of the most important components of an ERP system is the database where all the information is stored. Openbravo ERP uses a unique identifier (ID) to identify database elements. The number of IDs is limited. If two developer uses the same ID a collision will occur and their developments would conflict and will work together.
To avoid this problem Openbravo assigns a range of unique database ID to every Openbravo developer that is working on Openbravo ERP or any vertical or extension that is going to be widely available.
If you are doing an Openbravo development that you plan to share with more users or contribute it back you must use a unique developer ID. If you are interested in one Developer ID ask us for one.
Current assigned Developers ID ranges
You can check the current assigned developer ID ranges directly from the Openbravo source code.
How to configure the Developer ID
Once a Developer ID is granted to you, you should setup in the ERP/2.40/Openbravo.properties file. The variable developer.id should be assigned to your ID.
Ideas for contributing
If you are a student or an open source hacker here you have some ideas for doing contributions to Openbravo ERP:
Integration with e-commerce systems
Integrating Openbravo with e-commerce systems like Zencart or Joomla. You can approach the integration implementing Openbravo web service (see OpenbravoWSExternalPOS_EN.pdf). Also you may consider looking at a solution like Jitterbit.
Integración con Sistemas de Gestión de Documentos
Integrar Openbravo con Open Document Management Systems como fuente de Alfresco. La idea es proporcionar a la administración de documentos sobre los archivos que se pueden conectar a diferentes lugares de Openbravo (como Windows). Los accesorios se utilizan para incluir información en PDF a los clientes o proveedores, logotipos, y, en general, toda la información que proporciona información adicional sobre los temas de Openbravo.
Actualmente Openbravo sólo admite la versión de Firefox 2 e Internet Explorer 7. Es necesario poner a prueba todas las ventanas de las aplicaciones y funciones, y hacer los ajustes necesarios para que funcione con más navegadores, especialmente Konqueror, Safari y Opera.
Packages for distributions
Currently Openbravo is distributed with an installer and there are no packages available in RPM and DEB formats. Can you help to prepare the necessary infrastructure to create packages for different distributions?
One of the ways to explore to archive this is to use the OpenSuse build service that allows building packages for Novell, Red Hat, Mandriva, Debian and Ubuntu distributions. The service has been open sourced.