| Revision 9 |
Current |
| = Ports of CGI::Application to other languages |
= Ports of CGI::Application to other languages |
| |
|
| == PHP |
== PHP |
| |
|
| === [http://www.mecworks.com/~spencer/my_php.html CGI_Application.php] |
=== [http://www.mecworks.com/~spencer/my_php.html CGI_Application.php] |
| |
|
| This port of CGI::App and HTML::Template to PHP is a work in progress. No documentation for this version is |
This port of CGI::App and HTML::Template to PHP is a work in progress. No documentation for this version is |
| available at this time. |
available at this time. |
| |
|
| == Python |
== Python |
| |
|
| === [http://thraxil.org/code/cgi_app/ cgi_app] |
=== [http://thraxil.org/code/cgi_app/ cgi_app] |
| |
|
| This module is a port of Jesse Erlbaum's popular CGI::Application Perl module |
This module is a port of Jesse Erlbaum's popular CGI::Application Perl module |
| to python written by Anders Pearson. |
to python written by Anders Pearson. |
| |
|
| *Review of cgi_app by WilliamMcKee, Feb. 28, 2004* |
*Review of cgi_app by WilliamMcKee, Feb. 28, 2004* |
| |
|
| Recently, I had the opportunity to try implementing a web application using |
Recently, I had the opportunity to try implementing a web application using |
| this module for a client who has a significant investment in Python. Although I |
this module for a client who has a significant investment in Python. Although I |
| am new to Python, I thought the cgi_app module may allow me to develop in a |
am new to Python, I thought the cgi_app module may allow me to develop in a |
| framework with which I was familiar. The application was being deployed onto a |
framework with which I was familiar. The application was being deployed onto a |
| Windows 2000 server running Apache2. |
Windows 2000 server running Apache2. |
| |
|
| With my prior knowledge of CGIApp and the examples provided with cgi_app, I was |
With my prior knowledge of CGIApp and the examples provided with cgi_app, I was |
| able to setup a sample script fairly quickly. Unfortunately I could not get to |
able to setup a sample script fairly quickly. Unfortunately I could not get to |
| the stage of running the application due to template problems. The htmltmpl |
the stage of running the application due to template problems. The htmltmpl |
| module (based on HTML::Template) had been modified to work with cgi_app. |
module (based on HTML::Template) had been modified to work with cgi_app. |
| However, it had only been tested under GNU/Linux, and I encountered errors when |
However, it had only been tested under GNU/Linux, and I encountered errors when |
| running it under Windows which I did not have the time to track down. |
running it under Windows which I did not have the time to track down. |
| |
|
| I turned to a couple of alternative templates based on the |
I turned to a couple of alternative templates based on the |
| [http://zope.org/Wikis/DevSite/Projects/ZPT/TAL%20Specification%201.4/FrontPage |
[http://zope.org/Wikis/DevSite/Projects/ZPT/TAL%20Specification%201.4/FrontPage |
| Zope Template Attribute Language]. Unfortunately, the two which looked most |
Zope Template Attribute Language]. Unfortunately, the two which looked most |
| promising (!SimpleTAL and !ZopePageTemplates) were not well-suited for the |
promising (!SimpleTAL and !ZopePageTemplates) were not well-suited for the |
| CGIApp model. !SimpleTAL sends output to a file whereas !ZopePageTemplates |
CGIApp model. !SimpleTAL sends output to a file whereas !ZopePageTemplates |
| prints output to STDOUT. I could have used !SimpleTAL and simple read the |
prints output to STDOUT. I could have used !SimpleTAL and simple read the |
| contents of the file into a buffer to pass back to cgi_app. However, this |
contents of the file into a buffer to pass back to cgi_app. However, this |
| solution seemed inefficient and potentially dangerous. I can only presume that |
solution seemed inefficient and potentially dangerous. I can only presume that |
| !SimpleTAL was written for offline template processing. |
!SimpleTAL was written for offline template processing. |
| |
|
| After hitting this wall, I paused for the day. Upon further reflection, I |
After hitting this wall, I paused for the day. Upon further reflection, I |
| decided that developing the application in Perl would be a far more efficient |
decided that developing the application in Perl would be a far more efficient |
| for me since I already have a complete suite of modules in place for doing |
for me since I already have a complete suite of modules in place for doing |
| everything from template processing to database access to logging to session |
everything from template processing to database access to logging to session |
| management to testing. I hope that work on the cgi_app module continues and |
management to testing. I hope that work on the cgi_app module continues and |
| think that it would provide a very useful framework for Python application |
think that it would provide a very useful framework for Python application |
| developers. Hopefully the problems I encountered with template libraries will |
developers. Hopefully the problems I encountered with template libraries will |
| be corrected over time so that the CGIApp framework can grow in the Python |
be corrected over time so that the CGIApp framework can grow in the Python |
| community. |
community. |
| |
|
| == Ruby |
== Ruby |
| === cgi-application.rb |
=== cgi-application.rb |
| http://raa.ruby-lang.org/project/cgi-application/ |
http://raa.ruby-lang.org/project/cgi-application/ |
| |
|
| |
|
| == See also |
== See also |
| |
|
| * OtherFrameworks |
* [OtherFrameworks https://github.com/markstos/CGI--Application/wiki/OtherFrameworks] |