JamFram is a Delphi application framework developed by Jamie Oglethorpe. It represnts my current best practice.
It grew out of the useful parts of earlier projects, refactored to make them more useful. Subsequently it has been enhanced with new functionality and other improvements.
JamFram has been refactored several times to improve the architecture and make its applications more adaptable. For example, the presentation layer (that deals with the outside world), the persistence layer (that deals with databases, configuration files and other persistent data), and the application layer are clearly sepatated. It is then easy to adapt a Windows application to work as a web server, and to change the database engine. Both of these changes can be made without impact on other parts of the application.
When I have had to solve a new problem in a new project I have generalized it, then abstracted the solution so that the specific requirements for the project are separated from the more general features. The more general parts I have then included in JamFram.
This is JamFram's public home page. At the SourceForge Project's Page, you can monitor the project's progress, subscribe to the mailing lists, report bugs, make suggestions, request enhancements, register for notification of new releases or bug reports, and join the project as a developer.
JamFram is work in progress and has a steep learning curve. The documentation is in its early stages. The source archive includes demonstration projects that are still being modified to use this framework.
Please visit HelpTopic's Project Page at SourceForge for information about how to become a project developer. The Project's page also contains databases for bugs and pending tasks, as well as well as links for joining the anouncement, interest, or developer mailing lists..
Jamie Oglethorpe write the original Help Topic Editor as a holiday project,
and used it as an example in a SDForum
discussion. Juanco Anez encouraged him to turn it into an open source
A start has been made on the documentation, which is incuded with the source. I work on the documentation whenever I start a new project. Unfortunately the start is the hardest part, so I am looking at automating the process.
Optimax has very kindly created an open source newsgroup where we can discuss this project. If you have a question, suggestion or comment, don't hesitate to post it there. You can point your newsreader at news.optimax.com and choose the sdforum.open-source newsgroup.