Name

  John Beppu

Email

  john.beppu@gmail.com

Project Title

  Squatting On Everything

Synopsis

  Squatting is unique among web frameworks, because it has the ability to embed
  itself into other frameworks.  This ability has been demonstrated with the
  Squatting::On::Catalyst module that shows that you can take a whole Squatting
  application and embed it directly into a Catalyst application.  (To see an
  example of this, take a look at the Pod::Server documentation.)

  I'd like to expand Squatting's range by writing adapters for more frameworks
  and environments.

Benefits to the Perl Community

  Imagine that you built a web application, and then imagine you wanted to add
  a blog, or a forum, or a picture gallery, or a store to your site.  What's a
  Perl programmer to do?  Web applications haven't historically been conducive
  to modular composition.  
  
  However, Squatting can change all this for the better.  Not only will
  Squatting let you embed whole web applications into your existing site, it'll
  even let you replace the layout of the Squatting application so that you can
  keep a common look and feel across the entire site.  The best part is that
  you don't have to throw away all your old work and join the Squatting cult.
  You can keep all your old work and make Squatting adapt to you.
  
  Unfortunately, these hypothetical, embeddable, Squatting applications have
  yet to be written, but even before we get to that part, I'd like to make sure
  Squatting can be embedded in as many places as possible.

  This will lay the groundwork for a future where adding major functionality
  to your web site will be as easy installing a module from CPAN and adding
  a few lines of glue code to your existing application.

Deliverables

  * Squatting::On::ModPerl1
  * Squatting::On::ModPerl19
  * Squatting::On::ModPerl2
  * Squatting::On::CGI
  * Squatting::On::FastCGI
  * Squatting::On::Jifty

    and for the grand finale...
    
  * Squatting::On::PHP (Yes, it's possible.)

Project Details
  
  This project is fairly straightforward.  For each framework, I have to
  translate the HTTP request info from their world view into terms Squatting
  can understand.  Then, after I let Squatting handle a request, I have to take
  the output and translate it back into terms that the original framework can
  understand.  Most of the difficulty in this project comes from having to
  learn how the foreign framework handles HTTP requests and responses.

Project Schedule

  5 weeks to implement and test the modules mentioned above is my conservative
  estimate, and I can begin work immediately.

Bio

  I am a programmer who has been using Perl for 10 years, now.  However, for
  the last 2 years, I took a trip into the worlds of Ruby and JavaScript to see
  what they had to offer.  I have recently returned to Perl, because I decided
  that it was time to implement the idea for a language learning site that my
  friend and I have been sitting on, and I believed that Perl (the language
  created by our favorite linguist/programmer) would be the most appropriate
  tool for the job.  I wrote Squatting so that I could write the language
  learning site with it, but now Squatting seems to have taken on a life of its
  own.

Amount Requested

  $1500.00

