Posted
9 months
ago
Openbravo ERP has moved from Subversion to Mercurial. Trunk and the stable branches have been migrated. Trunk has been renamed to “main”. The new server is located in Europe and its new name is code.openbravo.com. This is the new
... [More]
repository structure:
New repository structure
So for example main is located at: http://code.openbravo.com/erp/devel/main
If you browse to http://code.openbravo.com/erp/devel you’ll get the full list of ERP development repositories.
There is a new repository called pi, which stands for Pre-Integration. Till 2.50 is released we will only accept bugfix pushes to main. All new developments have to pushed to the pi repository. Then those developments will be integrated into main when the proper QA has been done.
So to begin with you should install Mercurial. Then if you haven’t done so it’s recommended to read the developer guide. Then, you can do a clone of main and play with it following the guide. You can also install and configure the Mercurial Eclipse plugin. Before pushing make sure you have properly configured Mercurial. Your credentials are the same one as with Subversion.
So from now on Subversion is not used for trunk and the stable branches. You should work on the new server and with Mercurial.
Tagged: Mercurial, SCM [Less]
Posted
9 months
ago
by
nor...@blogger.com (Martin Taal)
In this post I will talk about new very exciting functionality in Openbravo 2.50: full REST web services support for all tables in the Openbravo datamodel (including the tables added by modules).
I will first start with a general overview
... [More]
and then some examples of web service calls which you can try directly in your browser. The post is concluded with a short description on how to add your own REST-like web services and a number of interesting links on REST.
Openbravo REST provides a CRUD-like interface so that external applications can retrieve, update, create and delete business objects through standard HTTP requests.
Some benefits of using a REST approach:
favors identifying and addressing resources which fits to the data-centric nature of the provided apis (a resource corresponds to a business object) has actions (POST, PUT, DELETE, GET) which correspond to standard CRUD actions allows linking to specific business objects or to sets of business objects. This is a very powerfull feature of a REST approach and it allows for easy navigation between business objects. is simple to develop and use, and very lightweight from an architectural point of view The Openbravo REST webservice operates on Business Objects in Openbravo. Before continuing let's first explain what a Business Object is (in Openbravo). A business object can be a simple entity (==table) such as a currency which just has basic primitive fields. On the other hand it can also be a structure of entities, for example an order header with its order line.
Openbravo REST web services provide the following functionality:
retrieve a single business object or a list of business objects using a standard HTTP GET request
querying, filtering, paging and sorting of lists of business objects, again through standard HTTP requests
update of an existing business object or multiple business objects through XML and a HTTP POST or PUT operation creation of new business objects through a POST/PUT operation export and import of data: xml files which contain a mix of different types of business objects and a mix of new and existing business object delete operation using either a url pointing to a specific business object which needs to be removed or a XML document which contains business objects (as full xml or as partial xml) which need to be removed.This functionality can be used for standard integration scenario's, but it can also be used to develop another UI on top of Openbravo using an alternative UI-technology (e.g. Flex).
The Openbravo REST web services use the same access/authorizations as the standard Openbravo application. Before calling a web service the caller must log in. The login functionality is provided by the Openbravo REST framework. All REST actions are then executed in the context of a client/organization and current role of the user.
Now let's go to some examples. When you have Openbravo running then you can try these out directly in your browser by entering the urls in your browser's address bar. Note that the examples assume that Openbravo runs locally on port 8080, it maybe necessary to replace the localhost:8080 part with your own server name/port. The examples assume that the web service user has access to the Country and Currency tables.
Query for all Countries: http://localhost:8080/openbravo/ws/dal/CountryGet a specific Country (in this case Spain):
http://localhost:8080/openbravo/ws/dal/Country/106
Note that the xml returned contains both the Country and its children (Regions), i.e. a business object structure.
An ordered example, query for all countries and return them ordered by ibanCode and regionName:http://localhost:8080/openbravo/ws/dal/Country?orderBy=iBANCode,regionName
The same example with paging, returns 10 Countries starting from the 19th:http://localhost:8080/openbravo/ws/dal/Country?orderBy=iBANCode,regionName&firstResult=19&maxResult=10
Do some filtering, only return countries which have a Currency with id 102 and a iBANLength of minimum 23:http://localhost:8080/openbravo/ws/dal/Country?where=currency='102' and iBANLength>=23
(the where parameter can contain a Hibernate Query Language where clause)
After trying some examples, the next question is which web services are provided by Openbravo, i.e. what url's are valid, what are the entity names and XML property names, what is valid xml? To answer this question Openbravo REST has a special web service which can be called. This web service generates a XML Schema of the available business objects and their elements (including the tables added by custom/external modules). You can try it yourselve on your local running Openbravo instance:
http://localhost:8080/openbravo/ws/dal/schema
These first examples only retrieved data. The REST web services also have update/create/delete functions. To support web service testing, Firefox has a nice add-on: Poster. This add-on allows you to POST/PUT XML to a URL. For these examples I again assume that you have Openbravo running locally. I will be creating a new currency, updating its precision and then deleting the currency.
Here is an example of xml which can be used to create a new Currency:
<?xml version="1.0" encoding="UTF-8"?>
<ob:Openbravo xmlns:ob="http://www.openbravo.com">
<Currency>
<active>true</active>
<iSOCode>OBD</iSOCode>
<symbol>€</symbol>
<description>Openbravo Dollars</description>
<standardPrecision>2</standardPrecision>
<costingPrecision>4</costingPrecision>
<pricePrecision>4</pricePrecision>
<currencySymbolAtTheRight>true</currencySymbolAtTheRight>
</Currency>
</ob:Openbravo>
You can easily create this xml by retrieving a Currency through a url (for example, the euro) and then removing the XML parts related to id, client/organization and audit info.
Click on the Poster icon (right-bottom in Firefox) and set the options as displayed in the image below.
Note that the xml (displayed above) is entered in the Content field, the Action is set to POST and the User Auth. fields contain the login and password. The user must have permissions to create a Currency. The standard Openbravo demo user has these capabilities.
Then click on the first GO button, you should be seeing the following result:
This xml gives a success message but more importantly it also gives the id back of the newly created object. This allows software, making REST calls, to use this id in further processing. In our case we can use this id to check if the currency was indeed created (note replace the id in the url with the id you received back):
http://localhost:8080/openbravo/ws/dal/Currency/FF8081811FA6E26B011FA6EA2E9C0002
Now as a next step let's update a field of the new Currency, in this case the precision is changed. The image below shows how this is done. The xml only has the field which needs to be updated and the id of the Currency is present as an xml attribute (to try-this-at-home, replace the id value with the one created in your case).
And to clean up let's delete the new currency. This is done with a DELETE action, the url of the action needs to point to the business object which needs to be deleted (in this case the Currency created above).
The above actions can be performed for all of the 425 tables in Openbravo. More importantly REST webservices automatically work out-of-the-box also for new tables added by modules.
The delete action concludes the quick overview of the capabilities of Openbravo REST Webservices. The overview hopefully showed how easy it is to use REST webservices. Software talking to REST webservices need basic xml processing capabilities but that's the only real prerequisite.
The Openbravo REST framework can be extended with new Webservices. See here for more information. Openbravo REST takes care of security and exception handling. Web services can be added (installed/uninstalled) as part of a module.
For more information:
REST Webservice Technical DesignREST test cases can be found in the openbravo development project in the src-test folder and then in the org.openbravo.test.webservice packageHere are some other interesting (non-Openbravo) links:
Fielding's Dissertation (Mr. Fielding is the first one to explicitly define the REST concept)Wikipedia on RESTHow to create a REST protocolBuilding Web Services the REST waySome links related to REST versus SOAP, there is a fair amount of articles on the web on this topic:
REST versus SOAP - the REST story A RESTful approach to Web services [Less]
Posted
9 months
ago
by
nor...@blogger.com (Jordi Mas)
The Openbravo Community awards are organized and sponsored by Openbravo to honor individuals and companies for their outstanding contributions to the Openbravo ERP and POS projects. The standards for companies and organizations are higher than for
... [More]
individuals and are proportionate to their level of resources.
Participation for the awards takes place in two phases, so please keep in mind the following dates:
March 2nd- 16th: Candidate nomination period. This is the time where you can nominate people and companies that you think have done an important job for the Openbravo ecosystem in each of the categories defined. You can also nominate yourself and the company you work for.
March 20th-31st: Candidates published and voting period open. This is the time where you can vote for the selected nominees for every category.
As of now, you can start nominating the people in the Openbravo Community that have made a difference to you.
Can you think of someone that has been especially helpfully in the forums?
Can you think of a blog or documentation with Openbravo as the main topic which has been useful to you?
How about relevant localization efforts that have been beneficial to you?
Now is the time for you to honor unsung heroes!
Everyone can nominate their favorite candidates for each category. At the end of the process, a list of accepted candidates matching the selection criteria will be compiled for every category.
Participate and make your voice count!
For questions or comments regarding the voting process, don’t hesitate to contact me: jmas at openbravo.com [Less]
Posted
9 months
ago
by
nor...@blogger.com (Adrián Romero)
With the publication of the upcoming new release of Openbravo POS we have decided to upgrade the terms of its license from GNU GPL version 2 to version 3. With GNU GPL version 3 we are up to date with the latest version of the license and we close
... [More]
several gaps of the previous license like granting patent licenses to every user, extending compatibility with other free software licenses and dealing with the new threats to free software that have emerged since version 2 of the GNU GPL. [Less]
Posted
9 months
ago
by
nor...@blogger.com (Jordi Mas)
Modularity is the most important feature debuting in Openbravo ERP R2.50. As a result of the modularity improvements in 2.50, developers will notice the following:
Easier to contribute to Openbravo ERP by allowing distributed and decoupled
... [More]
development and maintenance of optional features.A rich set of extensions for the Community to meet their unique business requirements without bloating the core product.Shorter implementation cycles by enabling system integrators to develop micro-vertical templates.Scalable business opportunity by creating modules once that can be easily reused in multiple implementations, or sold to others implementing Openbravo ERP.
As part of the modularity program that we offered during the 2.50 alpha process, we created some videos to explain the main modularity concepts and workflows to the participants. We have just edited and published the videos in Openbravo Wiki.
The videos published are the following:
Course Introduction. A high level introduction of Openbravo modularity capabilities and benefits for users and developers.Modularity Concepts. An introduction to the main Openbravo modularity concepts, including types of modules, the central repository and the module manager console.Create a module. A description of the steps required to create, register, develop and publish a module.Install a module. A step by step tutorial on how to install an Openbravo ERP module.Update a module. A step by step tutorial on how to update an Openbravo ERP module.Uninstall a module. A step by step tutorial on how to uninstall an Openbravo ERP module.
In case that you have little time, I strongly recommend you the modularity concepts videos that gives a good overview of Openbravo modularity from a developer's point of view.
If you have any questions regarding modularity please do not hesitate to post them in the Openbravo ERP developers forum. [Less]
Posted
10 months
ago
Once Openbravo ERP 2.50beta is frozen, we plan to move trunk and the stable branches from Subversion to Mercurial. Check the new developer’s documentation.
We’ll let you know about the server details just before launching the
... [More]
migration. Please read the document and don’t hesitate to ask any doubts you have about this.
There is also an older document explaining the rationale behind this change.
To follow this migration more closely join or read the openbravo-development mailing list.
Tagged: Mercurial, SCM [Less]
Posted
10 months
ago
by
nor...@blogger.com (Manel Sarasa)
Since Openbravo was founded in 2006, the adoption of open source enterprise applications has been increasing at an unstoppable rate.
The commitment of our team, community and partners is reflected in the calibre of our executive leadership
... [More]
, which was further strengthened by the news that Jesper Balser will join the Openbravo board of directors, Navision co-founder and former head of strategy at Microsoft Business Solutions.
The news has been well received. On the CNET ‘Open Source’ blog, Matt Asay says “Open source has clearly gone mainstream. It is attracting some of the best and brightest from the proprietary-software world, as they see the writing on the wall for incumbents.”
The VAR Guy, meanwhile, says the news signals “growing momentum for business-centric open source applications” and “highlights Openbravo’s continued investments in its IT channel partners.”
A decade ago, proprietary software companies poured scorn on claims about Linux’s reliability, support, mainstream adoption and ROI. But it didn’t stop users, businesses and governments all switching to Linux in droves, precisely because of its reliability, stability, security, cost-effectiveness and innovation.
More recently, open source business applications came under the same sort of fire. But adoption has still been unstoppable, and for all the same reasons. It’s no longer a question of ‘going mainstream’: open source applications are already there. If you wish to form your own opinion, you might want to attend the upcoming Openbravo World Conference in Barcelona, April 18-19th.
Jesper has the insight, the experience and the ability to guide Openbravo to the next level of enterprise adoption. We’re delighted to have him on board and we hope you’ll join us in welcoming him to Openbravo and to the open source applications community. [Less]
Posted
10 months
ago
by
jaime...@users.sourceforge.net (Jaime Torre)
Openbravo ERP is a Web based ERP for SME, built on proven MVC & MDD framework that facilitate its customization. Already in production, Openbravo ERP encompasses a broad range of functionalities such as finance, supply chain, manufacturing & much more. (0 comments)
Posted
10 months
ago
by
jaime...@users.sourceforge.net (Jaime Torre)
Openbravo ERP is a Web based ERP for SME, built on proven MVC & MDD framework that facilitate its customization. Already in production, Openbravo ERP encompasses a broad range of functionalities such as finance, supply chain, manufacturing &
... [More]
much more.
Featuring an exciting new modular architecture, usability improvements and broader functional coverage, Openbravo ERP 2.50 is the latest release of the leading open source ERP solution. This is an alpha version and it is intended for evaluation and stabilization purposes only. Openbravo 2.40 remains our best version for production usage. You cannot upgrade an existing system to 2.50alpha-r11 and you will not be able to upgrade a 2.50alpha-r11 instance to any subsequent version.
-- What is new --
For a list of feature included in this release, check the release notes:
http://wiki.openbravo.com/wiki/Openbravo_ERP_2.50_ReleaseNotes#New_Features
-- Test it --
We do encourage you to download and test this new version and give us your feedback. You can post your opinion and question on the new features in the Early Releases Discussion forum (http://sourceforge.net/forum/forum.php?forum_id=808030) and you can log any defect that you might find in the product using our issue tracking system (http://issues.openbravo.com).
In this release, you can install Openbravo ERP following two different approaches:
* Community Appliance (recommended): you can download and install a fully configured appliance that runs in your preferred virtualization environment. The appliance includes both Openbravo ERP as well as its underlaying technology stack and allows you to get started with Openbravo in just a few minutes and with only a few clicks. The images are available for the VMware, VirtualBox, QEMU, Parallels and Xen virtualization systems. To download these images:
https://sourceforge.net/project/showfiles.php?group_id=162271&package_id=275783
* Custom installation (experts only): a custom installation gives you full control over your deployment environment and allows you to choose your preferred configuration for the technology stack. However, it requires you to install and configure all components of the technology stack as well as compiling Openbravo ERP from sources. You can to obtain a copy of the source code by either:
- Downloading a source code tarball:
https://sourceforge.net/project/showfiles.php?group_id=162271&package_id=275783&release_id=660827
- Checking out the source code from the Openbravo Subversion repository
https://dev.openbravo.com/svn/openbravo/tags/r2.50alpha-r11/
Download and test it following our installation and configuration guide:
http://wiki.openbravo.com/wiki/Openbravo_ERP_Installation_2.50 (0 comments) [Less]
Posted
10 months
ago
by
nor...@blogger.com (Rob Goris)
We are continuously improving our products and raise the bar with every release. Recently we have started to look at some very fundamental parts of the User Interface of Openbravo ERP and came up with ideas for a future redesign. User feedback told
... [More]
us that there is a need for more powerful and flexible search functionality. We also learned that many user like to edit the grids (tables) directly in the cells and that switching between different records at the same time would be very useful. Furthermore, we are looking at offering more functionality in the context of tasks and we also believe that there is a need for more high level and summarized views on data.
Here we would like to give you a peek preview of the stuff we are working on and give you the opportunity to give your feedback. Our approach is holistic: we believe that all functionality should be working in the context of user journeys rather than just plugging in new features left and right. That's why we also want to propose a complete new Master-Detail concept in which all other functionality is embedded.
Images say more than words so check out the Demo Videos and discuss them on the User Experience Lab forum:
Please also fill out the surveys for Master Detail, Search & Filter, My Workspace and Overall Impression.
I am looking forward to a lively discussion.
Thanks, Rob [Less]