This is the core technology for the FWD project.
These projects include applications written in Progress ABL and all of the configuration/scripts to convert to Java and run the result. Use these as a "template" when creating your own project based on your ABL application code.
Hotel ChUI Demo Application
Hotel GUI Demo Application
External Project Patches¶
FWD relies upon some modifications to external open source projects. These modifications fall into one of the following categories:
- The changes will be submitted to the upstream project but it has not happened yet.
- The changes have been submitted to the upstream but have not yet been accepted.
- The changes were submitted but not accepted into the upstream project.
- The changes cannot be submitted because they would not be considered for inclusion.
See External Project Patches for all of the patches to 3rd party libraries or software. Instructions on how to build/patch these libraries are in Patching and Building Customized 3rd Party Libraries.
Object-Oriented "Skeleton" Classes¶
For those using the OO features of Progress ABL, access to the built-in ABL classes or to common .NET system classes will need to be resolved at parsing time. This is accomplished using skeleton classes that have a "stub" interface that matches the external API of the corresponding classes. See Skeleton Classes for more details.
OO 4GL and .NET Skeleton Files (last update 20220406, revision 104)
bzr repository access:
bzr co https://proj.goldencode.com/downloads/skeletons/repo skeleton
Possenet Open Source Files¶
In December 2000, Progress Software Corporation (PSC) released the portions of their development environment that were written in the 4GL itself under an open source license (see this article). This included the Appbuilder, ADM/ADM2 framework code, WebSpeed Workshop, Internet Component Framework, Data Dictionary, Translation Manager and Results.
The native/binary portions of their runtime (the compiler, the interpreter that they now call the "AVM"...) environment remained closed source. These binaries were the really valuable portions since that is the real 4GL runtime and interpreter + the database. The idea was probably to allow the development tools and frameworks to be improved/fixed by a larger community than just PSC. The code was hosted at www.possenet.org, which was run as a traditional open source project. The materials were all covered by the Possenet Public License v1.0.
The Possenet Public License is a reciprocal license where you can modify and combine this code however you like (without open sourcing your other code) BUT you do have to share your modifications to the open source files, if you do make any modifications. The terms were reasonable and compatible with using these materials in a closed source project.
There was some work that happened in the community and PSC did ship Dynamics based on this work. However, by early 2004 they had moved the web site from its host at
possenet.progress.com and they essentially shut down the open source side of the project. The code they had released was still out there and will ever remain open source so as long as you use one of those distributions, then you can use the converted results in any way needed with no limitations. It is not clear why PSC killed the open source project, but they did.
The idea here is that you should replace the versions of files (e.g. in ADM/ADM2 code) that were obtained in an OpenEdge distribution, with the versions in this possenet source distribution (or another one that you have access to from another source). By doing this, you eliminate any dependency on your OpenEdge license and the resulting converted code has no legal entanglements to PSC.
These comments were written by a person that is not an attorney. This is not legal advice, the comments here are our opinions only and you should seek the counsel of an attorney before relying upon anything you read here.
The following is a copy of the license and the source code archives:
Possenet Public License v1.0
Possenet v3.1 Baseline 1 Source Code
Possenet v3.1 Baseline 1 Source Code - Extra Line Feeds Removed, Reworked _osprint.p, Fixed attribut.i
Possenet v3.1 Baseline 1 Source Code - with GCD Updates through 20181207
Possenet v3.1 Baseline 1 Source Code - with GCD Updates through 20210227
Possenet v3.1 Baseline 1 Source Code - with GCD Updates through 20210429 (revision 11, this is the best one to use as of April 2021)
bzr source repository access:
bzr co https://proj.goldencode.com/downloads/possenet/repo possenet
Translation Manager Extended Export Version¶
The 4GL Translaction Manager that was originally part of OpenEdge has been released as an open source project under the Apache 2.0 license. It is hosted at GitHub. The code was removed from OpenEdge itself and is no longer supported by Progress Software. The open source project has the capability to export the translation data, which is needed to convert the application. The current release of Translation Manager has some limitations and doesn't export all the required information. The following version has been extended to patch this limitation.
Original Github Readme
Translation Manager Extended Export Version 20211003
Please see Translations for more details.
PUG Challenge Session Slides¶
|Friday June 17, 2017 (16:30)||Running an ABL GUI as an HTML5 Web Application Without a Rewrite||EMEA PUG Challenge|
|Thursday October 11, 2018 (16:30)||Transform a 4GL GUI into a Modern Web Application Without a Rewrite (updated for 2018)||EMEA PUG Challenge|
|Thursday October 25, 2018 (15:00)||Transform a 4GL GUI into a Modern Web Application Without a Rewrite (updated for 2018)||PUG Challenge Americas|
|Tuesday October 8, 2019 (08:30)||A Better 4GL: Web UI, Reporting Engine, Direct Java Access and Much More||PUG Challenge Americas|
|Thursday October 31, 2019 (09:00)||A Better 4GL: Web UI, Reporting Engine, Direct Java Access and Much More||EMEA PUG Challenge|
|Wednesday June 7, 2017 (09:45)||ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection||PUG Challenge Americas|
|Thursday October 25, 2018 (15:00)||ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection (updated for 2018)||PUG Challenge Americas|
|Wednesday October 9, 2019 (08:30)||ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection (updated for 2019)||PUG Challenge Americas|
|Friday November 6, 2020 (13:00 CET)||ABL Code Analytics: Unique Tools for Deep Code Analysis and Inspection (updated for 2019)||EMEA PUG Challenge Virtual 2020|
Call Graph Analysis¶
|Monday October 7, 2019 (08:30)||4GL Call Graph Analysis: Eliminate Dead Code (and More) Using Automated Call Graph Analysis||PUG Challenge Americas|
|Thursday November 5, 2020 (18:00 CET)||4GL Call Graph Analysis: Eliminate Dead Code (and More) Using Automated Call Graph Analysis||EMEA PUG Challenge Virtual 2020|
4Gl Code Transformation¶
|Tuesday October 8, 2019 (13:00)||4GL Code Transformation Modernize 4GL Code Using Fully Automated Transformation (and sample code)||PUG Challenge Americas|
© 2004-2022 Golden Code Development Corporation. ALL RIGHTS RESERVED.