Rekall 2.4.4 now available
Posted on: 10/28/2006 11:27 AM

Rekall 2.4.4 is now available:

I'm pleased to announce the release of Rekall 2.4.4. This release can be downloaded from

For those unfamiliar with Rekall, Rekall is a database front end, in the style of Access, Knoda and Kexi.

The most notable changes since 2.4.2 are:

* ODBC and SQLite3 drivers
* Tests and test suite functionality

This release is known to build on "stock" installs of:

Debian: Sarge, Sid
Suse: 9.3, 10.0, 10.1
Fedora: 5
Mepis: 6.0
Kubuntu: 6.06
Xandros 3.01


Builds and runs under KDE, QT3-only on Linux, Windows and Mac OS/X.
Despite comments to the contrary on a certain other website, Rekall is
first and foremost a KDE application; non-KDE builds are supported by a
compatability library. Builds as a full and a run-time version; the
run-time version has no design functionality.

Database documents (forms, reports, etc.) can be stored in either the
database or the filesystem. Database allows easy sharing, etc., file
system can be used if (for example) you have read-only access to the
database and just want to view it.

Extensive documentation. Much of the documentation can be accessed
directly from design dialogs. Comes with its own document reader (like a
stripped down Qt Assistant).

GPL'd drivers for MySQL, PostgreSQL, XBase (via a wrapper library), ODBC,
SQLite3 and DBTCP. Supports database record locking where supported by the

Table designer. Supports database specific types.

Graphic form designer. Forms can arbitrarily nest forms, sub-forms,
sub-sub-forms; forms can contain arbitrary independant sub-forms. Form
designer supports both static layout (like Access) and dynamic layout
(controls resize as in a typical KDE dialog).

Wide selection of stock form controls. All stock controls are scripted
so you can easily change their operation if needed.

Database creation and connection wizards, plus wizard for creating the
most common controls.

Macros (as in Access macros). Provides basic scripting-type operations
without the need to learn Python or Javascript.

Skinning, like HTML stylesheets. Allows per-client customisation for
colours and fonts. Can even work where multiple clients share the same
forms in the the same database.

Graphic report designer.

Graphic query designer. Supports inner, left outer and right outer joins
(on primary keys and arbitrary expressions), plus arbitrary where, order,
group and having expressions. Preview of generated SQL.

Fully scriptable in both Python and Javascript (using KDE's KJS
engine). Integrated debugger for python (Javascript to follow). Script
code can be embedded within the form or report, or stored in separate
script modules.

Scripting supports an event/slot mechanism similar to QT's signals and
slots. Allows code to be located within the object to which it applies
rather than being spread around the form. Makes copying and removing
controls which have associated scripts much easier.

Data copiers. Copiers copy data from a source to a destination; sources
and destinations can include tables, files (XML, CSV and fixed column),
and queries. So you can import, export, copy table to table, even
convert a CSV file direct to an XML file.

User designed components. Allows you to design components that can be
pasted or linked into forms and tables. If components are linked then
changing the component design is reflected wherever it is used. The
boss wants those 74 blue-on-grey date stamp fields changed to
red-on-grey: 20 seconds work if you used a linked component!

Database dumper and loader. Allows dumping and loading of databases
(provided the database only uses stuff that Rekall knows about).
Supports packaging of databases for automatic download and installation
from a Web server. Database loader can change table and column names on
the fly.

Runtime display of executing queries, and events and slots as they
fire. Raw SQL entry and execution.

DCOP control to open forms and such; there is an equivalent "RKCOP" for
the non-KDE builds. Also supported is the ability to inject script code
into a running instance of Rekall, allowing some very sophistated

Tests and test suites. Loosely inspired by the xUnit unit testing packages.
Tests can be associated with form objects, and executed individually
or as part of a test suite which collects and displays results. Recording
of form updates for subsequent replay and test. Test and recordings can
be performed within (rolled back) transactions so database is not changed.
Forms and tests can be executed against other databases (to provide know
test data sets).

Database objects (forms, etc) when stored in the database can be cached
locally for improved performance. As a special case, just graphics can
be cached. Useful where you have shared development of graphic-heavy

Main changes in 2.4.3 from 2.4.0

Lots of bugs fixed. Bugs added. Well, problably. Lets be honest about this!

Script search tool allows searching through all script within a form
and direct access to the scripts.

Skinning, as above.

Extensions to database loader allow table and column name mapping (for
instance case changing and column rename).

More functions added to scripting APIs, continuing to flesh out the
Javascript API.

Tests and test suites as above.

Object/graphic caching.

Global access to objects in scripts in python. root.__objects__ allows
direct access to all objects in the document.

What happened to 2.4.1 and 2.4.2

Events overtook the development. 2.4.1 and 2.4.2 were released to projects
using Rekall. I think the 2.4.3 announcement never made it to the KDE
accounce list. The new version is numbered 2.4.4 to save confusion.


Printed from Linux Compatible (