Wednesday, 23 December 2009

Prototyping with HTML 5 (1)

In my last post, I wrote about the new HTML 5 features and how can these new features be a revolution in the ecosystem of current web applications. But I do not want to stop here without exploring a little bit about the possibilities of combining these new HTML 5 features with Openbravo ERP.

The plan is to start a series of posts with the objective to create a prototype of a web application for hand held devices like iPod Touch and iPhone, oriented to mobile users of Openbravo ERP.

The requisites I am imposing to myself for this prototype are the following:
  • It will be an HTML application and take advantage of HTML 5.
  • The application will run in an iPod Touch or iPhone, because these devices are broadly available, can be considered "cheap" for this task, and also because it is a device I love :-). It also will run in Firefox 3.5 for debugging purposes.
  • It will consume standard Openbravo ERP REST Web Services. Nothing else than a fresh Openbravo ERP community edition will be needed.
  • The application must be capable to work online and offline without any loss of functionality, just the need to work without the latest data available. It will be required when working offline, to cache data and to store data. And refresh the cache data and send stored data when the device is connected again.
  • The functionality developed should be "useful".
  • It should be just a prototype. Not expend too much time, handling exceptional behaviours, errors. Just make it work.
In this first development iteration I created a very simple application for sales men to allow them to have the list of products with details like the category and the unit of measure of the product (UOM). And with the ability to change there prices shown between all price lists available. It works completely offline and has the ability to refresh the data when the device is online.

I plan to publish the source code after polishing it in the Openbravo forge under the Openbravo Public License with small instructions to install it. In the mean time here you have screenshots of the application working:



In the next steps I plan to build a simple form to submit sales orders and also I would like to display charts. And if you have suggestions about how to improve this prototype I will be glad to hear them.

Disclaimer: The project I am developing here is done in the personal investigation time I have reserved during development sprints and it is not in the roadmap of Openbravo ERP and there is not commitment from Openbravo to his partners, customers or community related to the availability or support of this project.

Tuesday, 22 December 2009

Openbravo ERP module Initial Data Load 1.1.0 released

I am happy to announce that a new version of the module Initial Data Load 1.1.0 is now available.

Initial Data Load is focused to Openbravo ERP partners and customers that aims to reduce the time needed to deploy a fresh Openbravo ERP installation simplifying the import of all master data and operational data needed to start working with Openbravo ERP. This can save a lot of time in the deployment of Openbravo ERP for the following reasons:
  • It works in all standard Openbravo ERP flavors. For example with the professional cloud appliance.
  • You have a clear and documented definition of all entities and fields needed to start to use Openbravo ERP in the deployed environment.
  • After you collected all the data from legacy systems is just a matter of few hours to import all the data into Openbravo ERP.
  • Initial Data Load verifies all data before importing it into Openbravo ERP and if an error is found a clear explanation of the record that has the error and the type of error found is shown to the user.
  • All user interaction is through the browser, with no direct server access required.
This new version includes the import process for 10 Openbravo ERP entities that are more than enough to draw the initial picture of a company to start working. These import process are:
  • Products
  • Price Lists
  • Bank Accounts
  • Business Partners
  • Open Payables
  • Open Receivables
  • Assets
  • Journal Entries
  • Standard Cost
  • On hand quantity / Stock
If you want to know more about how to install it and a description of each of the import process included, read the User Manual.

The Initial Data Load module is a commercial module available at no additional cost for Openbravo Professional subscribers. This module is available in Openbravo's Central Repository and if you want to acquire it have a look at the How to acquire page or use our Contact Us form.

This module is also part of Openbravo ERP QuickStart. In the Quickstart page you can find all the extra benefits if you adopt Initial Data Load in conjunction with Openbravo ERP Quickstart.

Wednesday, 25 November 2009

Experimenting with HTML 5

HTML 5 is the next mayor revision of the core language of the world wide web, the HTML language. Openbravo ERP and other enterprise applications are based on this language. This specification is still in draft status but newest versions of most popular web browsers, including Internet Explorer 8 :-), have support for some of the new features introduced by HTML 5. Even better, web browsers included in advanced smartphones and mobile devices like iPhone / iPod Touch or those based in Android 2.0 also have support for the most exciting features of HTML 5. At the moment of writing this article I tested HTML 5 with Firefox 3.5, Google Chrome, Safari 4 and the iPhone / iPod Touch OS version 3.0, and most of the features described in this article are ready for production deployment with no major impediments.

This new revision is a major step towards the support of full featured web applications. It includes features that aims to reduce the dependency on proprietary technologies like Adobe Flash, Microsoft Silverlight, Java applets and a long list of other web browser plug-ins. With HTML 5 combined with current techniques that combine AJAX, javascript and DHTML, developers can write cross-browser web applications with functionalities we were used to have only for desktop applications.

Mobile web applications will be easier to develop and deploy. Developers will not need to learn new technologies or create different applications depending whether the target platform is a mobile device or a desktop computer. They will have a full control whether the mobile device is on-line or off-line and with the increasing popularity of iPhone / iPod Touch touch and Android, they will be sure that their applications can reach a big slice of the mobile market.

If you browse the web searching for explanations and samples about the new features of HTML you will find a lot of articles with detailed information about it. I will only comment the most interesting features that in my opinion are focused for rich featured web applications. I recommend browse the samples published in HTML 5 Demos and Examples by Remy Sharp.
  • Off-line web applications. Properly configured, web applications will be able to work off-line using all application resources like html pages, javascript files, etc. cached in the client side. Web applications will be able to detect if the web browser is on-line or off-line and behave according this status.
  • Local Storage. With this feature web applications will be able to store locally in the client side data as application data or session data. This local storage can be very useful to let users work off-line and submit all the work done when the device is on-line again without losing any piece of data.
  • Input element improvements. For data centric web applications, data type input, and validation will be easier and integrated with the web browser without external libraries. Unfortunately, the support of this feature in current web browsers versions is very poor.
  • Geo-localization. Very interesting for mobile applications. With this feature, web applications will be able to offer data to the user contextualized in the place he or she is.
  • Canvas. This feature allows web applications to draw rich and dynamic graphics in the client side without having to generate these graphics in the server side. For example, there already exists impressive javascript libraries to render full featured charts using this new HTML 5 feature like RGraph.
  • Webworkers. Using this new feature developers will be able to implement background processes in the client side leaving the application responsive to user actions and without blocking him.

Wednesday, 4 November 2009

Netbeans Development Environment for Openbravo ERP

I am happy to introduce another Development Environment for Openbravo ERP based on the Netbeans IDE. There is a guide published in the Openbravo wiki document Installation and Setup of Netbeans IDE that explains step by step how to create an Openbravo ERP development using Netbeans and also how to perform common development tasks, like compiling, debugging, starting /stopping Tomcat, etc. This guide is still a work in progress. We hope developers will find this guide useful. Feel free to give feedback on the guide, especially if certain parts can be improved or if you miss certain information.

I would like to remind you that the main Development Environment for Openbravo ERP is based on Eclipse. You can read about it in the Installation and setup of Eclipse IDE guide. Development with Eclipse is fully supported and documented.

But IDE preferences change from one developer to another and frequently becomes almost a religious issue. We do not want to start another flame war Eclipse vs Netbeans, just give Openbravo ERP developers the opportunity to choose the IDE they feel more comfortable to develop Openbravo ERP.

Friday, 22 May 2009

Openbravo POS 2.30 released

After more than two months of the release of Openbravo POS 2.30 beta, finally Openbravo POS 2.30 is released. The changes from 2.30 beta to 2.30 has been only bug fixing and product stabilization. No new functionalities has been included. To show in numbers what we did since 2.30 beta. We fixed 66 bugs reported in the issues reporting tool and we did 90 change sets in the SCM repository. Now this release is published in production ready status. This means the following:
  • We recommend new implementation projects to start with this release.
  • We recommend existing production deployments to upgrade to this release.
  • An upgrade path is available from earlier releases to 2.30.
If you want to know about the new functionalities created from 2.20 and the most convenient package to download for your platform, I suggest you to read the Release notes of Openbravo POS 2.30, but I want to highlight the most important features introduced in 2.30:
  • The PDA restaurant module. This feature will allow users to take orders, browse products and manage tables using a mobile device. More information in the PDA module installation guide.
  • Product attributes. With this new feature products can have attributes like size, color, serial number, etc. More information in the Products attributes guide.
  • ERP-POS synchronization. A new architecture for the Openbravo ERP and POS synchronization. More information in the Openbravo POS and ERP integration guide.
Another improvement done from the engineering point of view, has been the movement of the source code management system (SCM) from Subversion to Mercurial. Mercurial is a distributed SCM designed for efficient handling of very large projects. Mercurial gives Openbravo POS developers several benefits based on its distributed nature like to allow to work productively even when not connected to a network, and make it easier to do merges between different Mercurial repositories. You can view a summary of the repositories in the Openbravo POS repositories list.

And last but not least, there is now a Professional Subscription for Openbravo POS 2.30. This is the recommended option for commercial deployment of Openbravo POS, and includes professional support from the development team, access to certified automated updates and upgrades, lifecycle guarantee, bug fixing guarantee, and IP indemnification.

Tuesday, 31 March 2009

A new home for Openbravo POS community projects

Recently has been announced the public availability of the new Openbravo Forge. The Openbravo Forge is the new home for the projects Openbravo ERP and Openbravo POS and it is also the place we provide to all collaborators to register their projects related to Openbravo products, like for example localizations, translations and others.

In the Openbravo Forge you will be able to create a new project with all the services a modern forge provides: forums, code repository, bug tracker, file releases section, wiki, etc. And you will have more visibility to all the Openbravo community because your project will be hosted in the same place with Openbravo ERP and Openbravo POS and sharing the same services.

Focusing on Openbravo POS, if you want to contribute there are a lot of ideas for new projects that we will be glad to host in the Openbravo Forge:
  • New translation packages. Openbravo POS has been translated to several languages. Now we asked to all translators to move to the new Openbravo Forge and if you plan to start a new translation package I would suggest you to do the same. With the Openbravo Forge, translators have more autonomy and more flexibility to develop translations, to collaborate with more people in the code repository, discuss the development in the project forums, release translation packages when translations are finished, etc. We already moved the Spanish traslation package to the new forge and this project can be the model for other new translations packages hosted in the Openbravo Forge.
  • New localization editions. In some countries, due to special market requirements and local laws, some modifications have to be included in the core source code to adapt Openbravo POS to these local markets. Now with the Openbravo Forge all localizations will be in the same place and you do not have to look further. We also already asked to the owners of localizations of Openbravo POS we know to move to the Openbravo Forge and there is already one localization project created: The Openbravo POS Swedish Edition (Thanks Ben).
  • New functionalities. Depending on market requirements and customer necessities, developers need to include in Openbravo POS new features and functionalities that can be useful for other users of Openbravo POS. With the Openbravo Forge you can search all projects in the Openbravo POS category with the functionality you need. And if you want to collaborate there is already a document with Community project ideas around Openbravo POS with very interesting new functionalities and features.
You are invited to visit the Openbravo Forge and if you need assistance using it or you want to give us your feedback you can write a message in the Forge support forum.

Thursday, 12 March 2009

My Openbravo Community Awards nomination

One of the important keys of the success of Openbravo ERP and POS are the members of the community. This year, during the Openbravo World Conference we want to honor the most important members of the community. I nominated the following persons and organizations.
  • Ronny G (ronny_g). Ronny is very active reporting issues and testing every new commit in the development branch of Openbravo POS. He is also an important participant in the forums and author of several documents in the wiki.
  • Jim (jbablittle). Jim is one of the most active persons in the Openbravo POS forums, friendly, and always giving detailed answers to people looking for help.
  • Mohammad Jaffar. For its translation of Openbravo POS to the Arabic language. The Arabic translation package of Openbravo POS is one of the most downloaded of the packages available for Openbravo POS.
  • Amorebieta-Etxanoko Udala. For the translation of Openbravo POS to the Euskara language.
  • Open Sistemas. For its contribution to the Openbravo POS source code adding functionalities oriented for the fast-food segment and for the largest implementation of Openbravo POS in Bocatta.
Please do not forget to nominate yourself or your favorites candidates to give the appropriate recognition to the most important people in the Openbravo community.

Monday, 9 March 2009

Openbravo POS 2.30 beta released

Finally Openbravo POS 2.30 beta has been released. It has been a long way to achieve this moment but it is worth the effort. You can download it from Sourceforge.net, and read the release notes in our wiki.

There are a lot of new functionalities and bugs fixed I want to summarize here:
  • PDA Restaurant Module: This feature will allow users to take orders, browse products and manage tables using a mobile device. In this version Opera Mobile and iPod touch / iPhone are supported, but with simple modifications any mobile device with web browsing capabilities and wifi connectivity will work. This feature is oriented for restaurants and other hospitality business.
  • Product Attributes: This feature has been created using the same concepts for product attributes in Openbravo ERP. With this new feature products can have attributes like size, color, serial number, etc. All these attributes are registered in all the operations like sales and inventory movements. New master data panels, reports and dialogs have been added to Openbravo POS to manage properly product attributes. This feature will be very useful for lots of sectors.
  • ERP - POS Improvement of Synchronization: The whole architecture for synchronization between Openbravo ERP and Openbravo POS has changed and more data is synchronized. In the ERP side a new module has been added to provide REST web services for the integration. The tool selected to run synchronization jobs is Pentaho data integration. Pentaho data integration is an open source, powerful, metadata-driven ETL, with a graphical interface to design synchronization jobs. With this new architecture the synchronization logic is decoupled from the data, it will be easier to schedule synchronization jobs, design and create new synchronization jobs between Openbravo ERP and Openbravo POS and other applications.
  • Payment Gateways: The payment gateways functionality has been improved and extended. Now we support natively the following payment gateways: PayPoint / SecPay, Authorize.net, Cyberauthorize, First Data / LinkPoint / YourPay and PaymentsGateway.net, and more payment gateways can be added easily. With these improvements Openbravo POS is able to manage card present transactions and is prepared to support EMV standards, PCI standards, and Chip/PIN requirements.
  • Bitrock Installers: Install Openbravo POS is now easier than ever. Now we provide installers for the following platforms: Windows, Linux x86, Linux x64, Linux ia64, OSX and Solaris Intel. The classical binary and sources packages are still distributed.
  • Support for the Apache Derby database engine: Apache Derby is an open source relational database implemented entirely in Java. Apache Derby improves the performance and reliability of Openbravo POS when running in embedded mode. And also Apache Derby in embedded mode replaces HSQLDB as the default database engine in the binary distribution of Openbravo POS 2.30. HSQLDB continues to be supported in Openbravo POS but it is no longer the default database engine.
  • Upgrade license to GPL version 3: With GNU GPL version 3 we are up to date with the latest version of the license and we close 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. You can read the announcement in my previous blog post.
  • Upgrade third party libraries up to the latest stable release: The following libraries has been updated: SwingX 0.9.5, Substance 5.1.
  • Improve receipt printer support: In this version Openbravo POS supports a larger set of receipt printers. It adds support for receipt printers with system drivers. Almost every receipt printer with system drivers is supported in Openbravo POS. It includes native support for Star Micronics receipt printers, and for text only receipt printers. It also has been improved the support for javapos fiscal printers.
  • Usability Improvements
    • Panel to edit auxiliary products relation: Openbravo POS supports auxiliary products since older versions but this relation had to be configured manually editing the database. Now there is an Openbravo POS panel that helps editing auxiliary products relations.
    • Add a dialog to find receipts in the edit sales panel. A new dialog has been added to find receipts without knowing the receipt number. Users will be able to search receipts by date, by type (sale or refund), by user, and by total.
    • Add a keypad in the cash movements panel: With this addition the cash movement panel can be operated using only the touch screen. This is a good improvement for environments that need to manage the cash amounts directly from the Openbravo POS touch screen terminal.
    • Add the possibility to print a partial report in the Close cash panel: Now it is possible to print the close cash report with the partial results without restarting the counters and totals. However you will be able to differentiate if the report is for the partial results or for the final results.
The PDA module has not been included in this beta because it was not ready. But we will try to release it as soon as possible.

The stable release will be available in some weeks, and there are still too many things to be done for this final version: Fix all planed bugs, write documentation, finish as many localizations as possible...

If you want to collaborate, please download the version and help us testing and giving us feedback in our forums.

Wednesday, 25 February 2009

Openbravo POS upgrades its license to GNU GPL version 3

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 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.



Wednesday, 4 February 2009

Openbravo POS 2.30 delayed

As published in the Openbravo POS roadmap, the planned dates for Openbravo POS 2.30 were 30th January 2009 for the beta release and 27th February 2009 for the production release. Unfortunately we have not been able to publish the beta release the 30th January and for sure it will not be possible to release the production release on time.

The progress of the development of the features for the 2.30 is going as expected but the development team is not very big and we have accumulated a few weeks of delay due to competing priorities.

If you cannot wait until the release of the beta or the production release because you want to see the progress about features like the PDA module for restaurants, the data integration processes between Openbravo ERP and Openbravo POS, ... You can access the subversion repository, download the sources and compile yourself Openbravo POS. It is very easy and everything is documented. Just follow the steps of the Developer's Guide.

We expect not to delay the publication of the beta and the production releases more than one month. And any change in this situation will be communicated to the Openbravo POS community. Stay tuned...