[jifty-devel] plugin cleanups

Shawn M Moore sartak at bestpractical.com
Tue Mar 11 10:20:15 EDT 2008


On Tue, Mar 11, 2008 at 05:33:43PM +0800, Chia-liang Kao wrote:
> with the increasing numbers of jifty plugins being committed to the
> repository, I think it's a good idea to come up with some guidelines for
> maintaining plugins, and more importantly, keep the core jifty modules slim.

Yes! Totally agreed.

The Jifty install process is currently pretty nasty. Anything we can do
to decrease the amount of time from "hey this framework looks kinda
neat" to `jifty server` would be great for getting people to try Jifty.

Desyncing is an issue, but guarding against that is one of many reasons
to write good tests. Updating Jifty on CPAN is unfortunately a day-long
process. Breaking out plugins so they can be uploaded separately
*would* help Jifty itself be uploaded more often.

As an experiment, I tried factoring out the OAuth plugin (which is
sizeable and has nearly all of the components of a plugin) into a
separate dist. It wasn't difficult at all. The trickiest part was making
the tests work:

* Removing "use Jifty::SubTest" (which `cd`s into the testapp directory so
  Jifty uses the right bin/jifty for locating the top-level directory of
  the app)

* Fixing a slurped file to be relative to the plugin's directory, not the
  testapp's directory.


As far as what plugins we should be including in core, I'd suggest going
about as lean as possible. Here's my first pass:

    AdminUI
    Authentication::Password
    CompressedCSSandJS
    ErrorTemplates
    I18N
    OnlineDocs
    SkeletonApp
    User

Basically, anything that people should be using, or which helps a lot in
the first hour of playing with Jifty.


Let's encourage a culture of plugins (hi Jesse :)) by working with
Perl's greatest strength.

Shawn M Moore



More information about the jifty-devel mailing list