[MKDoc-dev] Client-specific Plugins

Sam Tregar sam at tregar.com
Sun Jan 30 20:43:29 GMT 2005


Hello all.  I'm working on a client-specific registration system and I
want to make sure I'm doing things the right way.  So far I've created
a replacement for the account details plugin
(flo::plugin::Account::Details).  I've called it
"flo::plugin::Frobnitz::Account::Details" where Frobnitz is the name
of the client.  The I create a template directory for the new plugin
called templates/frobnitz/account/details.

To get the plugin to load and run I modified
conf/plugin_subscribe.conf and conf/www.conf.  To direct users to this
plugin from the registration email I modified
templates/account/emails/subscribe/en.xml to point to my module.

My question is, am I making these changes in the best way and the best
place?  If I continue on this path at the end of the project I'll have
a big patch with a lot of new code and a few changes to the core MKDoc
code.  That seems workable but not ideal.  Is there a better way to
create and package client-specific customizations like this?

In case this just isn't making sense, maybe I should explain what I
was expecting to find.  Krang (http://krang.sf.net) has element sets
and add-ons.  When we wanted to make a client-specific configuration
we'd create a new add-on with a new element set.  Then to use it in an
instance of Krang I'd:

  krang_addon_installer Frobnitz-1.00.tar.gz

That installs the Frobnitz add-on v1.00 into Krang, which most likely
contains the Frobnitz element set and some code to do any needed
configuration changes automatically.  It might even contain fancy
stuff like a new skin or new database tables.

-sam



More information about the MKDoc-dev mailing list