Jump to content

Kexi/Releases/1.0.0 Changes

From KDE Community Wiki
Revision as of 22:30, 31 August 2023 by Jstaniek (talk | contribs)

KEXI is a visual database apps builder, developed since 2002.

Changes in KEXI

Highlight:

  • Codenamed "Black Mamba"
  • Improved data-aware forms.
  • Form Designer's Data Source Pane for assigning data source to forms and widgets. Object tree view for easier navigating within widgets hierarchy.
  • Import from CSV files and pasting tabular data from clipboard. Export data to CSV files and copying tabular data to clipboard. Automatic detection of delimiters and column types.
  • Improved server connection dialog. Stored connection data.
  • Support for images in forms (stored as BLOBs).
  • New form widget: multiline editor.
  • Improved MS Access (mdb/mde) file import (optional plugin).
  • Improved import of server databases to a file-based projects. Entire Kexi projects (not only tables) can be imported too.
  • Scripting plugin (Python and Ruby) to extend functionality, including example script for HTML export.
  • Simple printouts, print settings and print preview for table and query data.
  • Handbook added (incomplete).
  • More than two hundreds of overall improvements and bug fixes.
  • Kexi 1.0 has been produced by Kexi Team - an international group of independent developers, with assistance and workforce (sponsoring) coming from the OpenOffice Polska company.

Details:

  • 1.0.0 Alpha 1
    • Initial Alpha, released on 2005-12-21, together with KOffice 1.5 Alpha 1
  • 1.0.0 Beta 1
    • Released on 2006-01-31, together with KOffice 1.5 Beta 1
    • Kexi binary packages provided by some Linux/UNIX vendors are available within KOffice release. Testing Facilities with klik are also available.
    • MS Windows installation package from OpenOffice Polska is available.
    • Full Kexi source code ready to compile can be obtained with instructions here.
  • 1.0.0 Beta 2
    • Released on 2006-03-14, together with KOffice 1.5 Beta 2
    • Changes since Beta 1
    • Forms
      • Fixed saving images within forms for MySQL and PostgreSQL databases.
    • Database Drivers
      • MySQL: non-latin1 text data (UTF8 encoded) was not properly retrieved.
      • MySQL, PostgreSQL: entering special characters like ', \, ", \n did not work.
    • CSV Import Dialog
      • Fixed crash when importing CSV files smaller than 200 bytes.
      • Fixed CSV importing for MySQL and PostgreSQL databases.
    • Command-line Options
      • Fixed support for -print-preview option.
  • 1.0.0 Release Candidate
    • Released on 2006-03-29, together with KOffice 1.5 Release Candidate
  • 1.0.0
    • Released on 2006-04-11, together with KOffice 1.5.0
      • Core Library
        • Fixed possible crash when an object has beed saved with a different name than proposed
        • Field draging: API improved, now both query and table fields/columns can be dragged; added support for multiple fields dragging
        • Added 'higlight object' action for KexiProject(external) (available from property pane)
        • Improved API for reaction on object creation/deletion/renaming
        • applications/x-kexi-connectiondata MIME type defined
        • Internal BLOB storage framework added
        • Fixed autogenerating object names (e.g. tables, queries) based on caption: latin1 base name can be now chosen by translator
        • Plugins: added servicetype property: X-Kexi-SupportsDataExport (boolean); true for tables and queries
        • File dialog's filters now contain only filters that make sense, e.g. there's no "mdb" filter when we're writing to a file.
        • Usability: file dialogs now store recent directory paths in the config file, and this is now used everywhere in Kexi
        • Default extension is properly added when there's multiple filters set in the file dialog
        • Custom "Identifier" property type and editor added (allows only entering identifiers); used in Table/Form/Report Designers
        • Possibility of adding non-db-aware windows/tabs in Kexi
      • Table Designer
        • Fix for 'subType' combo box
        • Avoid possible infinite recursion
        • Selecting non-integer type group using 'type combo' clears PKEY flag, if set
        • Fixed retrieving field captions and descriptions
        • Field captions can be now entered by users instead of names. Field names are then automatically generated.
        • Fixed problem with undo button for subtype combo box
        • Avoid asking twice for saving changes to the design on window closing
        • Find unique name for autogenerated primary key fields
      • Query Designer
        • A few bugs for relationships creation fixed
        • Object combo box now also contain queries (supporting queries is not implemented yet though) the list within the combo is property sorted and grouped; it's reused in 'Data source' tab of the Property Pane; the combo now reacts on deleting/creating/renaming of table or query
        • Fixed redrawing (in an unoptimized way)
        • Conditions: ambiguous expressions fixed: "t1.id > 100" is used instead of "id > 100" in queries like SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id > 100
        • Fixed possible crash when invalid query design is loaded in design view
        • Fixed switching to design mode after invalid query was opened directly in text mode
        • Eat parentheses on criteria loading, in WHERE conditions like (a.id = value)
        • Also accept tableName.fieldName on criteria loading, not only tableName
        • Also accept e.g. "2 = variable" as condition, not only "variable = 2"
        • Graphical representation of joins is generated back from SQL statement, not only based on explicit query schema's relations but are also retrieved from "t1.f1 = t2.f2" expressions within WHERE section
        • Fixed displaying criteria for table view rows when 'visible' column is set to false
        • All-tables-asterisk is also hidden when last table is hidden
        • Fixed possible crash when switching back from SQL View to Design View
        • Fixed displaying criteria if WHERE section contains '('
        • Tables' positions are preserved if possible when relations view updating is needed
      • Form Designer
        • "vAlign" property is now invisible for lineedit widgets (it's noop there)
        • "(autonumber)" label is (identical to the one in tableview) is displayed in lineedit and label widgets assigned to autonumbered fields
        • Shadow in label widgets is properly set for altered indenting, margins and alignment
        • Double focusing of text field fixed
        • "format_font" action added; it's now possible setting font for one or multiple widget's standard using font dialog
        • Fixed crash when there're missing widgets
        • Record is properly fetched on subsequent switching to Data View mode, specially after data source changes
        • Data aware 'text editor' widget added
        • We're not creating additional (blue) resize handle set, but just change color of existing set thus resizing works well even if we're during inline editing
        • Copy common properties from an editing widget to an inline editor (e.g. "margin")
        • Fixed resetting cursor after editing
        • On creating a new spring, splitter and line widget, orientation is set according to its aspect ratio; if the ratio is undefined, popup menu with vertical/horizontal/cancel options is displayed
        • Fixed crash when pressing Tab key on form surface in design mode
        • Data source tab in the Property Pane implemented
        • Fixed switching property buffers when switching between child windows
        • Record navigator is now hidden if there's no data source assigned for a form
        • Fixed i18n for property captions
        • Fixed filling enum values
        • Better handling multiple widget selection; fixes for widget info label
        • Data source fields can be dragged from Data Source Pane and dropped on the form's surface to create data-aware line edit widgets
        • On new form empty creation, undo/redo history is cleared and undo/redo actions are not available
        • On design time, 'dataSource' properties for forms and dataaware widgets are synced with data source combo boxes
        • Inline editing enabled for checkbox widget
        • Width of inserted widgets' size hint increased a bit to for better usability
        • Better support for Auto Fields, including drag&drop
        • Editor inside Auto Field is visible at design time
        • Version information is loaded/saved within form's UI string
        • Field editor's default focus policy is now inherited from internal editor
        • Autocaption is set properly for field editor on design time
        • Field editor's labelCaption is no longer needed
        • Avoid adding accelerators
        • Properties like "iconText" are properly hidden
        • When a widget is deleted or cut, its parent container become selected
        • Added possibility of inserting autofields using 'Insert fields' button from Data Source tab
        • Make a single command out of 'inserting multiple autoFields' task
        • Top-level form surface is resized when inserted autoField(s) couldn't fit
        • Inserting autofields is atomic command supporting undo/redo
        • "other widgets" toolbar popup added for clarity
        • Data-aware image box widget": "insertFromFile", "saveAs", "cut", "copy", "paste", "delete", "properties" popup actions added
        • "readOnly" property added for image, spinboxes and dbfield widgets
        • Widget's look&feel can differ depending on the view mode
        • Support for static and data-aware images boxes; properties implemented: scaling (aspect ration can be kept), horizontal/vertical alignment
        • Images are stored in memory in original form, converting to QPixmap is only performed for displayoing purposes. Such original pixmap can be saved back to file. Original file name is also kept.
        • Application-wide buffer for local (static) BLOB data like pixmaps. For now only pixmaps are supported. Used on design time before objects are stored. This allows to copy multimegabyte pixmaps within Kexi without unnecessary memory loss.
        • Handle Kexi-specific property editor items
        • Accessibility: allow changing the tab order of widgets in the Edit Tab Order dialog using keyboard
        • AutoField widget: update label for font/palette change, display "Unbounded Auto Field" text when no data source is set (in design time, like for image box); improved behaviour in design time (setting caption/type/label position)
        • "frameColor" property added for widgets like text label or frame: behaves well also for "raised" frame shapes
        • New frame widget "KexiFrame", will provide more features; backward compatible with QFrame
        • Do not allow to move top-level widget's position using arrow keys
        • Memory for data is now properly freed before closing a form
        • Infinite loop removed when updating multiple selection
        • "Assign Action" dialog cleaned
        • Versioning added for widget library plugins; this can also avoid conflicts between plugins as we've just renamed them
        • Data source pane: disable widget's data source combo box when there is no form's data source is defined
      • Report Designer
        • (none)
      • Script Editor
        • Open, edit, save and execute scripting code.
        • Catch stdout and stderr and display them. On exceptions jump to the line of code where it got thrown.
        • Switch between supported interpreter bindings via propertyeditor.
        • Configure interpreter-dependend options via property editor.
      • Scripting Library (KROSS)
        • Framework: Let everything, interpreters and wrappers, be a plugin.
        • Framework: Load plugins only on demand.
        • Framework: Call scripting functions from within native code.
        • Framework: Callback of native functionality from within scripting code.
        • Framework: Integrate handling of classes and instances.
        • Embedding: Wrap KexiDB to access the whole database-functionality Kexi provides.
        • Embedding: Wrap the Kexi application to access Kexi runtime-stuff like the KexiMainWindow(external).
        • Embedding: Support QObject, signals and slots and Q_PROPERTY's.
        • Extending: Enable using of GUI-toolkits like TKinter or PyQt.
        • Extending: Add some example scripts to demonstrate how scripting could be used to extend Kexi.
        • Security: Integrate Zope RestrictedPython to provide a restricted python environment to execute python scripting code in a secure sandbox.
        • Interpreter: implement Python binding