[dancer-users] Namespace for load_app modules
yanick at babyl.dyndns.org
Mon Dec 9 00:13:20 GMT 2013
On 13-12-08 06:41 PM, Henk van Oers wrote:
> WE want a namespace.
Only jesting, only jesting... Okay, let's try this again from the top.
If you wish to publish a full-fledged application, which the
Amsterdam.pm seems to be, then what I would consider the right place is
App::Amsterdam. Sawyer was right when he was saying that CPAN is
historically not tailor-suited for applications, and so far I think the
App::* namespace is the closest we have of a place for packaged up
This being said, I would *strongly* argue that App::Amsterdam should not
be pushed to CPAN in its current form. This is a very specific website
that can't be reused as part of something else, or really used as-is by
anybody but you.
On the other hand, if you want to morcel and publish pieces of the
Amsterdam app that could be reused (a forum controller, a mailing list
interface, etc), then the typical way nowaday is to package that into a,
e.g., Dancer::Plugin::Forum module.
Now, it is true that Dancer has that concept of sub-apps that can be
used via 'load_app'. I have yet to see somebody package functionality
leveraging this mechanism instead of the plugin infrastructure, but I
can see that it's totally possible -- and now that you have mentioned
it, I'm intrigued. But, closer to the point, if you do have something
that you can't wrap as a plugin -- and for the moment it seems this is
not the case -- then as mentioned before Dancer::App::* is an iffy
namespace, just because of the way we have layed out the design so far.
If you do really have something that will make more sense to package as
a sub-app, then dams's suggestion of using Dancer::Component::* would be
the sanest way to go.
So, to recap:
full application? App::Stuff
Add-on to Dancer to make it more awesome? Dancer::Plugin::Stuff
Brand new concept that can't be wrapped in a plugin? Perhaps
Dancer::Component::Stuff. But I strongly suggest that you bounce the
code in here, as I'm pretty sure we can help you to coax that strange
mutant into a more mundane plugin.
More information about the dancer-users