Whitepapers, discussions, and code related to tools for programming in ABL, analyzing existing code, and improving and transforming ABL code.
Tuning OpenEdge application code can be daunting for a beginner. Although the tools required to debug and tune your code are available in the 4GL, they are not always easy to use and understand. This toolset aims to simplify the process of tuning without requiring major (or any) changes to your code.
A ChUI Database Activity Monitor that asks you to select a database connection. Database activity for that connection is then displayed in a browses - there is a Table view and an Index view. Reads / Creates / Updates by Table or Index. The activity is read from _UserTableStat and _UserIndexStat VSTs. There is a one minute auto-refresh, or it can be refreshed manually by pressing the space bar. There is a hotkey to display the stack trace for the connection, but statement caching must be enabled for this to work. There is an option to reset all stats to Zero.
The ABL compiler provides some valuable tools for analyzing individual compile units, but this information can become far more valuable if systematically gathered into a database and supplemented with other information and analysis tools. Presentation on this project can be found at http://cintegrity.com/content/Databasing-ABL-Code-and-Data-Relationships and http://cintegrity.com/content/How-Can-I-Fix-Applied-Use-ABL2DB%0B-Real-W... .
Gzip encoding for Progress 4GL based on zlib library written by Jean-loup Gailly - http://www.zlib.net/
This Plugin allows the developer to control when the Perspective is changed automatically between the OpenEdge Editor/Appbuilder and Visual Designer Perspectives based on the file extension and the Editor that is being used to edit the file.
Install the Plugin by extracting the .zip file and then copying the .jar file into the dropins directory of your Progress Developer Studio (ie: C:\Progress\OpenEdge\oeide\eclipse\dropins).
There is a capability built in to ABL to provide run-time execution detail on a program. It collects execution times on blocks of code so that one can evaluate performance. It returns:
It can be used by:
Maia is a Progress ABL code generator that takes a user-defined template and produces clean, understandable, consistent code. If you have ever copied and pasted a block of code, then Maia is for you. Maia removes the need for manual code duplication.
Even better, Maia removes the need for the vast majority of dynamic coding, making your code understandable to the programmer that follows you
Justus is a toolset for Progress 4GL that helps developers to increase quality of your projects. Justus includes a simplified 4GL parser and a test coverage tool to identify gaps on Test phase.
Future releases also include a search tool, white-box tests and dependency checker.
** Looking for Volunteers **
ProUnit is a Unit Test Framework designed to improve Progress applications quality. Specially focused on automation, ProUnit is better used with Continuous Integration and build scripting tools like PCT, ANT, Bamboo, Hudson, etc.