tag:blogger.com,1999:blog-23822091624909859142024-02-20T01:11:39.643+01:00Adrián Romero's BlogOpenbravo, technology, and other things...Unknownnoreply@blogger.comBlogger34125tag:blogger.com,1999:blog-2382209162490985914.post-47541350021065179732012-09-06T19:23:00.000+02:002012-09-07T12:06:25.432+02:00Openbravo for Retail Developers Guide<div class="separator">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_4fV28tk0JkCT4c3b03d6g234sToNK2EmCGcxg7MRVOH9ImOny34NnDQWUL8-49IUaeMgDxoxk7AFajRo1aSe3HFA9hzp6nObfCu3J4d595uBQxAIBAbvRJcMyvAGXAjJt83ZTH5EAr8/s1600/600px-Fullscreen.png" imageanchor="1" style="float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_4fV28tk0JkCT4c3b03d6g234sToNK2EmCGcxg7MRVOH9ImOny34NnDQWUL8-49IUaeMgDxoxk7AFajRo1aSe3HFA9hzp6nObfCu3J4d595uBQxAIBAbvRJcMyvAGXAjJt83ZTH5EAr8/s1600/600px-Fullscreen.png" height="135" width="200" /></a></div>
The new Openbravo for Retail that has been recently <a href="http://www.openbravo.com/content/openbravo-announces-launch-its-new-version-solution-retail-sector">announced</a> includes a new point of sale (POS) application. It is very easy to use, designed for touch screens and to support multiple POS devices.<br />
<br />
Openbravo for Retail has been designed with <a href="http://wiki.openbravo.com/wiki/Modularity">modularity</a> in mind allowing developers to customize and extend this new point of sale application easily in a modular way. To help developers with this task we announce the first version of the <a href="http://wiki.openbravo.com/wiki/Retail:Developers_Guide">Openbravo for Retail Developer's Guide</a> that includes documentation about all the new technologies created by Openbravo to develop this new point of sale.<br />
<br />
The <a href="http://wiki.openbravo.com/wiki/Retail:Developers_Guide">Openbravo for Retail Developer's Guide</a> has been created with a similar structure of the <a href="http://wiki.openbravo.com/wiki/Category%3ADevelopers_Guide">Openbravo Developer's Guide</a>. This is an overview of the included categories:<br />
<br />
<ul>
<li>The <a href="http://wiki.openbravo.com/wiki/Retail:Developers_Guide/Concepts">Concepts</a> section gives a detailed description of all relevant Openbravo for Retail development concepts.</li>
<li>The <a href="http://wiki.openbravo.com/wiki/Retail:Developers_Guide/How-to">How-to</a> sections describe Openbravo for Retail development topics using a focused development goal.</li>
</ul>
<div>
Openbravo for Retail is based on Openbravo 3 technology. Before starting with the <a href="http://wiki.openbravo.com/wiki/Retail:Developers_Guide">Openbravo for Retail Developer's Guide</a> it is a good idea to have a look at the <a href="http://wiki.openbravo.com/wiki/Category%3ADevelopers_Guide">Openbravo Developer's Guide</a> that explains the concepts Openbravo for Retail is based on.</div>
<div>
<br /></div>
<div>
This is the first version of the Openbravo for Retail Developer's Guide. We will continue working on it creating new and polishing existing documents. You are invited to help us improve this documentation. Leave your feedback in the <a href="http://forge.openbravo.com/projects/openbravoretail/forum/">Openbravo for Retail forums</a> or contribute directly to the articles.</div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2382209162490985914.post-80719656064615640292011-04-14T17:22:00.001+02:002011-04-14T17:22:54.772+02:00How to create new import process with Initial Data Load<a href="http://forge.openbravo.com/projects/xidl">Initial Data Load</a> is a commercial module available for Openbravo ERP Professional Edition subscribers to import data that provides out of the box several import process oriented to set up all the data needed to start working with Openbravo ERP. After importing data with the provided processes, users will be able to genereate the initial balance sheet and to enter new transaction documents like orders, shipments and invoices.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyyNtbJEruvn9U5wc7txOA1rzSxlNqv2S9jajkqvuJv_-qc2e9z9BZpGNoFjgoxB4BUEyC_ToTczwtZjWsRRoW-nwZHGkgitCv_mORAbzmDER_o3pDUl3Qn_aJVhzYWaVnfWKCW8Ouoso/s1600/initialdataload.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyyNtbJEruvn9U5wc7txOA1rzSxlNqv2S9jajkqvuJv_-qc2e9z9BZpGNoFjgoxB4BUEyC_ToTczwtZjWsRRoW-nwZHGkgitCv_mORAbzmDER_o3pDUl3Qn_aJVhzYWaVnfWKCW8Ouoso/s320/initialdataload.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595080369805100194" /></a><br /><div>This makes <i>Initial Data Load</i> a great tool focused to make shorter and cheaper the implementation process of Openbravo ERP but also <i>Initial Data Load</i> is extensible. You can use all the elements and tools provided, like the user interface, default values management, utilities, etc... to modify the existing processes to be adapted to your business requirements and to create new ones to import custom data. This way if you want to create a new process to import data you only need to focus in the logic because all the infrastructure provided by <i>Initial Data Load</i> will be reused.</div><div><br /></div><div>To help with the task of creating new data import processes for <i>Initial Data Load</i> it is helpful the module <a href="http://forge.openbravo.com/projects/idljava">Initial Data Load extension for Java</a>. With this new module you will be able to develop a new data import process with a single java class and few lines of code. In this guide I will explain step by step the process of creating and deploying a new data import process using the java class sample included in the Initial Data Load extension for Java. After you read this visual guide you will be able to write, install and execute new processes quickly and reduce a lot the time needed to implement a fully working Openbravo ERP following your business requirements.</div><div><br /></div><div><b>Step 1. Installation of the required modules</b></div><div><br /></div><div>Log in as <i>System Administrator</i> and activate your instance in <i>General Setup >> Application >> Instance Activation</i> . To activate your instance you need first to <a href="http://www.openbravo.com/product/erp/acquire/">adquire an Openbravo ERP Professional Subscription</a> and use the <i>System Key</i> Openbravo will send to you.<br /><br /></div><div>After you have your instance activated, go to <i>General Setup >> Application >> Module Management</i> and install the modules <i>Initial Data Load</i> and <i>Initial Data Load Extension for Java</i>.</div><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9f7HJ9ep5QOFY1bqhU2MS6Pv29ZUurao1kzQ12W0EDJJQdoRyRrIADu8mOD-2pXtznjf394yn2hBrvqSe9F26RyvAd5v-C0_KBhILpyAvcZjSUIRvACmRU84PCM7f86k7QjFrHwc4EHc/s1600/installmodules.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9f7HJ9ep5QOFY1bqhU2MS6Pv29ZUurao1kzQ12W0EDJJQdoRyRrIADu8mOD-2pXtznjf394yn2hBrvqSe9F26RyvAd5v-C0_KBhILpyAvcZjSUIRvACmRU84PCM7f86k7QjFrHwc4EHc/s320/installmodules.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595087710901004002" /></a><br /><b>Step 2. Install the dataset.</b><br /><br />The dataset provided by the Initial Data Load module contains the definition of the provided import processes and the default values for each process.<br /><br />Login as your <i>Client Administrator</i> and go to <i>General Setup >> Enterprise >> Enterprise Module Management</i>, select <i>Initial Data Load</i> and press <i>OK</i>.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieVaj5PDyNr9c3ZSH3O6h1m_RkqKMOKukj6CiiqNirG3UGyvjM-IpV4Jk-zCnBQ_XyePAwMfdEAovk7UG5lGrLQNUlvIrNdDshSAGEXcvZz49mOD2t2p0XEKiiTw8Gh0cy2Ajxkv6q3BU/s1600/installdataset.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieVaj5PDyNr9c3ZSH3O6h1m_RkqKMOKukj6CiiqNirG3UGyvjM-IpV4Jk-zCnBQ_XyePAwMfdEAovk7UG5lGrLQNUlvIrNdDshSAGEXcvZz49mOD2t2p0XEKiiTw8Gh0cy2Ajxkv6q3BU/s320/installdataset.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595088388499265490" /></a><br /><div><b>Step 3. Configure a new process.</b><br /><br />The module <i>Initial Data Load for Java</i> provides a sample java class that implements an import process to import products. Now we are going to configure this class to invoke it from the <i>Initial Data Load </i>process window.<br /><br />Go to <i>Master Data Management >> Initial Data Load >> Setup >> Entity Default Values</i>. Create a new record and fill in the field values. Pay attention to the field <i>Class Name</i>. The value must be <i>org.openbravo.module.idljava.proc.SampleProductsProcess</i> that is the name of the java class that implements the sample products import process.</div><div><br /></div><div>If you cannot add new records, it is because there is a know issue already fixed in the <i>Initial Data Load</i> that prevents you to create new records. For more information about this, go to the <a href="https://issues.openbravo.com/view.php?id=16787">issue report 16787</a>.<br /><br /></div><div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqkTAJZSMeEBTpB6nU7BkcAGDRQr-7lAgknzHZRCtVBsTddOrzcZjVtrE7RVqlJo-rP7wxPTjRH22tIXF42YGEREbBdkzAA9lOrmU35VltPLPq6hWrE_XVQrxqbF7J5NMBMF8Gev7YlOg/s1600/configureprocess.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 301px; " src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqkTAJZSMeEBTpB6nU7BkcAGDRQr-7lAgknzHZRCtVBsTddOrzcZjVtrE7RVqlJo-rP7wxPTjRH22tIXF42YGEREbBdkzAA9lOrmU35VltPLPq6hWrE_XVQrxqbF7J5NMBMF8Gev7YlOg/s320/configureprocess.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595089508789186466" /></a><br /><b>Step 4. Execute the new process</b><br /><br />Now we have everything we need to execute the new configured process that imports products. Go to <i>Master Data Management >> Initial Data Load >> Process Import</i>. Select the new configured process, in our example <i>Custom Products</i>. You can use this <a href="http://pastebin.com/yzieLebn">products sample CSV</a> file to test the execution of the process. Press <i>Validate</i> or <i>Process</i>. <i>Validate</i> only checks that the data to import is valid but does not actually import the data. <i>Process</i> checks that the data is valid and import the data.<br /><br />This is the result after pressing <i>Process</i>.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZoEB4r-V8HA0gMZZx7prjf0Q-Ld9at-oklIXhOnZhORsHXcs_4NP1Z5MHX0NYOL6tMnp82hv8U1tSszbe9Bi4nFxKQHMp0A4NRWS9bipDB0gUnWhz2NtOlDqRYg1G8sWrXIe2rtfqpBs/s1600/processsucessful.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZoEB4r-V8HA0gMZZx7prjf0Q-Ld9at-oklIXhOnZhORsHXcs_4NP1Z5MHX0NYOL6tMnp82hv8U1tSszbe9Bi4nFxKQHMp0A4NRWS9bipDB0gUnWhz2NtOlDqRYg1G8sWrXIe2rtfqpBs/s320/processsucessful.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595090876201137154" /></a><br />And one of the products imported:<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEsL5l0H4iWnW7jHqq7xvyh5bP3eolSnFbrEBlqw2ggGZUjxd0hH0KH0orrfDYUJy-X0wdlNlGY2kUDjwMnnEq7IGmfcVNVIsCqX12m61Iqjd5J3E6z7NXnjsO4t3r5vdJwZyReT7Iy-k/s1600/product.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEsL5l0H4iWnW7jHqq7xvyh5bP3eolSnFbrEBlqw2ggGZUjxd0hH0KH0orrfDYUJy-X0wdlNlGY2kUDjwMnnEq7IGmfcVNVIsCqX12m61Iqjd5J3E6z7NXnjsO4t3r5vdJwZyReT7Iy-k/s320/product.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5595091227817411282" /></a><br /></div><div><b>Quick review the java class that implements this new process</b><br /><br />The sample import process used in this post is <i>SampleProductsProcess</i> and is included in the module <i>Initial Data Load for Java</i> and you can use it as a foundation for the new processes you want to create. Here I will explain the main parts of this java class.<br /><br />All classes that use <i>Initial Data Load for Java</i> to implement a new import process must extend the java class <i>IdlServiceJava</i>.<br /><br /><span style="font-family:monospace"> public class SampleProductsProcess extends IdlServiceJava {</span></div><div><span class="Apple-style-span" > ...<br /></span><br />Implemeting this class you must override the following methods: <i>getEntityName()</i> that returns the name of the process:</div><div><br /><span style="font-family:monospace"> @Override<br /> public String getEntityName() {<br /> return "Sample Products";<br /> }</span><br /><br /><i>getParameters()</i>, that returns an array with the definition of the fields that will be used in this process. Each parameter basically consist in a field name and a data type:<br /><br /><span style="font-family:monospace"> @Override<br /> public Parameter[] getParameters() {<br /> return new Parameter[] {<br /> new Parameter("Organization", Parameter.STRING),<br /> new Parameter("SearchKey", Parameter.STRING),<br /> new Parameter("Name", Parameter.STRING),</span></div><div><span class="Apple-style-span" > ...<br /></span><br /><i>validateProcess()</i> that validates the integrity of each record in the CSV file. For this task <i>Initial Data Load</i> provides the utility class <i>Validator</i> that has several test methods to check the data integrity:<br /><br /><span style="font-family:monospace"> @Override<br /> protected Object[] validateProcess(Validator validator, String... values) throws Exception {<br /> validator.checkOrganization(values[0]);<br /> validator.checkNotNull(validator.checkString(values[1], 40), "SearchKey");<br /> validator.checkNotNull(validator.checkString(values[2], 60), "Name");</span></div><div><span class="Apple-style-span" > ...<br /></span><br />And <i>internalProcess()</i> that actually imports the data. The recommended way to create Openbravo business objects and store it in the database is the <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Data_Access_Layer">Openbravo Data Access Layer (DAL)</a> that provides an interface to all the Openbravo Business Objects and logic.<br /><br /><span style="font-family:monospace"> @Override</span><span style="font-family:monospace"><br /> public BaseOBObject internalProcess(Object... values) throws Exception {</span></div><div><span class="Apple-style-span" > ...<br /></span> </div><div><br /></div><div>If you want an example of a module using Initial Data Load for Java, have a look at the project <a href="http://forge.openbravo.com/projects/IDLExtensionInvoices">Initial Data Load extension for invoices</a>. A module that implements a new data import process that allows to import invoices using Initial Data Load.<br /><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-44171023788855868332010-11-15T19:47:00.000+01:002010-11-15T21:46:37.637+01:00Improving Openbravo ERP Shipment documents using Extension Points<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6WyzWq_yH88g-JI4d-AF0Z1uBTMO884ZVfNXjxaijPv_SK8pwmu64vZbXYWO6l_G7PreOoUPCpFOL76HHHaOlwb_Wf2rpvLJgTzqrrS4XgCxA5ifZPBIEPXqtc3Uan7DXHlrVdUuJlZA/s1600/logistic.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 319px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6WyzWq_yH88g-JI4d-AF0Z1uBTMO884ZVfNXjxaijPv_SK8pwmu64vZbXYWO6l_G7PreOoUPCpFOL76HHHaOlwb_Wf2rpvLJgTzqrrS4XgCxA5ifZPBIEPXqtc3Uan7DXHlrVdUuJlZA/s320/logistic.jpg" alt="" id="BLOGGER_PHOTO_ID_5538706274187479026" border="0" /></a><br />Extension Points <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/DB/PL-SQL_code_infrastructure#Extension_points">[1]</a> is a cool feature that allows to enhance the capabilities of the core flows in modules without customizing Openbravo ERP. This way you will not have any conflict between the new enhancements in the core flows you developed and the upgrades of Openbravo ERP. Extension points are hooks in the core PL/SQL procedures that performs the business logic of the core Openbravo ERP flows that allows to add other PL/SQL procedures to the flow that enhance and modify the functionality.<br /><br />To demonstrate the capabilities of the Extension Points that the Shippment Flow includes <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Reference/ExtensionPoints">[2]</a>. I created a very basic Picking and Packaging module that modifies the Shipment flow adding the following functionality:<br /><br /><ul><li>Processes "Create Shipments from Orders" and "Generate Shipments" generate shipments in draft status and do not complete them automatically. This allows a new step in the shipment process to pick the goods from the warehouse and pack everything together before goods are delivered to the customer.</li><li>A new field is defined for all Shipment lines. This field is "Ready". When this field is marked it means that the goods of the line are ready for delivery to the customer. A shipment cannot be completed until all lines are marked as "Ready".</li><li>For informations purposes it has been added a new field named "Due date" in the Shipments header. This field will be useful for example to create reports that list late Shipments not yet delivered.</li></ul><br />To dig into the technical details how Extension Points are used in this module. These are the new PL/SQL functions created.<br /><br /><ul><li>PNP_CREATEDRAFT <a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_CREATEDRAFT.xml">[3]</a>. This function is hooked to the Extension Point "M_Inout_Create - Calling Post Process" that is executed in the automatic generation of shipments. This function just indicates that the generated shipments must not be completed.</li></ul><ul><li>PNP_VERIFYREADY <a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_VERIFYREADY.xml">[4]</a>. This function is hooked to the Extension Point "M_Inout_Post - Finish_Process Extension Point" that is executed when completing a Shipment document. This function verifies that all lines of the Shipment are marked as ready, and if any of the lines is not ready it cancels the process.</li></ul><br />The Picking and Packaging module is hosted in the Openbravo Forge <a href="http://forge.openbravo.com/projects/pickingandpackaging">[5]</a>, you can inspect the source code <a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/">[6]</a> and you can install also in your Openbravo ERP instance using the Module Management window. The latest version is 1.0.1 and it has a been published in "Test" maturity status, so if you want to install in your Openbravo ERP instance you need to modify the Standard Settings of the Module Management window. This Picking and Packaging module is not intended for production environments.<br /><br />This module is basically a proof of concept of what can be done with Extension Points and Modularity to extend and improve Openbravo ERP capabilities but if you like it and you want to continue implementing more functionalities you are welcome, just send a message to me.<br /><br />If you want more details about the internals of Extension points I recommend this blog post <a href="http://obdeving.wordpress.com/2009/10/27/extending-existing-procedures-at-openbravo/">[7]</a> by my colleague Gorka Ion.<br /><br /><a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/DB/PL-SQL_code_infrastructure#Extension_points">[1] http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/DB/PL-SQL_code_infrastructure#Extension_points</a><br /><a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Reference/ExtensionPoints">[2] http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Reference/ExtensionPoints</a><br /><a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_CREATEDRAFT.xml">[3] https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_CREATEDRAFT.xml</a><br /><a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_VERIFYREADY.xml">[4] https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/file/1.0.1/src-db/database/model/functions/PNP_VERIFYREADY.xml</a><br /><a href="http://forge.openbravo.com/projects/pickingandpackaging">[5] http://forge.openbravo.com/projects/pickingandpackaging</a><br /><a href="https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/">[6] https://code.openbravo.com/erp/mods/org.openbravo.module.pickingandpackaging/</a><br /><a href="http://obdeving.wordpress.com/2009/10/27/extending-existing-procedures-at-openbravo/">[7] http://obdeving.wordpress.com/2009/10/27/extending-existing-procedures-at-openbravo/</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-79080576104381208212010-09-30T18:03:00.000+02:002010-09-30T18:03:19.465+02:00Amazing uses of Openbravo POS<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Nht3FiFBd98GRHWbCsSvQrVeqeicJ2KdjTmZDA6VLl3YkuEJK7BLPxha1VxKgDWJoadZ0WGbNwE9ovSkTg13waUfSBw73-sRbisU9QAGunRSOxn-BE_PmJs8GSMcjRL3JR5wHOJy2Pw/s1600/img_0063.png"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5Nht3FiFBd98GRHWbCsSvQrVeqeicJ2KdjTmZDA6VLl3YkuEJK7BLPxha1VxKgDWJoadZ0WGbNwE9ovSkTg13waUfSBw73-sRbisU9QAGunRSOxn-BE_PmJs8GSMcjRL3JR5wHOJy2Pw/s1600/img_0063.png" alt="" id="BLOGGER_PHOTO_ID_5522329163059471186" border="0" /></a>The community around Openbravo POS is very active and with clever members that take advantage of the product to create great things. One of the best examples of I found recently through a post in the Spanish forums <a href="http://forge.openbravo.com/plugins/espforum/view.php?group_id=101&forumid=446545&topicid=7017054&topid=7018879">[1]</a> is the use of an iPad with Openbravo POS.<br /><br />This solution has been implemented by a Trattoria in Peru called Don Angelo <a href="http://www.donangelo.pe/Trattoria_Don_Angelo/Promociones/Entradas/2010/7/21_Carta_Ipad_en_nuestro_Restaurante.html">[2]</a>. The iPad is offered to the customers of the restaurant instead of the menu, and they use the iPad to view the menu, and make orders. This way orders are faster and with less mistakes. Customers find it very easy and everybody is very happy with this innovation.<br /><br />This solution has also attracted the attention of the media <a href="http://www.peru.com/noticias/portada20100812/112347/Restaurante-peruano-entre-los-pioneros-en-el-mundo-en-uso-de-iPad-en-servicio">[3]</a> and they have also a very nice promotional video where you can see Openbravo POS in action <a href="http://www.youtube.com/watch?v=xEh1WD9qeeg">[4]</a>.<br /><br />The technical details are very simple: Openbravo POS runs inside a virtual machine in a host computer, and the iPad has installed the application WYSE pocketcloud <a href="http://www.wyse.com/products/software/pocketcloud/index.asp">[5]</a> for iPad that cost only $14.99 and that allows to access to the virtual machine where Openbravo POS runs.<br /><br />My congratulations to the developers of this innovative solution.<br /><br />[1] <a href="http://forge.openbravo.com/plugins/espforum/view.php?group_id=101&forumid=446545&topicid=7017054&topid=7018879">http://forge.openbravo.com/plugins/espforum/view.php?group_id=101&forumid=446545&topicid=7017054&topid=7018879</a> (in Spanish)<br />[2] <a href="http://www.donangelo.pe/Trattoria_Don_Angelo/Promociones/Entradas/2010/7/21_Carta_Ipad_en_nuestro_Restaurante.html">http://www.donangelo.pe/Trattoria_Don_Angelo/Promociones/Entradas/2010/7/21_Carta_Ipad_en_nuestro_Restaurante.html</a> (in Spanish)<br />[3] <a href="http://www.peru.com/noticias/portada20100812/112347/Restaurante-peruano-entre-los-pioneros-en-el-mundo-en-uso-de-iPad-en-servicio">http://www.peru.com/noticias/portada20100812/112347/Restaurante-peruano-entre-los-pioneros-en-el-mundo-en-uso-de-iPad-en-servicio</a> (in Spanish)<br />[4] <a href="http://www.youtube.com/watch?v=xEh1WD9qeeg">http://www.youtube.com/watch?v=xEh1WD9qeeg</a> (in Spanish)<br />[5] <a href="http://www.wyse.com/products/software/pocketcloud/index.asp">http://www.wyse.com/products/software/pocketcloud/index.asp</a>Unknownnoreply@blogger.com9tag:blogger.com,1999:blog-2382209162490985914.post-25896235082473961692010-04-29T16:28:00.000+02:002010-04-29T16:29:28.068+02:00The fix reportIn Openbravo we have a great tool for Openbravo ERP and Openbravo POS, the <a href="http://issues.openbravo.com/">Openbravo Issue Tracking System</a>. This tool is open to all partners and members of the community. Here you can log new issues, search for open issues, closed issues, monitor the evolution of issues, participate in the issues discussions, etc. Issue reporting is very important. A good issue report is great for Openbravo engineers because it helps to evaluate the issue, and makes it easier to keep track of open issues, verify and fix them. In our wiki we have a defined <a href="http://wiki.openbravo.com/wiki/Contributor%27s_Guide#QA_Assurance">QA Assurance Process</a> and a detailed <a href="http://wiki.openbravo.com/wiki/Bug_Reporting_Guidelines">Bug Reporting Guidelines</a> that explains how to log a good issue report. I recommend to everybody that works with Openbravo ERP and POS to have a look at these documents.<br /><br />But if the issue report is very important to understand and fix the issue. The fix report is also very important too. The fix report is no more than a note added to the issue report by the engineer that explains in detail what has been done to fix the issue. The fix report makes it easier for the QA team to verify the correctness of a fix because when closing an issue they have to check that the issue is properly fixed and the modifications in the sources are correct. And it is important too for users, implementers and administrators of Openbravo ERP when they have to apply a fix or upgrade a live implementation. Changes in live Openbravo ERP environments are critical and we must provide to administrators the maximum confidence in the fixes provided. Apart from fixing the issue, the rest of the existing standard or custom functionality must continue working the same way. Usually regression issues introduced by an upgrade or a fix are several times worse than the issues fixed.<br /><br />In order to improve the fix report we are introducing in the Support Team new guidelines to follow after a fix has been done and pushed to the Openbravo ERP or POS sources repository. The sections that this fix report must include are the following:<br /><ul><li><span style="font-weight: bold;">Testing of the issue:</span> Describes the steps to follow in Openbravo ERP or POS to verify that the issue has been fixed and the results obtained. It is usually very similar to the steps to reproduce but changing the results obtained.</li><li><span style="font-weight: bold;">Explanation of the changeset that fixes the issue: </span>High level explanation of the modifications in the sources. It should explain what has been modified in each file and why. For example when adding two new fields to a report, it has to be explained that the SQL query of the report has been modified to get the field values, the jasper report template has been modified to display the fields and also that has been included two new records in the AD_TEXTINTERFACES table to translate the report labels.</li><li><span style="font-weight: bold;">Other areas affected by the changeset:</span> Usually the changes done to fix an issue affects source code that is used in several parts of the application. In this section it has to be listed all the functional areas related with the change done and how are affected, and what are the changes in the behaviour if any. This section is very important because it helps to explore if any regression can appear with this fix. For example, when modifying the PL/SQL function C_INVOICE_POST, it has to be explained that all functions and windows that create and post invoices can be affected. It also has to be explained what are the type of invoices that can be affected by the issue, whether the invoices affected by this fix depends on the document type of the invoice or the payment terms...<br /></li></ul>You have a few examples of fix reports in the following issues: <a href="https://issues.openbravo.com/view.php?id=12959">12959</a>, <a href="https://issues.openbravo.com/view.php?id=12474">12474</a>, <a href="https://issues.openbravo.com/view.php?id=12628">12628</a> and <a href="https://issues.openbravo.com/view.php?id=12856">12856</a>. And if you have suggestions to improve more the fix report we are currently implementing, we will be glad to hear them.Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2382209162490985914.post-77649794331919841972010-03-12T18:28:00.000+01:002010-03-13T09:20:01.917+01:00Simplifying development of callouts<a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/How_to_develop_a_callout">Callouts</a> are a piece of client logic in Openbravo ERP designed to be executed whenever a field changes and as a result changes parts of a tab/window without the need of refreshing it.<br /><br />The logic performed by a callout is executed by a java servlet and you can use <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/SQLC">SQLC</a> or <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/Data_Access_Layer">DAL</a> to access data. After the code has been written you only have to associate the callout to the column or columns that trigger the callout, and recompile the windows where this callout is used.<br /><br />The problem for developers is that callout servlets have a lot of boilerplate code that is very similar in all callouts. This code is not related to the callout logic and makes it dificult to understand and maintain callouts.<br /><br />To help here there is a new java class has been introduced to simplify the code of callouts and keep focused only in the logic and not in the plumbing needed to make the callout servlet work. This class is <a href="https://code.openbravo.com/erp/devel/pi/file/tip/src/org/openbravo/erpCommon/ad_callouts/SimpleCallout.java">SimpleCallout</a> and to develop a new callout based on this class you only have to create a new java class that extends <a href="https://code.openbravo.com/erp/devel/pi/file/tip/src/org/openbravo/erpCommon/ad_callouts/SimpleCallout.java">SimpleCallout</a> and overwrite the following method:<br /><br /><pre style="font-weight: bold;">protected void execute(CalloutInfo info) throws ServletException;</pre><br />In this method you can develop the logic of the callout and use the <span style="font-style: italic;">info</span> object of class <span style="font-style: italic;">CalloutInfo</span> to access window fields, database and other methods. The most important are:<br /><ul><li><span style="font-weight: bold;">public String getStringParameter(String param)</span> : This method returns the value of a field named param as an String.</li><li><span style="font-weight: bold;">public String getStringParameter(String param, RequestFilter filter)</span> : Returns the value of a field named param as an String using the filter to accept values.<br /></li><li><span style="font-weight: bold;">public BigDecimal getBigDecimalParameter(String param) throws ServletException</span> : This method returns the value of of a field named param as a BigDecimal.</li><li><span style="font-weight: bold;">public void addResult(String param, String value)</span> : This method sets the value of a field named param with the String value indicated.</li><li><span style="font-weight: bold;">public void addResult(String param, Object value)</span> : This method sets the value of a field named param with the value indicated. This method is useful to set numbers like BigDecimal objects.</li><li><span style="font-weight: bold;">public void addSelect(String param)</span> : Starts the inclusion of values of a field named param of type select.</li><li><span style="font-weight: bold;">public void addSelectResult(String name, String value)</span> : Adds an entry to the select field and marks it as unselected.<br /></li><li><span style="font-weight: bold;">public void addSelectResult(String name, String value, boolean selected)</span> : Adds an entry to the select field.</li><li><span style="font-weight: bold;">public void endSelect()</span> : Finish the inclusion of values to the select field.</li><li><span style="font-weight: bold;">public String getLastFieldChanged()</span> : Returns the name of field that triggered the callout.</li><li><span style="font-weight: bold;">public String getTabId()</span> : Returns the Tab Id that triggered the callout.</li><li><span style="font-weight: bold;">public String getWindowId()</span> : Returns the Window Id that triggered the callout.</li><li><span style="font-weight: bold;">public VariablesSecureApp vars</span> : This instance field contains the VariablesSecureApp associated to the callout servlet.<br /></li></ul>You can find an example of a class that currently uses <a href="https://code.openbravo.com/erp/devel/pi/file/tip/src/org/openbravo/erpCommon/ad_callouts/SimpleCallout.java">SimpleCallout</a> to implement the logic of a callout. The class is <a href="https://code.openbravo.com/erp/devel/pi/file/tip/src/org/openbravo/erpCommon/ad_callouts/SL_Project_Service.java">SL_Project_Service</a>. This callout just takes the numeric value of two fields, calculate the sum and writes the result in other field. This is the interesting part of the code that performs the logic:<br /><pre><br /><span style="font-weight: bold;">@Override</span><br /><span style="font-weight: bold;">protected void execute(CalloutInfo info) throws ServletException {</span><br /><br /><span style="font-weight: bold;"> BigDecimal serviceSerCost = info.getBigDecimalParameter("inpservsercost");</span><br /><span style="font-weight: bold;"> BigDecimal serviceOutCost = info.getBigDecimalParameter("inpservoutcost");</span><br /><br /><span style="font-weight: bold;"> BigDecimal serviceTotalCost = serviceSerCost.add(serviceOutCost);</span><br /><br /><span style="font-weight: bold;"> info.addResult("inpservcost", serviceTotalCost);</span><br /><span style="font-weight: bold;">}</span><br /></pre><br /><a href="https://code.openbravo.com/erp/devel/pi/file/tip/src/org/openbravo/erpCommon/ad_callouts/SimpleCallout.java">SimpleCallout</a> is currently in the <a href="https://code.openbravo.com/erp/devel/pi/">pi repository</a> of Openbravo ERP, there has not been released any version with this class included. It is not also part of the Openbravo ERP public API and until it is not included here you cannot rely on it because could change without notice. If you find that this class is interesting to be included in the public API, let me know and I will push to include it and extend it with more new functionality and functionality from other Callout helper classes.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2382209162490985914.post-81795776829160197282010-02-03T12:29:00.000+01:002010-02-03T19:39:52.895+01:00Prototyping with HTML 5 (2)This blog post is just to announce the availability in the <a href="http://forge.openbravo.com/">Openbravo forge</a> of the prototype of the HTML 5 application based on Openbravo ERP web services I am working on. The project home page is <a href="http://forge.openbravo.com/projects/openbravomobile">Openbravo Mobile</a>. And it is published the <a href="http://forge.openbravo.com/projects/openbravomobile/code">source code</a>, a deployable <a href="http://forge.openbravo.com/projects/openbravomobile/downloads">.war file</a> and an small <a href="http://forge.openbravo.com/projects/openbravomobile/wiki">wiki page</a> with instructions to install. Everything under the <a href="http://www.openbravo.com/legal/license.html">Openbravo Public License</a>.<br /><br />All comments are welcome in the <a href="http://forge.openbravo.com/projects/openbravomobile/forum">forum section</a>.<br /><br /><span style="font-weight: bold;">Disclaimer:</span> 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.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2382209162490985914.post-77904494832972333642010-01-27T17:09:00.004+01:002010-01-28T11:29:58.826+01:00Initial Data Load demostration - Feb 4th, 2010Open to all Openbravo Community members, this webinar will demonstrate Openbravo modularity, will help you better understand development techniques, processes and tools you can use to create extension modules, and will show concrete functional solutions to address specific requirements that might inspire you to create your own solutions.<br /><a href="http://www.openbravo.com/product/exchange/modules/initial-data-load/"><br /></a><a href="http://www.openbravo.com/product/exchange/modules/initial-data-load/">Initial Data Load</a> 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.<br /><br />The <a href="http://www.openbravo.com/product/exchange/modules/initial-data-load/">Initial Data Load</a> module is a commercial module available in the <a href="http://www.openbravo.com/product/exchange/">Openbravo Exchange Marketplace</a> at no additional cost for Openbravo Professional subscribers.<br /><br />Take a look at this <a href="http://forge.openbravo.com/plugins/espforum/view.php?group_id=100&forumid=886716&topicid=7008455">post</a> for more details about the webinar.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-19788379789595047172009-12-23T16:57:00.000+01:002009-12-24T12:56:41.560+01:00Prototyping with HTML 5 (1)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEef9MrdH91j1hDnLzs82JwdIfFIaHkQ3PeN3WAn1i1C3ljcAHdsUOSg2INXLKihG9udvfztKlpGLyIfnkfYPTeU8rVNsFIXuQlpN1F5bxKdBUg_Rz37nG-G1i2QW8u_zzl-gfBfJIDg8/s1600-h/iphone-ob-mobile.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 181px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEef9MrdH91j1hDnLzs82JwdIfFIaHkQ3PeN3WAn1i1C3ljcAHdsUOSg2INXLKihG9udvfztKlpGLyIfnkfYPTeU8rVNsFIXuQlpN1F5bxKdBUg_Rz37nG-G1i2QW8u_zzl-gfBfJIDg8/s320/iphone-ob-mobile.jpg" alt="" id="BLOGGER_PHOTO_ID_5418377580941799330" border="0" /></a>In my last <a href="http://adrianrcblog.blogspot.com/2009/11/experimenting-with-html-5.html">post</a>, 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 <a href="http://www.openbravo.com/product/erp/">Openbravo ERP</a>.<br /><br />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 <a href="http://www.apple.com/ipodtouch/">iPod Touch</a> and <a href="http://www.apple.com/iphone/">iPhone</a>, oriented to mobile users of Openbravo ERP.<br /><br />The requisites I am imposing to myself for this prototype are the following:<br /><ul><li>It will be an HTML application and take advantage of HTML 5.</li><li>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.</li><li>It will consume standard <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Concepts/REST_Web_Services">Openbravo ERP REST Web Services</a>. Nothing else than a fresh Openbravo ERP community edition will be needed.</li><li>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.</li><li>The functionality developed should be "useful".</li><li>It should be just a prototype. Not expend too much time, handling exceptional behaviours, errors. Just make it work.</li></ul>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.<br /><br />I plan to publish the source code after polishing it in the <a href="http://forge.openbravo.com/">Openbravo forge</a> under the <a href="http://www.openbravo.com/legal/license.html">Openbravo Public License</a> with small instructions to install it. In the mean time here you have screenshots of the application working:<br /><br /><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK2f9D_UtwcuBYipOwyO8hjKVUA9y8hTgqY5MeD_E6YQZMBdJySp1HyCqkoQzAxYwaRBXe0ttiNpU6mgfNGjIPqChNquWR0mfbpYDahioOH71SroCgbTsG93KLyeK5Pms4DBexhhaQu9s/s1600-h/screenshot-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img style="width: 160px; height: 160px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK2f9D_UtwcuBYipOwyO8hjKVUA9y8hTgqY5MeD_E6YQZMBdJySp1HyCqkoQzAxYwaRBXe0ttiNpU6mgfNGjIPqChNquWR0mfbpYDahioOH71SroCgbTsG93KLyeK5Pms4DBexhhaQu9s/s200/screenshot-1.jpg" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXpQdEa1mexOy3zCQ0z0Fv1Y5l61pZR5l3o10JqE-Y4-7zTwrLE-d3WmwtaL1FJ393pf7_sSpDtyc2bvJ8KDmkh0IPG2Wa19kc7siSZVVGG9XOVfsWQvdHLazPrEUpo08V-S13eCI8prg/s1600-h/screenshot-2.jpg"><img style="cursor: pointer; width: 160px; height: 160px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXpQdEa1mexOy3zCQ0z0Fv1Y5l61pZR5l3o10JqE-Y4-7zTwrLE-d3WmwtaL1FJ393pf7_sSpDtyc2bvJ8KDmkh0IPG2Wa19kc7siSZVVGG9XOVfsWQvdHLazPrEUpo08V-S13eCI8prg/s320/screenshot-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5418372429817268466" border="0" /></a><br /></div><br />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.<br /><br /><span style="font-weight: bold;">Disclaimer:</span> 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.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2382209162490985914.post-26372430410372346602009-12-22T16:43:00.000+01:002009-12-24T12:56:58.083+01:00Openbravo ERP module Initial Data Load 1.1.0 releasedI am happy to announce that a new version of the module <a href="http://forge.openbravo.com/plugins/mwiki/index.php/Xidl">Initial Data Load</a> 1.1.0 is now available.<br /><br />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:<div><ul><li>It works in all standard Openbravo ERP flavors. For example with the professional cloud appliance.</li><li>You have a clear and documented definition of all entities and fields needed to start to use Openbravo ERP in the deployed environment.</li><li>After you collected all the data from legacy systems is just a matter of few hours to import all the data into Openbravo ERP.</li><li>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.</li><li>All user interaction is through the browser, with no direct server access required.<br /></li></ul>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:<br /><ul><li>Products</li><li>Price Lists </li><li> Bank Accounts </li><li> Business Partners </li><li> Open Payables </li><li> Open Receivables </li><li> Assets </li><li> Journal Entries </li><li> Standard Cost </li><li> On hand quantity / Stock </li></ul>If you want to know more about how to install it and a description of each of the import process included, read the <a href="http://forge.openbravo.com/plugins/mwiki/index.php/Xidl/User_Manual_1.1.0">User Manual</a>.<br /><br />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 <a href="http://www.openbravo.com/product/erp/module/acquire/">How to acquire</a> page or use our <a href="http://www.openbravo.com/form/customer/">Contact Us</a> form. </div><div><br /></div><div>This module is also part of <a href="http://www.openbravo.com/product/erp/quickstart/">Openbravo ERP QuickStart</a>. In the Quickstart page you can find all the extra benefits if you adopt Initial Data Load in conjunction with <a href="http://www.openbravo.com/product/erp/quickstart/">Openbravo ERP Quickstart</a>.</div><div><br /></div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2382209162490985914.post-1435788849088864872009-11-25T11:44:00.010+01:002009-11-26T18:49:10.881+01:00Experimenting with HTML 5<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxWyYmZ3d3-KH8Mxe3HiFzda_JsA9iNOx4sr6f1TtaaYNkhj0osW61mmzhbJB17wWD-cYlG5NsvwqPNxTwxiK8wkuf7hq8YIOyymrqyPiWGkmDSc3VbiyNI4jpBSj4iSLa00hoUfIh1k0/s1600/5.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 201px; height: 227px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxWyYmZ3d3-KH8Mxe3HiFzda_JsA9iNOx4sr6f1TtaaYNkhj0osW61mmzhbJB17wWD-cYlG5NsvwqPNxTwxiK8wkuf7hq8YIOyymrqyPiWGkmDSc3VbiyNI4jpBSj4iSLa00hoUfIh1k0/s320/5.png" alt="" id="BLOGGER_PHOTO_ID_5408462385120639826" border="0" /></a><a href="http://dev.w3.org/html5/spec/Overview.html">HTML 5</a> 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 <a href="http://www.microsoft.com/windows/internet-explorer/">Internet Explorer 8</a> :-), have support for some of the new features introduced by HTML 5. Even better, web browsers included in advanced smartphones and mobile devices like <a href="http://www.apple.com/iphone/">iPhone</a> / <a href="http://www.apple.com/ipodtouch/">iPod Touch</a> or those based in <a href="http://www.android.com/">Android 2.0</a> also have support for the most exciting features of HTML 5. At the moment of writing this article I tested HTML 5 with <a href="http://www.mozilla-europe.org/firefox/">Firefox 3.5</a>, <a href="http://www.google.com/chrome">Google Chrome</a>, <a href="http://www.apple.com/safari/">Safari 4</a> and the <a href="http://www.apple.com/iphone/">iPhone</a> / <a href="http://www.apple.com/ipodtouch/">iPod Touch</a> OS version 3.0, and most of the features described in this article are ready for production deployment with no major impediments.<br /><br />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 <a href="http://en.wikipedia.org/wiki/Adobe_Flash">Adobe Flash</a>, <a href="http://en.wikipedia.org/wiki/Microsoft_Silverlight">Microsoft Silverlight</a>, <a href="http://java.sun.com/applets/">Java applets</a> 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.<br /><br />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 <a href="http://www.apple.com/iphone/">iPhone</a> / <a href="http://www.apple.com/ipodtouch/">iPod Touch</a> touch and <a href="http://www.android.com/">Android</a>, they will be sure that their applications can reach a big slice of the mobile market.<br /><br />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 <a href="http://html5demos.com/">HTML 5 Demos and Examples</a> by <a href="http://remysharp.com/">Remy Sharp</a>.<br /><ul><li><span style="font-weight: bold;">Off-line web applications</span>. 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.</li><li><span style="font-weight: bold;">Local Storage</span>. 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.</li><li><span style="font-weight: bold;">Input element improvements</span>. 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.</li><li><span style="font-weight: bold;">Geo-localization</span>. 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.</li><li><span style="font-weight: bold;">Canvas</span>. 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 <a href="http://www.rgraph.net/">RGraph</a>.<br /></li><li><span style="font-weight: bold;">Webworkers</span>. 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.<br /></li></ul>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-55207447463084412742009-11-04T14:59:00.010+01:002009-11-05T18:38:17.726+01:00Netbeans Development Environment for Openbravo ERP<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.openbravo.com/wiki/images/a/a7/Obdevenv.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 465px; height: 372px;" src="http://wiki.openbravo.com/wiki/images/a/a7/Obdevenv.png" alt="" border="0" /></a>I am happy to introduce another <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Development_Environment">Development Environment for Openbravo ERP</a> based on the <a href="http://www.netbeans.org/">Netbeans IDE</a>. There is a guide published in the Openbravo wiki document <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Installation_and_setup_of_Netbeans_IDE">Installation and Setup of Netbeans IDE</a> 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.<br /><br />I would like to remind you that the main Development Environment for Openbravo ERP is based on <a href="http://www.eclipse.org/">Eclipse</a>. You can read about it in the <a href="http://wiki.openbravo.com/wiki/ERP/2.50/Developers_Guide/Installation_and_setup_of_Eclipse_IDE">Installation and setup of Eclipse IDE</a> guide. Development with Eclipse is fully supported and documented.<br /><br />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 <span style="font-style: italic;">Eclipse vs Netbeans</span>, just give Openbravo ERP developers the opportunity to choose the IDE they feel more comfortable to develop Openbravo ERP.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2382209162490985914.post-7966111482976196842009-05-22T16:08:00.005+02:002009-05-26T09:52:42.983+02:00Openbravo POS 2.30 releasedAfter more than two months of the release of Openbravo POS 2.30 beta, finally <a href="https://sourceforge.net/project/showfiles.php?group_id=127939&package_id=264599&release_id=683984">Openbravo POS 2.30 is released</a>. 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 <a href="http://issues.openbravo.com/">issues reporting tool</a> and we did 90 change sets in the <a href="https://code.openbravo.com/pos/devel/main/summary">SCM repository</a>. Now this release is published in production ready status. This means the following:<br /><ul><li> We recommend new implementation projects to start with this release. </li><li> We recommend existing production deployments to upgrade to this release.<br /></li><li> An upgrade path is available from earlier releases to 2.30. </li></ul>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 <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_2.30_Release_notes">Release notes of Openbravo POS 2.30</a>, but I want to highlight the most important features introduced in 2.30:<br /><ul><li>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 <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_PDA_module_installation_guide">PDA module installation guide</a>.</li><li>Product attributes. With this new feature products can have attributes like size, color, serial number, etc. More information in the <a href="http://wiki.openbravo.com/wiki/Product_attributes_guide">Products attributes guide</a>.</li><li>ERP-POS synchronization. A new architecture for the Openbravo ERP and POS synchronization. More information in the <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_Integration">Openbravo POS and ERP integration guide</a>.<br /></li></ul>Another improvement done from the engineering point of view, has been the movement of the <a href="http://en.wikipedia.org/wiki/Revision_control">source code management system (SCM)</a> from <a href="http://subversion.tigris.org/">Subversion</a> to <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a>. 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 <a href="https://code.openbravo.com/pos">Openbravo POS repositories list</a>.<br /><br />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.Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-2382209162490985914.post-19431777226419643472009-03-31T19:05:00.000+02:002009-04-01T13:08:48.190+02:00A new home for Openbravo POS community projectsRecently has been <a href="http://jordimash.blogspot.com/2009/03/openbravo-erp-pos-projects-have-new.html">announced the public availability</a> of the new <a href="http://forge.openbravo.com/"> Openbravo Forge</a>. The Openbravo Forge is the new home for the projects <a href="http://forge.openbravo.com/projects/openbravoerp">Openbravo ERP</a> and <a href="http://forge.openbravo.com/projects/openbravopos">Openbravo POS</a> 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.<br /><br />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.<br /><br />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:<br /><ul><li><span style="font-weight: bold;">New translation packages.</span> 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 <a href="http://forge.openbravo.com/projects/openbravoposes">Spanish traslation package</a> to the new forge and this project can be the model for other new translations packages hosted in the Openbravo Forge.<br /></li><li><span style="font-weight: bold;">New localization editions.</span> 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 <a href="http://forge.openbravo.com/projects/openbravoposswe">Openbravo POS Swedish Edition</a> (Thanks Ben).<br /></li><li><span style="font-weight: bold;">New functionalities.</span> 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 <a href="http://wiki.openbravo.com/wiki/OpenbravoPOS_Community_Projects_Ideas">Community project ideas</a> around Openbravo POS with very interesting new functionalities and features.<br /></li></ul>You are invited to visit the <a href="http://forge.openbravo.com/">Openbravo Forge</a> and if you need assistance using it or you want to give us your feedback you can write a message in the <a href="http://forge.openbravo.com/projects/openbravoforgesupport/forum">Forge support forum</a>.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2382209162490985914.post-58251400163075724502009-03-12T15:59:00.004+01:002009-03-13T22:09:19.813+01:00My Openbravo Community Awards nominationOne of the important keys of the success of Openbravo ERP and POS are the members of the community. This year, during the <a href="http://worldconference.openbravo.com/">Openbravo World Conference</a> we want to honor the most important members of the community. I nominated the following persons and organizations.<br /><ul><li>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.</li><li>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.</li><li>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.</li><li><a href="http://www.amorebieta-etxano.net/">Amorebieta-Etxanoko Udala</a>. For the translation of Openbravo POS to the Euskara language.</li><li><a href="http://www.opensistemas.com/">Open Sistemas</a>. 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 <a href="http://www.bocatta.com/">Bocatta</a>.<br /></li></ul>Please do not forget to <a href="http://openbravoworldconference.com/awards/nomination.php">nominate</a> yourself or your favorites candidates to give the appropriate recognition to the most important people in the Openbravo community.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-54811984928393334582009-03-09T18:50:00.007+01:002009-03-10T12:31:11.712+01:00Openbravo POS 2.30 beta releasedFinally 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 <a href="https://sourceforge.net/project/showfiles.php?group_id=127939&package_id=264599&release_id=665598">download</a> it from Sourceforge.net, and read the <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_2.30_Release_notes">release notes</a> in our wiki.<br /><br />There are a lot of new functionalities and bugs fixed I want to summarize here:<br /><ul><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/PDA_Restaurant_Module" title="Projects/PDA Restaurant Module"> PDA Restaurant Module</a></b>: This feature will allow users to take orders, browse products and manage tables using a mobile device. In this version <a href="http://www.opera.com/mobile/" class="external text" title="http://www.opera.com/mobile/" rel="nofollow">Opera Mobile</a> and <a href="http://www.apple.com/ipodtouch/" class="external text" title="http://www.apple.com/ipodtouch/" rel="nofollow">iPod touch</a> / <a href="http://www.apple.com/iphone/" class="external text" title="http://www.apple.com/iphone/" rel="nofollow">iPhone</a> 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. </li><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/Product_Attributes" title="Projects/Product Attributes"> Product Attributes</a></b>: 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. </li><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/Openbravo_POS_Improvement_of_Synchronization" title="Projects/Openbravo POS Improvement of Synchronization"> ERP - POS Improvement of Synchronization</a></b>: The whole architecture for synchronization between Openbravo ERP and Openbravo POS has changed and more data is synchronized. In the ERP side a new <a href="http://wiki.openbravo.com/wiki/Projects/Modularity" title="Projects/Modularity"> module</a> has been added to provide <a href="http://wiki.openbravo.com/wiki/Projects/Data_Access_Layer/CrudWebServices" title="Projects/Data Access Layer/CrudWebServices"> REST web services</a> for the integration. The tool selected to run synchronization jobs is <a href="http://kettle.pentaho.org/" class="external text" title="http://kettle.pentaho.org/" rel="nofollow">Pentaho data integration</a>. Pentaho data integration is an open source, powerful, metadata-driven <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load" class="external text" title="http://en.wikipedia.org/wiki/Extract,_transform,_load" rel="nofollow">ETL</a>, 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. </li><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/Payment_Gateways" title="Projects/Payment Gateways"> Payment Gateways</a></b>: The payment gateways functionality has been improved and extended. Now we support natively the following payment gateways: <a href="http://www.paypoint.net/secpay-metacharge/" class="external text" title="http://www.paypoint.net/secpay-metacharge/" rel="nofollow">PayPoint / SecPay</a>, <a href="http://www.authorize.net/" class="external text" title="http://www.authorize.net/" rel="nofollow">Authorize.net</a>, <a href="https://www.cyberauthorize.com/" class="external text" title="https://www.cyberauthorize.com/" rel="nofollow">Cyberauthorize</a>, <a href="http://www.firstdata.com/" class="external text" title="http://www.firstdata.com/" rel="nofollow">First Data / LinkPoint / YourPay</a> and <a href="https://www.paymentsgateway.net/" class="external text" title="https://www.paymentsgateway.net/" rel="nofollow">PaymentsGateway.net</a>, and more payment gateways can be added easily. With these improvements Openbravo POS is able to manage <i>card present transactions</i> and is prepared to support EMV standards, PCI standards, and Chip/PIN requirements. </li><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/Bitrock_Installers" title="Projects/Bitrock Installers"> Bitrock Installers</a></b>: 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. </li><li> <b>Support for the Apache Derby database engine:</b> <a href="http://db.apache.org/derby/" class="external text" title="http://db.apache.org/derby/" rel="nofollow">Apache Derby</a> 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. </li><li> <b>Upgrade license to GPL version 3</b>: With <a href="http://gplv3.fsf.org/" class="external text" title="http://gplv3.fsf.org/" rel="nofollow">GNU GPL version 3</a> 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 <a href="http://adrianrcblog.blogspot.com/2009/02/openbravo-pos-upgrades-its-license-to.html">my previous blog post</a>. </li><li> <b>Upgrade third party libraries up to the latest stable release</b>: The following libraries has been updated: SwingX 0.9.5, Substance 5.1. </li><li> <b>Improve receipt printer support</b>: 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 <i>text only</i> receipt printers. It also has been improved the support for javapos fiscal printers. </li><li> <b><a href="http://wiki.openbravo.com/wiki/Projects/Usability_Improvements" title="Projects/Usability Improvements"> Usability Improvements</a></b> <ul><li> <b>Panel to edit auxiliary products relation</b>: 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. </li><li> <b>Add a dialog to find receipts in the edit sales panel. </b>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. </li><li> <b>Add a keypad in the cash movements panel</b>: 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. </li><li> <b>Add the possibility to print a partial report in the Close cash panel</b>: 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.</li></ul></li></ul>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.<br /><br />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 <a href="https://issues.openbravo.com/search.php?project_id=2&status_id=45&target_version=2.30&hide_status_id=-2">planed bugs</a>, write documentation, finish as many <a href="http://wiki.openbravo.com/wiki/OpenbravoPOS_Localization">localizations</a> as possible...<br /><br />If you want to collaborate, please download the version and help us testing and giving us feedback in our <a href="https://sourceforge.net/forum/?group_id=127939">forums</a>.Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-2382209162490985914.post-21155622052869369352009-02-25T14:24:00.006+01:002009-02-27T12:32:35.057+01:00Openbravo POS upgrades its license to GNU GPL version 3With 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 <a href="http://gplv3.fsf.org/">GNU GPL version 3</a> 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.<br /><br /><div><br /></div><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-88782072239806391282009-02-04T18:10:00.004+01:002009-02-06T13:04:16.923+01:00Openbravo POS 2.30 delayedAs published in the <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_roadmap">Openbravo POS roadmap</a>, 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.<br /><br />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.<br /><br />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 <a href="http://wiki.openbravo.com/wiki/Projects/PDA_Restaurant_Module">PDA module for restaurants</a>, the <a href="http://wiki.openbravo.com/wiki/Projects/Openbravo_POS_Improvement_of_Synchronization">data integration processes</a> 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 <a href="http://wiki.openbravo.com/wiki/OpenbravoPOS_Developer_guide">Developer's Guide</a>.<br /><br />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...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-4164196242201316832008-08-28T18:18:00.005+02:002008-08-29T11:53:49.761+02:00Openbravo POS 2.20 releasedA new version of Openbravo POS has just been released and it is available for download in the <a href="http://sourceforge.net/projects/openbravopos">project's page</a>. Openbravo POS is quickly improving and now that two new full time developers have joined the Openbravo POS team we expect to improve even faster.<br /><br />The improvements included in Openbravo POS 2.20 are summarized here. To read in detail the changes read the <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_2.20_Release_notes">Openbravo POS 2.20 Release Notes</a>.<br /><ul><li> <b>Improved tax system</b>. The taxes functionality of Openbravo POS have been changed to make it equal to the taxes system of Openbravo ERP. New windows has been created and the taxes reports have been modified. With this new system long demanded features like the possibility to have two different taxes by receipt line and support of Canadian, German, and other countries taxes system can be implemented now with Openbravo POS.</li><li> <b>Customer module improvements</b>. More fields has been added to the customers table: contact fields and localization fields. All these fields are also available when printing receipts allowing Openbravo POS to print invoices.</li><li> <b>Update all external libraries to latest version</b>. Third party libraries like Jasper Reports, Barcode4J, HSQLDB, JavaPOS, Substance and SwingX, has been updated to the latest stable releases. This guaranties that the functionality of Openbravo POS that relies on third party libraries contains the latest improvements and bugs fixed up to the latest releases.<br /></li><li> <b>New installer packages</b>. To make it easier to install and deploy Openbravo POS. There are new installer packages for major OS: Windows, Ubuntu and Suse. </li><li> A large list of enhancements like the ability of merging receipts in restaurant mode. Fine grained security editing receipts. Sequence number for closed cash reports. Animations for customer displays. New customers diary report. New button to hide / show the menu instead the split bar to improve usability. Improved events and scripting capabilities in the sales panel. And much more... </li><li> 19 bugs fixed.</li></ul>If you have any question regarding Openbravo POS, please do not hesitate to use <a href="https://sourceforge.net/forum/?group_id=127939">Openbravo POS forums</a> were our community of users and developers will try to assist you.Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-2382209162490985914.post-87773950111449073782008-08-05T13:56:00.007+02:002008-08-05T16:10:51.999+02:00Language packages for Openbravo POS 2.10 releasedToday has been released ten new language packages for Openbravo POS 2.10. These new languages packages has been developed by committed community members and I want to say thank you to all of them:<br /><ul><li> Sebastian Muszytowski for the German translation.</li><li>Anton Delaruelle and Paul Heffels for the Dutch translation.</li><li>Andrej Svininykh for the Russian translation.</li><li>Sergio Carbonete for the Brazilian Portuguese translation.</li><li>Manuel Rubio for the Galician translation.</li><li>Antonio Cichello for the Italian translation.</li><li>Akarawuth Tamrareang for the Thai translation.</li><li>Henri Azar for the French (France) translation.</li><li>Mohammad Jaffar Fahmi for the Arabic translation.</li><li> Jaroslaw Wozniak (Openbravo) for the Polish translation.<br /></li></ul>The new language packages are available for download in the <a href="https://sourceforge.net/project/showfiles.php?group_id=127939&package_id=286685&release_id=617904">Openbravo POS project download page</a> and the <a href="http://wiki.openbravo.com/wiki/OpenbravoPOS_Localization">Localization wiki guide</a> explains how to install them.Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-2382209162490985914.post-66078157882536733022008-07-15T15:20:00.005+02:002008-07-18T12:53:49.285+02:00Openbravo POS LocalizationOne of the most important Openbravo POS user's demand is to localize Openbravo POS to different countries and cultures worldwide. One part of the localization is the translation of Openbravo POS.<br /><br />Openbravo POS relies on the Java platform internationalization features for providing the translation of literals and locale parameters like the currency used and date and numbering formatting patterns.<br /><br />With this technology, to add support for another language to Openbravo POS, is very easy. The new language files are just a set of plain text files that follows the properties syntax, and to install the new language files in Openbravo POS you only need to copy these files in to the Openbravo POS program folder. You do not need neither to compile the source code nor execute a complex process.<br /><br />Openbravo is focusing on increasing the number of languages supported by Openbravo POS by developing tools and supporting all people that want to collaborate localizing Openbravo POS into new languages.<br /><br />As a first step we have created a <a href="http://subversion.tigris.org/">Subversion</a> repository to hold all the language files in development for Openbravo POS, to support all the collaborators to translate the Openbravo POS literals and where everybody can see the progress of the development.<br /><br />We are going to use this repository to package the language files for Openbravo POS and make them available for download in the <a href="http://sourceforge.net/projects/openbravopos">Openbravo POS Sourceforge project page</a>.<br /><br />You can browse this repository going to <a href="https://dev.openbravo.com/websvn/localization-pos/translations/">https://dev.openbravo.com/websvn/localization-pos/translations/</a> or you can checkout a working copy executing<span style="font-family:courier new;"> svn co <span style="font-family:courier new;">https://dev.openbravo.com/svn/localization-pos/translations/</span> translations</span>. In the <a href="http://wiki.openbravo.com/wiki/OpenbravoPOS_Localization">Openbravo POS Localization wiki document</a> you can read about how to localize Openbravo POS, the status of the localization files , the languages that are being developed, the people involved, and how you can collaborate to translate Openbravo POS.<br /><br />Right now we are trying to align the roadmap of Openbravo POS with the development of the localizations to assure that every future release of Openbravo POS we release also an up-to-date language package for as much languages as possible.<br /><br />The first milestone we want to achieve is to release the language packages for the current version Openbravo POS 2.10 MP2 on July, 31th. We expect our collaborators and community do to their best to be able to release by that date a collection of language packages that the whole Openbravo POS community around the world enjoy.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2382209162490985914.post-1725401356312481552008-06-25T21:43:00.006+02:002008-06-27T14:57:52.463+02:00Openbravo POS 2.20 Roadmap published<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7MpQHal4zf9LB2_CgG7_uH1TGxNKiX17Ry_KL33BaO-p11Pr9EEIGJ9tleWWAYheIMcb2EB8VJ1Z0tbJAM3whKM-ggLlGSd9HJKlS3ajsPLVV-kEft0D1RQ6dd9WZfqMOCgndRR8XxYA/s1600-h/roadmap.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7MpQHal4zf9LB2_CgG7_uH1TGxNKiX17Ry_KL33BaO-p11Pr9EEIGJ9tleWWAYheIMcb2EB8VJ1Z0tbJAM3whKM-ggLlGSd9HJKlS3ajsPLVV-kEft0D1RQ6dd9WZfqMOCgndRR8XxYA/s320/roadmap.png" alt="" id="BLOGGER_PHOTO_ID_5215922070761380034" border="0" /></a>We have just published our development plans for Openbravo POS 2.20. It follows the spirit of the previous releases: frequent releases, improvements in functionality, localization and stability of the application to make Openbravo POS a top Point of Sale solution in the global market, growing in the number of supported countries and translations in every release. Openbravo POS 2.2 follows the principles of all the versions of Openbravo POS: simplicity, easy to use, visually attractive, robust and scalable.<br /><br />We request the collaboration of the community to help us to define and identify the most important features that need to be included in the product and things that need to be fixed. Your collaboration is important because you are the best people that are able to identify what is missing in Openbravo POS for each country and for different market segments. You are invited to the <a href="http://sourceforge.net/forum/forum.php?forum_id=434920">Open Discussion forum</a> of Openbravo POS to discuss what do you want to have in the next releases of Openbravo POS.<br /><br />The objectives of this roadmap is to continue to add value to partners and users of Openbravo POS to help them to develop a business around Openbravo POS, attract interest of current partners and potential partners of Openbravo. In Openbravo 2.10 we did a lot of efforts in this area with the new reports model and the improvements in scripting support and we want to continue in this area.<br /><br />We have already published a draft of the <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_roadmap#Openbravo_POS_2.20_.28Aug_2008.29">roadmap for the release 2.20</a> in the wiki of Openbravo POS with the features what we think are the most important for the next released of Openbravo based on the time schedule and the resources that we have. This roadmap is not closed and we were are willing to align it with the needs and priorities of the Openbravo community.<br /><br />Openbravo POS is and open source product and developed in a collaborative maner. During the last three months, we have started successful collaborations with individuals and companies that are working on extending the Openbravo POS functionality. For Openbravo POS 2.2, we plan to add in the core product new functionaries developed by third parties. You can guarantee that a particular feature is developed sooner rather than later by leading the development. We are willing to coordinate with people that is planing to invest on Openbravo POS product development to make sure that the results are going to be shared by all the community.Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-2382209162490985914.post-20380578134789741322008-06-03T10:00:00.006+02:002008-06-13T15:39:30.541+02:00Openbravo POS 2.10 released<a href="http://www.openbravo.com/about-us/press-room/news/openbravo-launches-pos-210.php">Openbravo has just announced the release the latest version of Openbravo POS</a>. This has been a hard work that continues with the plan of Openbravo to make frequent releases. As usual you can download the binaries and sources of Openbravo POS from the <a href="http://sourceforge.net/project/showfiles.php?group_id=127939&package_id=264599&release_id=603773">Sourceforge project files page</a>.<br /><br />There is a large list of new features and improvements. This is a summary of the changes included in the version 2.10:<br /><ul><li> <b>New customers module</b>. With this module Openbravo POS users will be able to assign customers to receipts using the customer's loyalty card, create invoices, track the customer account, make customers payments, execute customers reports, and more. </li></ul> <ul><li> <b>New localization features</b>. To achieve the support of the taxes laws of different countries and cultures Openbravo POS now includes a new event system that allows to execute developer scripting code and adapt the receipts generation to the rules required. In this point there also has been included a new dialog that allows to split a receipt between two or more customers and a useful cash change calculator based on the country coins and banknotes. More information: <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_Scripting_Tutorial" class="new" title="Openbravo POS Scripting Tutorial">Openbravo POS Scripting Tutorial</a>. </li></ul> <ul><li> <b>New reports structure</b>. With the new reports structure developers of Openbravo POS will be able to add and modify easily new reports and charts without having deal with the source code. Reports are now defined using plain text files that developers can edit using his preferred text editor or a graphical designer. To install newly created reports is as simple as copy the report definition files to the <i>reports</i> folder and create a menu option for the report. All reports and charts of Openbravo POS has been ported to the new structure and new reports has been created. More information: <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_Reports_and_Charts_Tutorial" title="Openbravo POS Reports and Charts Tutorial">Openbravo POS Reports and Charts Tutorial</a>. </li></ul> <ul><li> <b>Improved integration with Openbravo ERP</b>. There has been included in the previous integration more data like customers synchronization and warehouse information synchronization. More information: <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_Integration" title="Openbravo POS Integration">Openbravo POS Integration</a>. </li></ul> <ul><li> <b>Sample database</b>. A sample restaurant database has been created for evaluation purposes with a list of products, images, users, and operational data. Available only from the <a href="http://openbravopos.svn.sourceforge.net/viewvc/openbravopos/tags/openbravopos-2.10/sampledb/">SVN repository</a>. </li></ul> <ul><li> <b>Included support for the <a href="http://www-03.ibm.com/products/retail/products/pos/500/" class="external text" title="http://www-03.ibm.com/products/retail/products/pos/500/" rel="nofollow">IBM SurePOS 500 Series</a></b>. </li></ul> <ul><li> <b>Many other other minor features and bugs fixes</b>. For example: <ul><li> Users can log on using his employee card with his / her token stored in the magnetic band or printer in the bar code. </li><li> Customer information can be assigned to the current receipt reading his / her loyalty card. </li><li> Split a receipt payment between customers. </li><li> The size of the selector and product buttons is configurable by the administrator. </li></ul> </li></ul>We feel proud of this release but there is a long road ahead. The community around Openbravo POS is growing every day, is willing to collaborate and is very active proposing new functionalities and customizations for different countries, industries, ... Now we are working on the project plan for the next release 2.20. With the help of the community we trust that Openbravo POS will succeed.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2382209162490985914.post-6792598518361539222008-05-19T11:01:00.009+02:002008-05-19T17:24:05.908+02:00Openbravo POS 2.10 Acceptance TestFollowing our plan to make frequent releases, Openbravo is going to launch Openbravo POS 2.10 in few days. In this release we put a lot of effort in creating new and exciting functionalities for users and developers, and in localization to help to adapt Openbravo POS to more countries and cultures. If you are interested in participating in this acceptance test, please notify us by sending an email to collaborate to openbravo dot com.<br /><br />The goal of this acceptance test is:<br /><ol><li> Test regression. We want to be sure that we did not break things that worked in older releases.</li><li>The new functionalities included in this release are stable and complete. We want to focus on the new customer module, new reports engine, integration with Openbravo ERP, and the new localization functionalities, like events in the sales panel and split receipt.</li><li>The installation and upgrade database processes work perfectly in all the databases supported: HSQLDB, MySQL, PostgreSQL and Oracle.</li><li>Starts properly in Windows XP, Vista and major distributions of Linux.</li><li>There are not major bugs.</li></ol>The process is going to be very similar to what we do for the the last release of Openbravo POS and to what we do for Openbravo ERP. Specifically, here is what we are asking:<br /><ol><li> We will give volunteers early access to the installer through a private FTP server. You will essentially receive the release at the same time as our QA team.</li><li>We will give you access to our test plans so that you can see what to test (but you can test any flow you like as well).</li><li> We will ask you to give us frequent updates on your progress.</li><li> If you have problems or doubts during the process, we will respond to your messages using the discussion forums</li><li> We will publish a daily status update on the forums.</li></ol>Acceptance testing should start on the middle of this week, and ideally should last 3 or 4 days.<br /><br />We look forward to your continued support to our project and your participation in this important test.Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2382209162490985914.post-32925437114944459572008-04-25T12:29:00.002+02:002008-04-28T10:22:26.739+02:00Openbravo POS 2.10 update<div class="content">The release of the new version of Openbravo POS becomes closer every day. Progress in the development is going well and we expect to release on time. The schedule for the version 2.10 of Openbravo POS is:<br /><ul><li>Code freeze: May 19th<br /></li><li>Installer ready and beginning of Acceptance Testing: May 20th</li><li>Acceptance Testing complete and public availability: May 23th</li></ul>There are many features already implemented and available in the subversion repository but also there are still a lot of work to do. You can follow the development in the trunk branch of the subversion repository for Openbravo POS <a href="https://sourceforge.net/svn/?group_id=127939">https://sourceforge.net/svn/?group_id=127939</a> and in the release status wiki document <a href="http://wiki.openbravo.com/wiki/Openbravo_POS_R2.10_Release_status">http://wiki.openbravo.com/wiki/Openbravo_POS_R2.10_Release_status</a><br /><br /><br /></div>Unknownnoreply@blogger.com0