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.
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.
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 archive to the second to last released version:
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 (this is the best one to use as of November 2017)
PUG Challenge Session Slides¶
ABL Code Analytics session at the PUG Challenge Americas on Wednesday June 7, 2017 (09:45):
Running an ABL GUI as an HTML5 Web Application Without a Rewrite session at the EMEA PUG Challenge on Friday June 17, 2017 (16:30):
Transform a 4GL GUI into a Modern Web Application Without a Rewrite session slides from the EMEA PUG Challenge on Thursday October 11, 2018 (16:30) and PUG Challenge Americas on Thursday October 25, 2018 (15:00):
ABL Code Analytics session at the PUG Challenge Americas on Thursday October 25, 2018 (15:00):
Slides (these are updated from 2017)
© 2004-2018 Golden Code Development Corporation. ALL RIGHTS RESERVED.