Try OpenEdge Now
skip to main content
Online Help
Introducing Progress Developer Studio for OpenEdge : Concepts : New and Noteworthy in Release 10.2A
 

New and Noteworthy in Release 10.2A

The 10.2A Release of OpenEdge Architect (renamed as Progress Developer Studio for OpenEdge in Release 11.0) included new and revised features in the following areas:
*Eclipse platform upgrade
*Visual Designer
*ABL Editor
*Class Browser
*Debugger
*Progress XML Tools

Eclipse platform upgrade

The Eclipse platform for OpenEdge Architect 10.2A is Eclipse Release 3.4. The previous release of OpenEdge Architect (10.1C) ran on Eclipse 3.2.2. Changes implemented in Eclipse 3.3 and Eclipse 3.4 are documented on the Eclipse Web site.
Note: The Eclipse Software Update feature is completely new in release 3.4. A description of the 3.4 software update functionality is available from the Eclipse Web site. The new software update is available when you choose Help>Software Updates. Release 10.2A of OpenEdge Architect also supports the software update feature that existed in previous releases. It is available when you choose Help>Classic Software Updates.

Visual Designer

The Visual Designer, new in OpenEdge 10.2A, is a WYSIWIG editor for building user interfaces for OpenEdge applications. These interfaces are written in ABL but are based on .NET objects, with the result that the GUI is richer, more robust, and more contemporary in look and feel compared to a traditional OpenEdge GUI. The style of user interface built in ABL with .NET forms and controls is referred to as OpenEdge GUI for .NET.
Support for .NET objects in OpenEdge GUI clients is built into ABL. ABL developers can use .NET objects without resorting to another language such as C# or VB.NET. Because the OpenEdge GUI client hosts the Microsoft .NET runtime (CLR) within the AVM, .NET controls appear to the developer as if they were native ABL constructs. This powerful configuration not only allows .NET forms and controls in an OpenEdge application, but it also dispatches events from the .NET UI to event handling code written in ABL. Additionally, OpenEdge data objects can easily be used as a data source for a .NET control.
The Visual Designer is implemented as a plug-in to the Eclipse-based OpenEdge Architect. This provides an integrated development environment with quick access to other OpenEdge Architect tools such as Progress DB Navigator, the ABL Editor, and Tools for Business Logic.

ABL Editor

Launch configuration support

OpenEdge Architect now uses the launch framework in Eclipse to run or debug ABL programs.
Launching is defined as running or debugging a program from within Eclipse. A launch configuration is a set of options that affect how Eclipse runs a program. Launch configurations are useful because they allow you to create a number of different running and debugging environments to test your code.
You can use the Run Configurations and Debug Configurations dialogs to create custom launch configurations. Alternatively, you can use a default launch configuration derived from the workbench preferences and your program's OpenEdge project settings.
Note: The Run as GUI application, Run as TTY application, Run Configuration, and Run Web options are no longer available on the main toolbar. Furthermore, the Run Configuration dialog, used in previous versions of OpenEdge Architect to create and start launch configurations, no longer exists. However, launch configurations created in previous versions of OpenEdge Architect migrate automatically to Eclipse launch configurations.

Array support

Array support in the ABL Editor now includes:
*An update to the New Class wizard so that return statements for generated methods or functions can return properly sized arrays.
*An update to the New Class wizard so that return statements for generated methods or functions can return properly sized arrays.
*The extension of Update Function Prototypes (a selection on the ABL Editor's Source menu) to update the extent information for a function based on the signature of the actual function implementation.
*An update to the Outline view that indicates when a method or a function has an extent, and (optionally) the size of the extent.
*Support in context assistance help to display array information as part of the return type of a function, a method, or a property.
*An update to the Override/Implement Method dialog to display extent information in the labels for methods that return arrays.

Color coding in the Compare Editor

When you compare ABL files in the Eclipse Compare Editor, the files are color coded as they are color coded in the ABL Editor. Previously, ABL files appeared as plain text in the Eclipse Compare Editor.
To compare files in OpenEdge Architect, select two files in the Resources view. From the context menu, select Compare With>Each Other. (Note that you can compare three files when one file is the common ancestor of the other two. See the Eclipse Workbench User Guide for more information.)

Insertion point options when adding code

You now have the option to specify an insertion point when you add code prototypes with any of the following dialogs:
*Add Procedure
*Add Function
*Add Method
*Add Property
The Insertion position field on these dialogs gives you the following options:
*Alphabetical order - Insert a code prototype based on its name. Case is ignored.
Note: This feature does not sort the procedures, functions, methods, or properties that already exist in the file. If they are already ordered alphabetically by name, insertion of new code is done at the correct position in the list. Otherwise, insertion is the first valid alphabetic position found during a top to bottom lookup.
*Cursor position - Insert code prototype at the current position of the cursor in the file.
*First/Last - Insert the code prototype as the first or last item.
*After name - Insert the code prototype after the named procedure.

Enhancements to code-completion assistance

Code-completion assistance gives you suggestions for completing the code that you are typing in the ABL Editor. To get code-completion assistance, press CTRL+SPACE.
Code-completion assistance is improved to filter suggestions based on context. Code-completion assistance for keywords is improved to show relevant keywords only. The older scheme of code-completion is retained and you can access it by pressing CTRL+SPACE again (Repeatedly pressing CTRL+SPACE toggles between context filtered suggestions and all suggestions).
Code completion assistance is also enhanced to provide suggestions for completing:
*Object variable and property names that are reserved keywords
*Object references for the CREATE statement
*Procedures names and paths for the RUN statement (based on PROPATH)
*Widget variables and handles
*Parameters of procedures and methods
*Fields for temp-tables, buffers, and datasets
*Preprocessor names
*Subscripted array references

Tabular formatting of code

The tabular formatting feature allows you to format code in columns. For example, the following shows code before tabular formatting:
DEFINE VARIABLE aChar1 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aCha22 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar333 AS CHARACTER NO-UNDO.
After tabular formatting, the code is much easier to scan as shown in the following:
DEFINE VARIABLE aChar1 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar222 AS CHARACTER NO-UNDO.
DEFINE VARIABLE aChar333 AS CHARACTER NO-UNDO.
Only the following statements support tabular formatting:
*DEFINE VARIABLE
*DEFINE TEMP-TABLE
*DEFINE BUFFER
*ASSIGN
Select Source>Correct Indentation from the main menu bar to format the currently active ABL file. If no code is selected, tabular formatting applies to every supported statement in the file.
Tabular formatting is enabled by default. To disable tabular formatting, select Window>Preferences>OpenEdge Architect>Editor from the main menu bar. Clear the Enable tabular formatting check box.

Support for adding properties and methods to interface files

You can now use the Add Methods (ALT+SHIFT+M) and Add Properties (ALT+SHIFT+Y) dialogs on interface files. However some of the options in these dialogs are disabled because they do not apply to interface files.
The following are disabled in the Add Properties dialog:
*All modifiers except Public
*Initial value field
*Insert implementation check boxes
The following are disabled in the Add Methods dialog:
*All modifiers except Public
*All code generation options

Quick Outline

The Quick Outline is a pop-up window that shows a tree view of the ABL code file that currently has focus. You can click on a node in the tree view to navigate to a particular section of the file.
It is essentially the same as the Outline view but it is more convenient. Select Navigate>Quick Outline or press CTRL+O to start Quick Outline. (In class files, pressing CTRL+O repeatedly toggles between members from the current class and inherited members.)

Viewer for pre-processed code

The new Preprocessor view shows code that is obtained after all the preprocessors (include files, preprocessor definitions and logic) are expanded. It is a read-only view. Syntax coloring and highlighting are applied to the code in the Preprocessor view so it appears the same as the code in the ABL Editor.
The Preprocessor view does not appear in the default OpenEdge Editor perspective. You can access it by selecting Window>Show View>Preprocessor View on the main menu bar. It can also be started from the ABL Editor's context menu by selecting Show In>Preprocessor View.

Class Browser

With this release, the Class Browser extends its support to .NET classes, allowing you to see details about all your .NET resources, namespaces, and types. The details you see come from the assemblies that are associated with the workspace and are also available for any external resources you add to the Class Browser.
The Class Browser displays type information for .NET classes using summary text and ABL syntax.
The Class Browser also lets you see extent information for methods, properties, and variables that are arrays. This information appears in the Content pane and the Summary pane.
The Class Browser toolbar now includes Back and Forward buttons that let you navigate through previously selected items.

Debugger

The OpenEdge Architect Debugger includes the following enhancements in this release:
*You can set two preferences for your Debugger environment:
*A connection time-out value, which establishes the time-out in milliseconds for the Debugger to wait when connecting to an OpenEdge client
*A property evaluation option, which enables the evaluation of properties with accessors
*In addition to setting up property evaluation by choosing the option on the Debug preferences page, you can alternatively set up the evaluation of properties with accessors by doing either of the following:
*Using the Evaluate Property menu option in the Variables and Expressions views
*Adding the property to the Expressions view. The property is then evaluated automatically
*You can define launch configurations for debugging.
*You can use a class file (.cls), as well as a .p or .w file, as a starting program for the Debugger.
*In the Variables view, you can:
*Opt to show properties
*View the actual type of an object reference
*Expand object references
*In the Expressions view, you can expand object references, temp-tables, handles, arrays, and datasets.
*In an Editor window, you can hover over a variable to see the variable's value as you debug.

Progress XML Tools

The 10.2A release of OpenEdge Architect includes the following Progress XML tools:
*XML editor - An editor for creating and modifying Extensible Markup Language (XML) files
*XML Schema editor - An editor for generating XML schema from an XML document
*XPath Helper - A tool for generating and testing XPath expressions
*WSDL editor - An editor for creating and modifying Web Services Description Language (WSDL) files
You can start the editors by choosing File>New>Other>Progress XML Editors from the main menu bar. You can launch the XPath Helper from several different locations. For example, you can launch it from the source page of the XML editor. You can also launch it from other editors, at locations where you specify XPath expressions.