[Catalyst] Splitting up a large application: Shared config and templates for multiple applications

Bill Moseley moseley at hank.org
Thu Aug 27 15:46:13 GMT 2009

I'm exploring the idea of breaking up a large application into a number of
separate Catalyst apps.  The application currently exists of a base
application and a number of optional "products." For example, one product
might be to add a calendar and scheduling to the application.

The base application has layout templates that all "products" need to use.
So each app would need to share a template path.  Also, each product would
need access to application-wide configuration.

The reason I'm looking at this approach is so that different teams of
developers can work on the products, test products separately, and release
the products on different schedules.

Anyone building applications out of multiple small Catalyst applications
like this?  How do you set up the apps to share templates and a config?
Anything more interesting than passing in paths?

One downside of this approach is we end up with a handful of very similar
looking applications (same set of plugins, etc.), not to mention have to be
careful about how session data is shared, and so on.  I wounder if it would
be difficulst to customize the catalyst.pl script to include a standard set
of plugins/roles that we use in every application -- e.g. have a skeleton

Oh, just noticed:

$ cat MyApp/myapp.conf
# rename this file to MyApp.yml and put a ':' in front of 'name' if
# you want to use YAML like in old versions of Catalyst
name MyApp

ConfigLoader looks for lower case file names, right?  That is, shouldn't
that be "myapp.yml"?

-- =

Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090827/c7f5e=

More information about the Catalyst mailing list