📜 ⬆️ ⬇️

Prelatement to the decade of Openbravo POS

Introduction


In January 2015, Openbravo POS is 10 years old. Over the years, Openbravo POS (including fork) has become the leader in the world of open source software for retail automation (POS, Point of Sale - point of sale or, more specifically, cashier’s workplace). This article is a preliminary summary of what has been and has not been implemented in the Openbravo POS project over the past 10 years.

Name history



The father of the founder, the permanent leader and almost the sole committer of the project was Adrian Romero from Spain. The project’s original name from 2005 to 2007 was Tina POS, but in August 2007 there was a conflict with this brand and had to rename the project Libre POS. Unlike the first, the second name did not last half a year, since Adrian went to work at Openbravo and the first part of the name was “branded”, leaving only the old “POS” at the end, which emphasized from this point on the project’s belonging to the ERP ecosystem -systems as a retail add-on. Also in February 2008, the first version of Openbravo POS came out immediately after the number 2.00.

At the same time, when I was looking for an Linux-based ERP system, I found out about the existence of the Openbravo project. And the Openbravo POS application became the starting point in mastering the source code of this project. I started by translating the interface into Russian. But in the end, he could not resist, and during the localization of the application for the market of the countries of the former USSR, already to the existing check printer, customer display, scanner, scales and data collection terminal, added support for the cash register, label printer, fiscal recorder and scales with label printing. For that, a year later, in the spring of 2009, in Barcelona, ​​I received the Openbravo Community Awards , not as the best localizer, but as the best developer in 2008 of Openbravo POS.


')

Enterprise behind the counter


For me, the main thing in Openbravo POS was that in a small (at first glance) desktop application, the power of a full-fledged enterprise solution was hidden with the ability to adjust to any small business automation tasks. This was achieved due to the strengths listed below, which were incorporated into Openbravo POS almost from the very beginning.





a swan song


At the same time, 2009 was the last year of the development of Openbravo POS, which was released in December, version 2.30, where the major changes were made, in minor versions 2.30.1 and 2.30.2 only a couple of bugs were fixed and the tax calculation logic was altered ( There is an opportunity to set taxes for a period of time). In the Openbravo POS 2.30 version, there were several functions that now distinguish it from other POS, both proprietary and free.

Attribute accounting

Each unit of a product or service is assigned a parameter (characteristic) that determines its consumer properties (size, color, etc.) or identifies its individual units (batch number, serial number, etc.). Further in the context of these attributes, you can keep records and generate reports.




Synchronization Pentaho Data Integration

To exchange data with external systems, it was proposed to use ETL solution from Pentaho , this allowed integrating the point of sale software into the accounting system already implemented in the enterprise. For example, the release includes schemes for downloading reference books to Openbravo POS and uploading sales through a REST web interface to Openbravo ERP.



PDA module

Even then it was clear that it was impossible to develop only the desktop version of the application. Introducing POS has to take into account the need of the customer to use mobile devices. To solve this problem, it was proposed to use a Java servlet connected to a single database along with the desktop application. To illustrate this approach, the release of Openbravo POS 2.30 included a web application based on the Struts 1 framework that allowed the waiter to accept orders from a PDA.



Unfortunately, in the future, these changes in the framework of Openbravo POS did not develop and since 2010 the project was frozen, and further development was carried out only within the framework of forks based on the source code of Openbravo POS. This was due to the fact that Openbravo abandoned the idea of ​​using the desktop application as a client for ERP and decided to make an online web client based on the Openbravo 3 platform, calling it Openbravo Web POS . At the same time, the developers are provided with the source code of Openbravo Web POS, but its distribution became possible only when subscribing to the professional version of Openbravo 3. Also, apart from the hardware management application , which is still being developed by Adrian Romero, in this project there is nothing about the desktop version of Openbravo POS does not resemble.



Fork time


Then, from 2010, the mechanism laid out by the open source and the GNU GPL license began to operate, that is, applications based on the Openbravo POS source code began to appear. The following are the most popular ones.

The main thing that unites all the branches that have sprung from the parent project is the single database structure . It is not very complicated, but due to the invariable core it allows you to maintain compatibility between any of the branches, as illustrated by the nordpos.mobi project. In it, I continued to develop the idea of ​​a web module for PDAs, and the resulting Java servlets can be connected both to the original Openbravo POS database and to the forks databases built on it.

Conclusion


Since 2008, I am one of the most active participants in this project. For me, these 7 years have certainly not been in vain, I received new knowledge, new acquaintances and new ideas. The development of open source software can be borrowed not for the sake of big money, but simply for the sake of the thought that someone will need your work in the future, and if you eventually cool off to your brainchild, there will always be someone who will pick it up and develop it further without abandoning "at the most interesting point".



Squier implementation example

Source: https://habr.com/ru/post/245765/


All Articles