Dec 24, 2010

Track Santa’s progress in your Openbravo workspace

by Paolo Juvara
Who said that ERP has to be boring?

With the new workspace and widget capabilities of Openbravo 3.0 you can include all types of content directly in your ERP.

One of my favorite sites for the Holiday Season is the Official NORAD Santa Tracker, that allows children and adults alike to follow Santa's progress with his delivery work. This year, NORAD added a Google widget for the site.

With that and following Rob's tutorial, you can easily add your Santa tracker to your ERP workspace and monitor Santa's deliveries as you monitor your own warehouse shipments.

I wish a Happy Holiday Season to everybody!

P.S.: To people in Spain - sorry, I am not aware of a Reyes Magos tracker yet.



Dec 16, 2010

The Amazing Openbravo 3.0 Grid

by Paolo Juvara
Two weeks have gone by since the launch of Openbravo 3.0 RC3, which - with its My Openbravo workspace and support for widgets - was very well received and has already been downloaded more than 4000 times.

Since then, the Openbravo development team has been hard at work on 3.0 RC4, targeted for late January and introducing some of the most significant changes of the 3.0 release: master detail and editable grid.

While you will need to wait a few more weeks to download a packaged version that allows you to test driving these new capabilities, the functionality is already code complete and working in the developers' machines.

We know that you have been expecting these features for a long time, so we didn't want to keep you waiting any longer and we recorded a video that show them in action.



The video is taken out of a development environment and it is quite crude. Yet, it is enough to make you understand what is coming and I am confident you will get as excited as we are about these new amazing user interface.

Let me walk you through it.

The video starts in the Sales Order window that illustrates the new master detail paradigm where you can see the full sales order documents in a single view, without having to navigate to several tabs. At second 4 you can see how the splitter that separates master from detail records can be easily moved allowing you to adjust the dimension of your work space to the data you need to work with: if you are working on multiple sales order headers, you can expand the top part of the screen; when you focus on a single order, you can increase the size of the bottom part of the screen to make sure that all the order lines properly fit.

The video then moves to the Account Tree window that, again, is an example of the master (the chart of accounts) detail (the accounts) pattern. Notice at second 9 how the child tab is immediately populated when a master record is selected and the tab shows the number of records it contains - 1352 in this case - next to its title. This allows you to assess the content of a tab without the need to open it and therefore saving you several clicks while exploring data.

From second 15 to 30, notice the responsiveness of the grid and how easy it is to scroll through it, even when it contains a large number of records. Isn't that great?

Second 35 to minute 1:00 illustrate how you can now not only resize columns - like in 2.50 - but also reposition them in the grid and hide or show them. The best part is that users can define and save their preferred grid configuration so they do not need to repeat it every time they access the window.

From minute 1:00 to 1:45, you can see how filters work and how users can enjoy in the ERP the same power and intuitiveness that they are used while analyzing data using a spreadsheet. Many applications highlight their capability to export data to a spreadsheet for analysis; Openbravo not only does that but it also brings the power of a spreadsheet directly within the application, eliminating the need to export.

The ease of use and productivity of a spreadsheet are also emulated in the edit capabilities, starting from second 1:45. Here you can see how a user can quickly make changes to several records by just moving to the next line, very much in the same way they would do it in a spreadsheet.

At minute 2:20, the demo shows how this type of grid editing can also be used to trigger actions like, for example, changing the status of an order, directly from the grid. Again, this saves several clicks and makes users much more productive.

Finally, from minute 2:45, you can see one of the most powerful features of the grid which allows users to add calculated fields based on the content of other columns. This capability provides a very simple but powerful reporting tool allowing users to fully exploit the data in their ERP to drive decisions in their business.

These combined capabilities transform the way users interact with the system, making Openbravo a productivity tool that not only allows you to record and process transactions in your organization without getting in the way but also to manipulate and extract the full power of the information in your ERP.

All of these features will become available shortly and I hope that you will be as excited as we are with this amazing new grid, coming to an Openbravo implementation near you in just a few weeks.



Dec 13, 2010

Running JSLint as Mercurial precommit hook

by Iván Perdomo

JSLint is a tool that helps you identify potential problems in JavaScript code. Some experienced developers may disagree with the coding style enforced by the tool, but if you are beginning with JavaScript this tool helps you stay out of troubles.

Mercurial hooks

Mercurial offers a powerful mechanism to let you perform automated actions in response to events that occur in a repository …

Mercurial: The Definitive Guide

The idea is to automatically check all the modified JavaScript files when trying to perform a commit. If the tool (JSLint) complains on at least on file, the commit is aborted.

The components

jslint4java

jslint4java is just a Java wrapper around JSLint and gives you the possibility to run it command line, e.g.:

java -jar jslint4java-1.4.4.jar application.js
jslint:application.js:11:9:Line breaking error ')'.
jslint:application.js:11:10:Missing semicolon.

Some of the options are for the tool are:

Usage: jslint4java [options] file.js ...
Options:
--adsafe    If adsafe should be enforced
--bitwise   If bitwise operators should not be allowed
--browser   If the standard browser globals should be predefined
--cap       If upper case html should be allowed
--css       If css workarounds should be tolerated
--debug     If debugger statements should be allowed
--devel     If logging should be allowed (console, alert, etc.)
--encoding  Specify the input encoding
--eqeqeq    If === should be required
--es5       If es5 syntax should be allowed
--evil      If eval should be allowed
# Many more (...)

jslint

jslint is a shell script wrapper for calling jslint4java, e.g.

#!/bin/sh
# Note: Modify the path where the .jar is located
java -jar /home/iperdomo/tools/jslint4java/jslint4java-1.4.4.jar --evil $1

jscheck-hg

jscheck-hg is a simple shell script that checks for modified or added JavaScript files and jslint them

#!/bin/sh
# Note: Modify the path location for jslint (the previous script)
hg st -man | awk '/.js$/' | xargs -rn1 path/to/jslint || exit 1

Defining jscheck-hg as precommit hook

With all the components in place, you just need to add the hook to the repository metadata, for this modify the .hg/hgrc file, e.g.

[hooks]
precommit = /path/to/jscheck-hg

Openbravo specifics

Last Friday, the modules for 3.0 were merged into pi, so all the components required for setting this hook are already in the repository. jslint4java, jslint, jscheck-hg are part of the org.openbravo.client.kernel module.

You just need to add the precommit hook to your repository using the jscheck-hg available in org.openbravo.client.kernel/jslint. Open your .hg/hgrc and add the following lines:

[hooks]
precommit = ./modules/org.openbravo.client.kernel/jslint/jscheck-hg

That’s all. Now every commit that contains a JavaScript file modification, it needs to pass the JSLint check.

Happy coding!




Dec 9, 2010

Stepping into the CEO role

by Paolo Juvara
About a week ago, Openbravo announced my appointment to the role of Chief Executive Officer of the company.

Since the announcement, I have received an enormous amount of congratulatory messages from not only colleagues and partners but from members of our Community as well.
I would like to thank everybody for their wishes and their support.

I step into this new capacity after nearly four years as Openbravo CTO. This new role extends my responsibilities beyond product definition and coordination of community activities and into the management of the overall business around the Openbravo product.

These past years have seen the Openbravo Community reach many significant milestones, including passing the 1.8 million product downloads mark, the registration of more than 12,000 developers in the Openbravo Forge, and the publication of 250 extension modules.

Today, thousands of organizations around the world run their business with the Openbravo free and open source ERP solution.

I credit a good part of this success to the open collaboration and communication process that Openbravo has established with its community, including:
This open community engagement will continue and accelerate in the coming months under the leadership of Ismael Ciordia, one of original founders of Openbravo, who - after having spent the last few years focused on the technology of the Openbravo platform - will now step back in his original role of CTO.

On the commercial side, Openbravo will also continue on its established path of defining and executing a sustainable and fair business model that does not divorce open source from professional usage.

One of Openbravo's core values is the belief that no ERP can be successful without a vibrant channel of service providers adding their domain expertise and geographic proximity to the customers. Openbravo is and will continue to be 100% committed to the business success of its partners.

Thanks to this approach, Openbravo Professional Edition continues to show an impressive momentum and we have more than doubled our subscription sales in just the first three quarters of the year.

In the coming months we will continue to provide tools and facilities to our partners to make their Openbravo business practice more effective and to accelerate the dissemination of Openbravo Professional Edition even further.

I am honored and excited to take over the CEO role for Openbravo at this time of expansion.
I am also thankful to every person in the Openbravo Community for their continued support.

Your contribution is the most essential element of Openbravo's success.



Dec 2, 2010

How to create an Openbravo Workspace Widget

by Rob Goris
In my last blog post, I presented you with 24 ideas for Openbravo Workspace Widgets but I have to admit that these images were a bit of a tease, using smoke & mirrors in Photoshop. So now let´s put the money where our mouth is and build them for real with the step-by-step guide below that shows you how to create a simple widget for the Openbravo Workspace.

Before you start, make sure you are running Openbravo 3.0 - RC3 (release notes here) in Firefox and that your are logged in as a System Administrator.

You will be able to build your own widget in less than 5 minutes and share them with your team. If you also want to register and publish your widgets as a module, see Appendix II in the guide.

Share your experiences on the UX Labs forum. Here you will also find some source URLs for a number of widgets: Calendar, Motion Chart, Google Insights & Google Docs. Just copy & paste this in your widget definition. Add yours if you find some nice ones.



Dec 1, 2010

24 Ideas for Openbravo Workspace Widgets

by Rob Goris
With Release Candidate 3 (RC3) we are one step closer to delivering the promise of Openbravo 3.0. In this blog post I want to focus on the most important change in RC3: Fully functional Workspace Widgets. I will give you 24 examples of all the cool things you can do with them.



In RC1 and RC2 the MyOpenbravo tab (from now on called: Workspace) already featured a set of static "fake" widgets that served as a preview of the real thing. In RC3, we have rebuilt them as components that are defined in the Application Dictionary and can be packaged as modules. This means that from now on you can start designing, developing and deploying widgets and share them with your team, company or the world. We will get you started with a set of out-of-the-box widgets but the real interesting ones will be developed by our community. Although our audience is different and smaller in volume than that for the iPhone or Android App Stores, I can´t help believing in a similar burst of creativity for our Openbravo Workspace Widgets. Everybody to whom I explained the concept of Workspace Widgets in the last months, instantly came up with amazing ideas, whether they be productivity enhancing, insight providing, process streamlining or just fun.

Through this blog post I want to get the creative juices flowing so here´s a bunch of raw ideas for Openbravo Workspace Widgets. Leave your comments below the images.

I am very excited to learn what you will come up with. Start building widgets now or first share your ideas here.

In a few days I will explain how to create a simple widget. [ update: here it is ]