Kexi is a visual database applications creator tool by KDE, designed to fill the gap between spreadsheets and database solutions[buzzword] requiring more sophisticated development. Kexi can be used for designing and implementing databases, data inserting and processing, and performing queries. It is developed within the Calligra project but is released separately.
The impetus for developing Kexi came from a noticeable lack of applications having the features of LibreOffice Base, Microsoft Access, FoxPro, Oracle Forms or FileMaker while at the same time being powerful, inexpensive, open-standards-driven and sufficiently portable.
Although Kexi was a KOffice project since the beginning,[5] the first release was independent of KOffice. The first public beta release of Kexi was version 0.1 beta 2 on January 22, 2004 (2004-01-22).[6] The first stable release was 0.9 – made available on May 31, 2005 (2005-05-31).[6] A Kexi version with a lower version number – 0.8 – was shipped afterward with KOffice 1.4 on June 21, 2005 (2005-06-21).[6][7] Further stable versions of Kexi were released with KOffice 1.5[8] and 1.6 in 2006.[9]
From 2004 until 2007 OpenOffice Polska made commercial Kexi releases using release years as version numbers. The first release was Kexi 2004 LT on November 24, 2004 (2004-11-24) based on Kexi 0.1.[10] The commercial releases concluded with Kexi 2007.1 in March 2007 based on Kexi 1.1.2/1.1.3.[10][11]
The porting process to KDE Platform 4 took rather long and was finished with the release of KOffice 2.2 in May 2010.[12] Among its new features was a new Report Designer plug-in[13] to replace the KOffice 1.6 stand-alone reporting application Kugar.[14] Kexi 2.3 was released with KOffice 2.3 on December 31, 2010 (2010-12-31)[15] with – among other features – a reworked Project Navigator pane.[16]
After the KOffice 2.3 release, Kexi moved into Calligra Suite and both were released as version 2.4 on April 11, 2012 (2012-04-11).[17] The most user-visible change was a redone main user interface dubbed Modern Menu.[18]
Kexi users can choose from various database engines that can be utilized for data and design storage. By default built-in SQLite 3 database engine is used that eliminates a need for installation and maintenance of a database server. For more advanced use Kexi can use database servers such as MySQL/MariaDB, PostgreSQL and Microsoft SQL Server/Sybase. Database servers have to be accessible to user on the same or any other computer.
All database objects – tables, queries, forms, etc. – are stored in tables of a single database (either file or server), making it easy to share data and design. Resulting database can be to certain extent manipulated using dedicated database tools. In Kexi, such data and definition of objects is known as project.
Kexi Table designer allows users to design tables, which can then be created and opened for data entry, sorting and searching. Standard data types are available common to supported database engines. Among them is "Object" data type allowing to store images of many types.
Queries can be designed visually or in built-in dedicated SQL editor, then they can be executed. There is support for parametrized queries and searching through the data. The scope of the SQL supported is limited compared to raw database engines (MySQL and even SQLite) but the SQL dialect supported by Kexi is (by design) common to all supported database engines. This can simplify switching between engines.
Forms can be created to provide a custom interface to data. There is a designer, and a previewer capable of data entry. Wide range of graphical elements can be used including web browser and world map viewer. Simple actions can be assigned to form buttons.
Kexi 2.2 – the first release of the second generation[12] – introduced full-featured report designer, generator and previewer.[14] Simple formulas can be assigned to report elements.
The application can also import data (tables) from external data sources (MySQL, PostgreSQL, Microsoft Access files, dBASE files) and export data to MySQL or PostgreSQL servers. There is rich support for importing and exporting CSV files. The same CSV format can be used for copying and pasting clipboard data so the data can be easily transferred to/from applications like spreadsheets or word processors.
In a special User Mode Kexi allows users to switch off all commands related to editing project's design.
Experimental features
Kexi offered experimental scripting support using Python and Ruby in version 2. Scripting since version 3 is planned to be based on JavaScript. Handling Oracle databases was available in versions 1.x but is disabled in versions 2.x.