ODABA Releases TODBMS and Tools 16.0.0
ODABA is a Terminology-Oriented Database Management System (TODBMS) based on standards for object-oriented databases (ODMG 2003). In contrast to other databases that are focused on big data processing, ODABA stands for smart data processing, i.e. it is intended to be used for complex problems and complex data structures in combination with complex processing rules.
The latest version of ODABA has been released on Sunday, Sep 16th, 2018. With ODABA 16.0.0 a version with extended database access features has been provided. For Windows users, a DevStudio 2017 compiled version is released in addition for 32 and 64 bit. For Linux users, GCC 6 is supported, now.
We do not deliver anymore .msi files for Windows installations, since ODABA does not need any kind of registration in the Windows registry. Instead, binary installations for Windows are delivered as 32 and 64 bit versions compiled with MS VS2010 and VS2017.
More details are described in change logs and in notices delivered with the development databases (ODE tools: Object/Notices). Notices delivered with the databases also contain a list of open topics planned for next releases. Notices are stored separately for basic functions (sos.dev), database kernel (opa.dev), GUI framework (gui.dev) and ODE tools (ode.dev).
Detailed changes (ODABA)
Focus for this release was providing extended access to external data formats and providing HTTP services in order to support ODABA database access via internet. This includes an OHTTPServer as well as a client interface functions provided with odaba::utils::HTTP class.
JSON is now supported as new data exchange format. The odaba::TypedString class provides generic string analyzer functions for all data exchange string types.
Besides, several bugs have been removed. Removed bugs are reported in the change log.
ODABA Database kernel (base)
The new ODABA version provides several improvements and extensions for the kernel functionality:
- Provide DataExchange support for JSON
- Generictring analysis functions
- Support internet access via HTTP
In addition to other exchange formats (XML, OIF etc.), JSON is now supported for import and export.
In order to provide generic string analyzer for data exchange string types (XML, OIF, ESDF, JSON, CSV), TypedString has been expanded by providing appropriate analyzer functions.
ODABA now provides an HTTP service that can be started on a WEB server (OHTTPServer(D)). The server supports different kinds of HTTP requests including a specific OSI POST request. Details are described in ODABA online documentation or in 3.9_HTTPServer.pdf document. OHTTPServer is using libmicrohttpd, which is delivered as binary for Windows users, but has to be installed in any case before building ODABA.
- Support HTTP communication
Providing HTTP class extensions allows accessing HTTP servers via OSI functions or within ODABA applications
- OSI debug extensions
OSI debugger now supports setting and removing watch variables, which are displayed when reaching a break point. Moreover, break point may be associated with predefined OShell scripts, which are called when reaching a break point.
- LOID extent
So far, the virtual extent referring to all instances could be opened as VOID or __LOID. Now, the new alias LOID. could be used, as well.
- Passing events to parent instance
Many events as modified or stored are passed to parent instance in case of attribute properties, but not for references and relationships. Since MEMO and BLOB fields are (from a technical view) references, but conceptually attributes, events for BLOB and MEMO properties are passed to parent instance now as well.
- Execute file paths with registered extensions
Strings containing a file path may be executed immediately when the extension is associated with specific software package (e.g. odt with LibreOffice writer). File associations can be defined via ODABA options or as system file associations under Windows.
- OSI variables in views
View definitions now support OSI variable definitions in VIEWs (from operation).
- DO and BEGIN in OShell scripts
The behavior of DO and BEGIN in OShell was not consistent (differed between while and it etc.). Now the behavior is always as follows:
- BEGIN: stores last state at beginning and restores it at END
- DO: keeps changes at END
- Interface functions for progress and status display
odaba::Application now provides interface functions for progress and status display.
ODABA Application Program Interface (base/opa)
Several extensions and some minor changes have been made on API functionality. Change status has following meaning:
- new - New function, class, enumeration or enumerator
- updated - Function has been updated
- expanded - Functions with same name but different parameter lists have been added
- removed - Function has been removed from interface
- osi - Function has been added to OSI interface
Interface changes:
Basic classes (namespace odaba)
- StringCodingTypes (new enum values)
- Base64String (new)
- Base16String (new)
- StringTypes (new enum value)
- JSONString (new)
- Application
- registerErrorObject (new, osi)
- registerTextDatabase (updated)
- resetTextCache (updated)
- unregisterTextDatabase (updated)
- BaseContext
- displayProgress (updated, osi)
- startProgress (updated, osi)
- stopProgress (osi)
- statusMessage (osi)
- Binary
- operator= (new)
- BNFParser (moved from odaba::utils)
- create (expanded)
- remove (new, osi)
- BNFNode (moved from odaba::utils)
- Dictionary
- parser (new, osi)
- String
- executePath (new, osi)
- fromCString (new, osi)
- toCString (new, osi)
- StringList
- append (expanded)
- indexOf (new, osi)
- TypedString
- TypedString (osi)
- elementLocator (new, osi)
- elementName (new, osi)
- elementPath (new, osi)
- elementPosition (new, osi)
- isCollection (new, osi)
- isInstance (new, osi)
- isValue (new, osi)
- nextElement (new, osi)
- nextValue (new, osi)
- position (new, osi)
- reset (new, osi)
Service classes (namespace odaba::utils)
- BNFParser (moved to odaba)
- BNFNode (moved to odaba)
- HTTP
- get (removed)
- post (removed)
- DELETE (new, osi)
- GET (new, osi)
- PATCH (new, osi)
- POST (new, osi)
- PUT (new, osi)
- httpCode (new, osi)
More details are described in ODABA online documentation: Reference documentation/ODABA Application Program Interface.
ODABA Script Interface OSI
OSI interface functions have been provided for new functions. Moreover, OSI debugger now supports setting and removing watch variables, which are displayed when reaching a break point. Break point may be associated with predefined OShell scripts, which are called when reaching a break point.
Open document support
No changes made.
Detailed changes (ODE and GUI framework)
Several slide changes have been made, which slightly change the GUI framework behavior. Moreover, some new function have been added to the interface.
GUI Framework (gui)
Following changes have been made in GUI framework behavior::
- Automatic hide default action buttons for list controls
- Store table headline settings
So far, several list actions have been hidden, when a control had been set to read-only, which is not a good design, since toll bar buttons change position depending on state of selected instance. Now, those are disabled, only, by default. In order to keep the old behavior (hide these actions), GUIFramework.HideActions option has to be set to true.
Columns in table headlines may be rearranged or changed in size. Now, table, list and tree header settings are stored and restored for each control on the local machine, when the GUIFramework.Settings.HeaderView option is set to true.
ODE tools (ode)
Some scripts have to be provided in ode.dev in order to support HTTP request tests (see VOID::HTTPExecute()).
ODABA GUI Application Program Interface (gui/ode)
Some extensions and minor changes have been made on API functionality. Change status has following meaning:
- new - New function, class, enumeration or enumerator
- updated - Function has been updated
- expanded - Functions with same name but different parameter lists have been added
- removed - Function has been removed from interface
- osi - Function has been added to OSI interface
Interface changes:
- Line
- position (new, osi)
- regionId (updated)
ODABA Documentation
An additional document (3.9_HTTPServer.pdf) has been provided containing a detailed description of OHTTPServer(D). The documentation is also part of the online documentation User's Guide / Database Access / Client/server applications / ODABA HTTP server.
OSI documentation has been expanded by documenting additional debug features (watch points and break point procedures).
An OShell Command Reference in the online documentation tree (Reference Documentation / OShellCommand Reference) and as document (3.A_OShellCommandReference.pdf).
Documentation for new features has been added to class and function references.
Installing ODABA
ODABA, including applications and libraries, is available for free under Open Source licenses (GPL). ODABA runs on various hardware configurations, operating systems and works on many desktop environments. ODABA can be obtained as source code distribution and in various binary formats from http://sourceforge.net/downloads/odaba/.
Several features require third party components, which have to be installed before installing ODABA. When the corresponding libraries are not available, one may install ODABA, but the features referenced below will not work.
- libzip - required for LibreOffice document generation
- zlib - required for data compression and database backup and restore)
- curl - required for enhanced email support)
- hunspell - required for spell check in ODE tools, like terminus
- libmicrohttp - required for OHTTPServer(D)
- Qt4 or Qt5 - for running the ODABA GUI framework
Using optimizing compiler GCC 6, this pointer checks must not be optimized. Use -fno-delete-null-pointer-checks option when using GCC optimizing compiler.
Previous Releases
With the release of ODABA 16.0.0 we declare the end of live for all previous released ODABA versions less than version 15.0.0. Bug fixes on 15.0.x version are provided on demand.
System model has not been changed and no version upgrade is required.
About RUN-Software
RUN-Software develops database management system ODABA and tools since 1994. Besides general and particular software solutions, RUN-Software publishes theoretical works about database theory and terminology in connection with data modeling.
See also: www.run-software.com