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

Rodrigo rodrigolive at gmail.com
Wed Sep 2 16:03:17 GMT 2009

>> http://github.com/rodrigolive/catalystx_featurizer
> Nice :)
> I'll look into this more closely when I have chance (this week hopefully)
> and give you some deeper feedback.

Cool, I appreciate your feedback on this.

BTW, I've just now reblessed the module *CatalystX::Features* since the
"rizer" suffix is sortta of a in-joke here at $work... Besides it's 2 bytes
shorter ;)

So finally I put it here, with a little PODing in Features.pm:


Hopefully I'll have some time this weekend to cpanize this thing and do a
dev release.

> One of the things I've been thinking about significantly is how 'features'
> can ship templates in whatever the feature author's preferred template
> language is, but allow customisation of those templates (or, more
> importantly, of the fragments those templates are made from) in a differe=
> template language - so using feature X doesn't force the application auth=
> to have to use TT or Mason or whatever.
> I'm interested in your approach to this - given you've obviously thought =
> this (on some level at least), as you're already supporting TT and Mason.

I think I grasp the concept, but I haven't come across the need... just yet.

I guess it would take some abstracting while going from the app to the
feature and back. Or maybe it would need to trap some of the internal view
engines to capture that precompiled template, just before it get's evaled
and/or run into HTML or whatever the template becomes. Well, somewhere in
between the template engine and the Catalyst controller there must be a spot
where we could just talk plain perl and let things communicate regardless of
the templating engine in use.

Indeed you hit a sensitive note here. The "merging" of two parts (myapp +
myfeature) is quite complex. To the point merging could become a separate
module entirely. I even thought of separating parts of the module into a
different module called i.e. CatalystX::Merge, but I pulled back, at least
for now, to keep things concise.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090902/595f7=

More information about the Catalyst mailing list