OpenROAD 5.1

OpenROAD has always provided features that enable rapid application development and deployment. OpenROAD version 5.1 takes this further, providing robust support for using XML in your OpenROAD applications. OpenROAD Workbench now imports and exports applications and components in XML format.

Using this technology you can exploit the integration, storage, and transport of data. For example, since an OpenROAD application is simply data, by using the XML feature you can develop utilities to analyze OpenROAD applications.

OpenROAD 5.1 is now GA on all platforms. This release includes both new functionality and enhancements to existing features, and is the result of partnership between the OpenROAD engineering team and the OpenROAD community. The OpenROAD community assisted greatly by participating in functional specification reviews, detailed design reviews, testing of new functionality through Workbench Express or special code drops, and attending OpenROAD Code Sprints around the world, contributing ideas and code for features that were included in the product.

New Features

XML Support

New system classes were introduced to provide a rich set of attributes and methods that enables you to easily manipulate XML documents of any size. You can now modify OpenROAD systems to integrate with other systems in your enterprise, reusing proven business logic to provide more value to your business.

You can now import and export OpenROAD applications and components to and from XML documents using the new XML format of OpenROAD Workbench. This capability enables applications to be stored in and extracted from source management systems, showing changes to source code in a more readable format than the traditional export format provides. XML support is also critical to the smooth migration of OpenROAD applications and components to Unicode environments (multi-byte or UTF-8), which will be available in OpenROAD 6.0. For initial information about enabling OpenROAD applications to handle Unicode in the upcoming OpenROAD 6.0 release, see the blog entry, “Looking to Enable Your OpenROAD Application to Handle Unicode?”.

HashTable System Classes

OpenROAD’s HashTable support was exposed to enable rapid storage and instant retrieval of items through the addition of three new system classes: HashTable, IntegerHashTable, and StringHashTable. These classes are simple to use and clean up after themselves when the application closes. HashTables can store objects using either integer or character lookup key types. Using the HashTable methods boosts lookup performance as compared to Array.Find() or ChoiceList methods.

FormField System Class Attribute

A new FormField attribute, BgDisplayPolicy, was added to enable background bitmaps to be drawn from the top left corner of whatever field they are in. This functionality is fundamental to enhancements coming in a future release.

StringObject System Class Methods

The StringObject System Class was enhanced to add Split and Join methods. The Split method splits the contents of a string object wherever one of the delimiters appears. The Join method joins the contents of an array of string objects, interpolating a delimiter of any length between them.

OpenROAD Workbench Improvements

Resizeable Workbench

The OpenROAD Workbench introduced in OpenROAD 5.0 can now be resized.

Easier Way to Create Composite Fields

You can create Composite Fields directly from the Workbench Frame Editor’s floating menu bar by clicking Insert, Field, CompositeField.

New Way to Invoke Application or Component Importing

OpenROAD applications and components now can be imported by simply right-clicking in the applications portlet to invoke a context-sensitive menu, giving you quick access to the import feature.

Community Contributions

OpenROAD 5.1 includes enhancements generated in participation with the OpenROAD community through design reviews and Code Sprints held throughout the world. The following list includes highlights from these many efforts.

Enhanced FrameExec System Class

A new FrameExec attribute, IsMaximized, was added to reflect at runtime the actual state that a frame is in when the attribute is interrogated. Setting it causes the frame to become maximized if it is not already, filling the entire screen, until the user clicks the restore icon in the frame's title bar or the program changes the value to FALSE. The frame will then revert to normal size as defined by the FrameExec.

Enhanced FrameSource System Class

A new FrameSource attribute, IsMaximized, was added to specify the initial state at which a frame should be instantiated at runtime.

Enhanced RadioField System Class

The RadioField System Class implements two new attributes. ColumnWidthCompressed specifies how the display width of a RadioField is determined when the Orientation attribute is set to FO_HORIZONTAL. ColumnHeightCompressed specifies how the display height of a RadioField is determined when the Orientation attribute is set to FO_VERTICAL.

Enhanced SessionObject System Class

The SessionObject System Class contains two new attributes. ExitCode indicates whether the OpenROAD program has exited normally, and CallSystemStatus contains the exit status code of the process executed by the last call system statement.

Enhanced ProcExec System Class

New attributes were added to help trace the execution flow of a running OpenROAD application. Four new attributes—LineNumber, LocalScope, Name, and Parent—were added to ProcExec to make it easier to locate bugs in your application.

More Information

For additional information about new features and enhancements to existing functionality available in OpenROAD 5.1, view the webinar recording at OpenROAD 5. 1 New Features and review the OpenROAD 5.1 Release Summary at http://docs.actian.com/openroad/5.1/release-summary.