[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cgiapp] Preview Release available with callbacks code integrated


Hello,

I have now integrated the callbacks code from CGI::Application::Callbacks, and
am proposing the following as a release candidate.

I think I spent more time 'on the fence' about integrating callbacks
into the core than anyone. So I thought it would be worth explaining my 
thinking about accepting the patch now.

I was concerned that callbacks would add complexity without sufficient
benefit, perhaps making CGI::App more difficult to learn. I was also
concerned about their ability to hide what's happening from the user,
making it difficult to see the flow of what was going on, and thus
more difficult to debug.

Now I have greater sense of how the feature will be used. It will be
used almostly exclusively by plug-in authors, I think. For this reason,
I have nestled the documentation for the related methods in the Plugin
section: 

http://mark.stosberg.com/perl/cgi-app.html#writing_advanced_plugins__using_callbacks

I think it should be clear that unless you are writing a plugin or are
caught by the word 'callbacks', you don't need to read that section. 

I have also seen a number of plug-ins that can make use of this concept.  
My own plugin for Config::Auto can use it provide a simpler interface. 
Other plugins also have ways to exploit the concept to make things 'just work'
for the user. 

I still think they can be poorly used and abused to create confusing and
hard to debug situations. But I have also seen that well written
plug-ins can use the concept to take some tedious task and make it even
simpler and easier than it was before. For that reason, I think it's
worth moving forward with.

I see this leading the way to even higher level frameworks that bundle
CGI::App with several plug-ins by default to create an out-of-box
complete and easy to use solution for database-driven website
development. 

Here is the complete list of changes since the last release:

 - New callback system opens the door for more powerful and easy-to-use
   plug-ins. (Cees Hek)
 - Document new plug-in available:
   CGI::Application::Plugin::Stream helps stream files to the browser
 - Documented return value of header_props()
 - Use query() object to get PATH_INFO, to workaround bug in IIS web server. (Mark Stosberg)


Here's the whole distribution to download and explore.

http://mark.stosberg.com/perl/CGI-Application-4.0_01.tar.gz

Finally, you can access this code through my darcs repo. It's
so easy and fun to collaborate with darcs, I'm sure at least one of you
won't resist trying. Here's all you need to know:

$ darcs get http://mark.stosberg.com/darcs_hive/cgi-app/

$ cd cgi-app

# ...make your revision

$ darcs record

# send the patches back to me via e-mail
$ darcs send

More info:
http://www.darcs.net/

    Mark

-- 
http://mark.stosberg.com/ 


---------------------------------------------------------------------
Web Archive:  http://www.mail-archive.com/suppressed/
              http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: suppressed
For additional commands, e-mail: suppressed


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.