Wednesday, December 23, 2009

News from the front

We decided to postpone the port until the main development of the current version was over, probably in the second semester of 2010. The next major version will be written entirely in Lazarus, using our updated Code Generator with the updated Data Model -- that's being upgraded to support the forthcoming features.

The current version is written in Delphi 7 on a Windows XP virtual machine and runs smoothly under Wine at 100+ Ubuntu boxes. There's a need for a Windows version too, as some customers are still Microsoft-only. Even the customers that moved to Linux still have some Windows boxes for some specific tasks (like Internet Banking).

There's a small module that's been written in Lazarus to test the Persistence Framework and the overall development and deployment. We had to set up ANOTHER virtual machine, this time with Ubuntu 32 bit, to build the application. We need to compile 3 times: Windows XP, Ubuntu 32 and Ubuntu 64. I've tried to set up a cross compiler but it was easier to use another VM.

Wednesday, October 07, 2009

Lazarus 0.9.28

It was released today, check the Release Notes. Lots of improvements and bugfixes, congratulations to everyone involved.

Tuesday, October 06, 2009

First module ported from Delphi to Lazarus

"A journey of a thousand miles begins with a single step."
Lao-tzu, The Way of Lao-tzu
Chinese philosopher (604 BC - 531 BC)

During the last year we were busy designing the next major version (3.x) of our ERP. Of course, the current version (2.x) is being maintained and improved. It's like that TV ad for EDS: we're building a plane in the air. Our goal is to gradually port the ERP from Delphi 7 to Lazarus while we phase out the current version.

This week we released the first ported module: "Terminal de Consulta" (Price Check Terminal). It's a two-form application that uses SQLdb (connecting to PostgreSQL) and Synapse (to get images from webservers). It's also a proof of concept, as it tests several key features.

The SQLdb component is used in a potentially heavy query: the user can type the letter A, press ENTER and get all products with a letter A somewhere in the description (almost 30,000 items). The user can also use the barcode scanner to get basic information and F4 to get extra information (like the stock quantities in different stores). Pressing F4 requires authorization; if the current user is not authorized the application shows the second form, asking for a username/password.

The Synapse library is used in two different ways: to show the customer's logo from their website (using a proxy if needed) and to show the product's image from a local webserver (no proxy).

The price check module is being used for a couple days and the user's feedback is positive, as is the performance monitoring. The original module was improved with minor changes: we used bigger icons and made the interface more simple and straightforward during the port to Lazarus.

Thanks to everyone and stay tuned for more on porting to Lazarus!