Genero Studio and Report Writer 2.20 – General Availability

Irving, Texas – December 18th, 2009 — Four Js Development Tools is pleased to announce the General Availability of Genero Studio 2.20 including the  Report Writer  today December 18, 2009.

Genero Studio and Report Writer 2.20
General Availability

All-in-one preconfigured packages

The complete Genero Product suite now comes bundled in a single package and preconfigured to be used from Genero Studio. Apart from the DVM and GDC, it also includes the Report Writer, the Application Server for Web development and the Web Services. After installation, you will be able to directly run all provided application samples and reports as Desktop applications (using GDC) or Web application in the browser (using GAS).

The new installers, based on Windows Installer (MSI) on Windows, provide default configurations for a Workstation and development server using the latest Genero Product versions.

Genero Report Writer integrated and enhanced

The Genero Report Designer is now fully integrated with Genero Studio providing a single and consistent development environment for database business applications and reports.

This version proposes you new features

Enhanced Designer ergonomics :

  • Easier object selection: From the “Select” context menu in the document view, it is possible to select any object at the current mouse pointer position. Objects which are not visible because another object appears on the top of it can now be easily selected.

  • Changing object type: Any object can be converted to another type of object. The conversion keeps all common properties unchanged avoiding resetting all of them. As an example,a Word Box can be converted to a Word wrap Box to display multiline text.
    • A Layout Node can be converted to a Mini Page to have its contents propagated to the next page with group headers displayed on the page break.

Borders and Margins

Any reporting object can now be surrounded by a border. The available border styles are “solid”, “dotted”, “dashed”, “groove”, “ridge”, “inset”, “ouset”, “double”. The style, thickness, marging and padding can be set either globally for all edges, or separately for each edge. “Margins” define the outer space, “Padding” the inner space and “Width” the thinkness of the border. Margins and Padding properties can also be used to define the spacing between elements, even when no border is actually displayed.

Query Builder

The query builder assistant helps building the report data from a database. It guides the user in  selecting tables, columns, joins, sorting order…to build an SQL statement for querying the database in order to gather the data to be displayed in the report. The Genero BDL source code of the report is generated and can eventually be modified later on.

Genero 2.20 support

Genero Studio 2.20 supports all the Genero 2.20 features. The Code Editor supports the new 2.20 syntax and APIs in its syntax highlighting and completion. The Meta-Schema handles the new databases support and the recent drivers for Genero db 3.80 as an example. The Form designer makes the tree view, phantom fields… and other form features easy to use.

Of course, earlier Genero versions since 1.3x are still supported.

Introduction to Meta-Schema driven development

A Meta-Schema is a central repository which contains information about the tables, columns and relations of a database schema. The aim of such a repository is to centralize all common information rather than duplicating it in each form or application.
It also provides the appropriate default values when using the tables, columns or relations in Forms or Generated applications. Hence, the use of the Meta-Schema has a direct impact on productivity and maintenance.

The database browser module has been enhanced to become a Meta-Schema manager. As previously, the database schema (table, columns, relations, indexes) can still be imported from your database and used in Studio.

But the schema is now editable and can be enriched with information which is not present in your database. When relations are not specified at the database level, you can still enter this information manually in the Meta-Schema. Among the other information which can be attached to a field, its label and preferred widget can also be mentioned. These will be used in the Form creation assistant.

The Meta-Schema can be re-synchronized with the database, in case of change. All entered information is of course kept in the Meta-Schema, even when a database table has disappeared from the target database.

Simplified Team development using SSH

For simplified team development setup, SSH (Secure Shell) connectivity is now provided to access the server tools. Each Genero Studio user connects to the server with its own login via SSH, and is granted rights according to his credentials. This solution is both more secure and easier to adopt because it uses standard OS mechanism to guarantee the server security.

Complete Subversion support

The subversion client integrated in Genero Studio has been completed to support all Subversion features. Advanced Merge, Copy, Revert and Switch… operations are now provided.

The statuses of files are shown both in the project manager and in the file browser. Additionally, the file browser shows the status of folders.

Ergonomics has been reviewed as well to allow multiple operations in parallel:

  • Long running tasks as Checkout can be run in background and are managed by the Studio Task Manager which views the progress and allows interrupting them.
  • Most of the views are provided as docking views displayed simultaneously rather than one at the time. “Open” and “Show differences” operations are available directly from these views.

The repository browser gives direct access to operations on the remote repository without checkout.

Improved and optimized Code Editor

The Code Editor has been rewritten for better performance. The memory consumption is reduced and the response time is improved for large files and files having long lines.
The syntax of more than 50 programming languages is now supported so that you can use the same editor for all kind of files, including shell, C, C++, java…

For each language, advanced preferences allow customizing the appearance (font, style, color) for each element of the language. Using different fonts in a single file is now possible.
As an example, comments can be in a smaller font.

The editor also includes some smart editing features to auto-close strings, brackets, parenthesis…, automatically trim white spaces.
The search and replace now appears in a docking view and includes an incremental mode which highlights the results as you type.

For Genero source files (.4GL), the completion for functions now includes all functions of the current project in the proposals making it easier to call functions in other modules.

Search, Incremental Search, Function Search

The search and replace has been reviewed. It now allows searching in all types of files including Forms (.4fd) and Projects (.4pw). For forms it intelligently searches in all attributes visible to the user rather than searching any element of the XML file. A text search mode is also available to disable the smart search and search in the raw text file.
Search/Replace results (and options as well) appear directly as docking views for quick availability and navigation.

The new function Search panel helps finding functions defined in the current projet.

Project Manager

Apart from defining how to build applications and libraries, the Project Manager centralizes all project related information, it provides completion, function search and symbol definition information for the Code Editor using an internal symbol database.

Database schema files have also become part of the project. It is advised to add the database schema file in the project and version it along with other Genero sources. On opening the project file, the referenced database schemas are detected and become the default ones for creating applications. Versioning the database schema files also simplifies working in a team and managing the database changes over time.

Build performance

The build now takes advantage of multiple processors or multi-core processors. Whenever possible, build tasks are run concurrently on the available processors. The number of concurrent tasks to be run can be defined in the preferences.

Simplified Debugger with improved performances

The Debugger’s ergonomics has been reviewed for quicker access to the common functions. The start/stop/interrupt commands have been simplified and can be used directly from the Project Manager or File Browser. Breakpoints can be enabled/disabled directly from the Code Editor.

After each execution of a part of code, the variables modified during the last run are displayed with a visual indicator to be able to locate them quickly.

To be able to quickly re-run a sequence of debugger commands, the commands can be recorded and replayed later.

Improved Form Designer

The Form Designer now assists the user in creating forms by performing a real time validation of the form while the user is editing it. Warnings and Errors refer to the erroneous object or property and select it when the message is double-clicked. A detailed help (F1) is available for each message as well, indicating the corrective action to take.

The Form Designer takes advantage of the Meta-Schema when creating forms, avoiding teadious repetitive tasks. Database column information like the label of a field or its preferred widget type can be stored in the Meta-Schema. They will be used as defaults when creating fields using this column in a form.

The “Form from table” assistant (aka. “Data Control”) uses these Meta-Schema information as well as the new drag and drop functionality from the Schema view elements to the form: columns or tables can be dropped, creating respectively a field as defined in the Meta schema or a complete form for the table.

When there is no Meta-Schema information available, the default widget is the one defined in the preferences.

The “Convert Container” wizard quickly transforms a container to another type. It preserves the fields,  labels and properties whenever possible.

The new Matrix element replaces the MFArray, it now behaves like a Formfield.
The Formfields can now be transformed more easily to (from) column and Matrix. The widget property changes the decoration keeping the other properties unchanged.

The new Form Structure view displays all form elements and supports multiple selection. The common actions (copy / paste, delete, move …) are provided in both the Design and the Form Structure views.

Editing the Tab order (TabIndex property) has been reviewed. Also, the context menu provides new actions to shift, swap items.

New selection actions, keyboard navigation keys support, and search by property value have been added. The Syntax Highlighting Dialog allows simple edition for include and colorCondition properties.

Also, the new elements introduced in Genero BDL 2.20 are supported in Form Designer. Tree Widgets, Phantom fields…can be used in forms.

Shortcuts and Quick learning from Welcome Page

On startup, Genero Studio shows a Welcome Page containing:

  • Recently opened projects and files
  • Quick links to the documentation
  • Code samples and tutorials
  • RSS feeds such as to bugzilla to learn about new bugs and fixes

It gives guidance to discover the new functionalities of Genero and Genero Studio with some sample applications.
The welcome page can be customized in the preferences to show/hide sections or display the RSS feeds of your choice.

Task Manager

Since Genero Studio 2.20, a new Task Manager panel is now available.Thanks to this panel you can see the progress of the different running tasks (Build, SVN Checkout/update …) and also all the running applications.

Improved  Docking

When you move a Panel into your Framework, you now can see the overview of your Framework before you release your mouse button.

Additional command line tools

Genero Studio 2.20 integrates a new command line tool gsmake that allows building an existing project (.4pw) on the command line as with  .4fd file compilations with gsform.

This can be useful for background tasks like nightly builds for example.

C:fjsgst2.20.00gstsamples>gsmake HelloWorld.4pw
Waiting for background dependencies computation to complete.
[ 0% ] *** Building workspace [16:06:16] ***
[ 50% ] Compiling 'C:fjsgst2.20.00gstsamplesHelloWorldHelloForm.4fd'
[ 70% ] Compiling 'C:fjs2.20.00gstsamplesHelloWorldHelloSource.4gl'
[ 80% ] Linking 'C:fjs2.20.00gstsamplesHelloWorldHelloWorld.42r' (
'HelloSource.42m' 'libfgl4js.42x' 'libfgl.42x')
[ 100% ] *** Success [16:06:17] ***

Best Regards,

The Four Js Genero Studio Team