Posts In Category


announcementopenbravoUser Interface

The Openbravo Grid is one of the most powerful Openbravo user interface components, providing spreadsheet familiarity to help end-users boost efficiency and productivity. This new platform capability has been specially designed to improve grid performance in high-volume environments, where sorting or filtering grid columns could result in a poor end-user

Read More
Client side scripting in Openbravoopenbravo

One of the main USP’s of Openbravo ERP 3.0 is its RIA (Rich Internet Architecture) based on the smartclient framework. Openbravo was one of the pioneers in the Opensource ERP industry to move to a fluid client based architecture. In my earlier post , I attempted to dissect the User Interface elements in Openbravo. In this post, I tend to explain briefly the way the client side scripting is segregated which would be quite useful while debugging and also while extending the module and creating new scripts.

The main client side scripts are present in the module org.openbravo.client.application. Here is the folder structure of the user interface module.

The custom scripts that are used in Openbravo ERP are added in the web/org.openbravo.client.application/js folder. There is another folder in the same path, org.openbravo.userinterface.smartclient which contains the core smartclient elements that are being used and modified for Openbravo. Notice that the scripts are segregated related to the user interface elements. For eg., The alert-management folder contains all the scripts needed for rendering and manipulation of the alert window. I will try to touch base on few elements that are being used widely and most likely to be debugged. But before that we should be aware that Openbravo uses the free marker template engine to generate user interface based on the scripts. In essence, the user interface elements that we see are mostly formed from FTL (Freemarker Template Language) templates. These templates are stored in the src/org/openbravo/client/application/templates folder. Here is a screenshot of the templates.

I am not going to explain in detail all the templates, but layout.js.ftl is the main template that acts as the base of the user interface and contains the top menu section and the tabbed workspace. The other templates are quite self-explanatory from their names and if there are any doubts in this, please drop in a comment.
Next coming to the Application scripts, here are the key scripts.
1. Main View
The main view contains the scripts necessary for the rendering and manipulation of data in the tabs, The ob-tab.js is the base script file for the tab and ob-standard-window.js is the main container inside the tab. The ob-standard-view contains the form view and grid view of each tab. ob-messagebar.js is also contained in ob-standard-view so that it is displayed properly in both form view as well as grid view. 
  • ob-tab.js
  • ob-standard-window.js
  • ob-standard-view.js
  • ob-messagebar.js (the form and grid components are detailed below)
  • ob-view-grid.js
  • ob-view-form.js

2. Grid View

All the scripts related to grid layout is present in the grid folder. Here ob-grid.js is the main grid definition extended from smartclient grid. The ob-view-grid.js is the file that is used to render the grid layout for all the normal windows. ob-tree-grid.js is an extension of smartclient tree grid and used in tree grid reference in Openbravo. The ob-tree-view-grid.js is the grid layout that is rendered in windows where tree grid is being used. For eg., Organization window.
3. Form View

The form view contains all the scripts related to the form view. The interesting thing here is, note that there are separate scripting files for the status bar, attachment section, linked item, notes. Any improvements made to these will not adversely affect the form view and similarly it is easier to add new components to the form view similar to these. The ob-view-form.js is the base script for rendering the form view. Another interesting thing to note here is the formitem folder. The formitem folder is nothing but scripts for each of the reference types being used by Openbravo. This again improves code readability, maintainability and is easily extendable. 

4. Toolbar
Another more used feature is the toolbar. Here ob-action-button.js contains the generic actions to be performed for all toolbar and button fields and of course with some exceptions. But ob-toolbar.js is the file where all the toolbar elements like New, Delete, Save, Export are defined. ob-clone-order.js is a custom button developed specifically for order window. So this is defined separately again to make sure that core functionality is not affected by newer developments. 
You can check the other folders and see how cool and simple it is to understand the application scripting architecture in Openbravo. Feel free to comment on any mistake that I may have made (in this blog post) and also for any doubts or clarifications. 
Happy Working !!!
Read More

Attachments are one of the breezy UI aspects of Openbravo, where you can attach any number of attachments to any record in the application. The beauty of the feature lies in the fact that you can restrict the access to the attachments for a specific us…

Read More
brick-and-mortarOBPlanetopenbravoOpenbravo for Retailsmartphonetablet

Openbravo POS on tablets and smartphones

With the recent announcement last week about the smartphone support for Openbravo POS, Openbravo for Retail completes the range of possible devices that let retailer adapt to any business scenario, ranging from PC based terminals to laptops, tablet devices and now “smartphones like” devices. 
I would like to stress the “like” reference, since it is not even necessary to use an smartphone, but simply a mobile device with a supported browser and internet connectivity, with the miminum required characteristics in terms of screen size and resolution (3.5″ and 480×800 pixels). As a result, retailer can use cost effective devices of around $300, like a simple iPod Touch or others. 

The beauty of this is that this new capability does not mean we are distributing a new version of our solution for smartphones, but the same solution which automatically adapts its layout depending on the size of the terminal, thanks to the responsive design principle provided by the powerful Openbravo Mobile Infraestructure. Its application to our solution was already explained by Rob Goris in this great blogpost. Tablet users will usually work with the double column layout but will be able to switch to the single column layout by simply rotating the device, while smartphone users will usually work with the single column layout.

To illustrate this, a new video is available which shows Openbravo POS features in action on mobile devicesEnglish and Spanish, which complements the one we published last week showing Openbravo POS in a sporting shoes retailer, here.

With this new capability which strenghtens Openbravo’s mobile retail offering, brick-and-mortar retailers get clear business benefits:

  • Simplified deployment and maintenance of a single and cross platform solution that can be run in multiple terminals, either traditional PC based or modern mobile devices like tablets or smartphones, providing the same functionality and user experience, instead of native mobile solutions which require to be installed on each mobile terminal. Only by using a browser.
  • Enable the go-mobile strategy, an industry imperative today, by using both iOS, Windows or Android mobile devices
  • Dramatically reduce terminal costs by using mobile consumer devices, like smartphones or tablets, instead of traditional PC-based terminals
  • Provide a better service and shopping experience to their customers
  • Empower store staff and increase service quality with a modern and more flexible solution that help staff while selling and assisting customers
  • Be more agile in front of seasonal demand situations which require more points of sale by simply adopting mobile devices during these periods

This new feature converts Openbravo for Retail in an even more compelling solution for retailers of different sizes and activity, that can access to a modern and more flexible solution, which can be easily tailored to their own special needs, giving them more agility and better TCO, while achieving real-time global visibility and efficiency on their business demands.

Are you expanding into new territories and/or new business areas, or just seeking for a solution to modernize your stores and provide better shopping experience with a state-of-the-art mobile POS solution? : 

  • Are you an independent mid-sized brick-and-mortar retailer struggling to go mobile and interested to grow on-line? Openbravo for Retail can provide you strong store, e-commerce backend and corporate functionality, with a single source of truth
  • Are you an e-tailer seeking for a complete e-commerce backend solution to better manage your growing operations? Openbravo for Retail can be easily integrated with any e-commerce platform (Magento connector available for example). If you are thinking on opening pop-up stores for showrooming, Openbravo POS with mobile devices can also be a key element for a quick up&running
  • Are you a large brick and mortar retailer and want to protect your headquarters system investment while improving your stores operations? Openbravo POS is the perfect solution, easy to integrate with your current corporate system and from a single integration point

If you want to learn more about our solution:
·        Visit our Retail website section

·        Download our product brochure (Englishand Spanish)

·        Dowload our solution description (Englishand Spanish)

Happy retailing!

Xavier Places
Openbravo’s Retail Lead

Read More
Business Partner blocking in openbravoBusiness Partner Locking in OpenbravoCustomer BlockingopenbravoVendor Blocking

A Business partner in Openbravo is any third party like customers, suppliers, creditors etc. Even employees can be business partners. These business partners are segregated through Business Partner Categories. For more information on Business Partners refer here. More often, companies are caught up in situations where they are not able to restrict a particular customer […]

Read More
account transactionCustomer revenue statement in openbravoCustomer Statement in OpenbravoopenbravoOpenbravo ERPtechnology

In a finance driven ERP like Openbravo, the management of the finances is one of the key requirements of the clients. In a typical scenario, there are going to be a huge number of transactions between the client and various business partners. But the client needs to be aware of the financial status of the […]

Read More

In Openbravo ERP, preferences are a cool and effective way to manage restrictions and apply certain additional actions at various levels like Client, Organization, Role and even at the window level. For more information on using preferences, refer http…

Read More

Good article on installing Oracle 11g R2 in Windows 7.Oracle 11g Installation on Windows 7 | MacLochlainns Weblog: ‘via Blog this’

Read More

Openbravo as framework is as powerful as Openbravo as an ERP. Development and Customization has been very much streamlined due to the MVC architecture and the modular approach. That is one reason there are so many modules/verticals available on top of …

Read More