(You are Anonymous)

Added | Removed | Changed | Unmodified

Revision 6 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]