Tools to assist in the development process
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... .
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
JSON Parser for Progress ABL is a "wrapper" for the cJSON parser - ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser.
The reader object can be used to load and parse a JSON string from either a file on the file system or from a character, longchar or memptr variable.
This profiler identifies performancebottlenecks in your application by analysing the logfile you create with the log-manager.
Identifies possible memory leaks and their source by extracting those lines from logmanager output that point at created objects that are not deleted later on or allocated space that is not (fully) deallocated.
This analyser goes a bit further than http://www.oehive.org/node/846 and can handle OE 10.2A extra's
There's a very good plugin for Eclipse which integrates Eclipse with Microsoft Visual SourceSafe. It's org.vssplugin developed by Marcus Nylander, unfortunately it's not been updated since 2007. The latest version is 1.6.2 and it was developed for Eclipse 3.2, so it doesn't work with 3.4 and higher. Since I work with a quite unique VSS configuration I desperately needed to modify this plugin but before that I had to make it work on Eclipse 3.4.