[dancer-users] Namespace for load_app modules

sawyer x xsawyerx at gmail.com
Sun Dec 8 13:36:26 GMT 2013


I'm sorry, Henk. I'm not sure I understand your email.


On Sun, Dec 8, 2013 at 2:15 PM, Henk van Oers <hvo.pm at xs4all.nl> wrote:

>
> On Sun, 8 Dec 2013, sawyer x wrote:
>
>> I think that namespace would be a problem for a few reasons:
>> - we don't know if we'll end up using it for something
>>
>
> I know you will not if you give Dancer::App::Usergroup to me



We don't "give". It's CPAN. First come, first serve. If you upload
Dancer::App::Henk to CPAN now, it's yours. We can't control that.

What we're doing here is conversing and trying to decide together on
something that makes sense.



>
>  - it's very generic
>>
>
> Yes. Like Dancer::Plugin
> And I can make any plugin.


That's not the same. The Dancer::App namespace is used by Dancer
internally. The Dancer::Plugin is a namespace to allow user plugins. Moose
uses MooseX, we use Dancer::Plugin.

Also, we have already asked in the past to not use generic names for
plugins to allow other people to have room as well, and to make sure we
don't crowd possible generic namespaces. That's why we renamed
Dancer::Plugin::Authorize to Dancer::Plugin::Auth::RBAC.

So Dancer::App and Dancer::Plugin are really not the same.



>
>  If someone wants to create the same thing ("hey, I want a mailman in
>> Dancer too"), you basically get a clash. Now you'll have
>> Dancer::App::Mailman and Dancer::App::Perlman and
>> Dancer::App::Mailman::Faster, etc.
>>
>
> Yep. Just like in the Plugin namespace.



Which is also why we renamed Dancer::Plugin::Authorize. Which is also why
we had an entire discussion and asked people not to pick generic names. The
benefit is that you at least know it's plugins under Dancer::Plugin,
whereas Dancer::App is used by Dancer itself.



>
>
>  The best approach, IMHO, is to give your project a name (like "mailman"
>> is the name) and use that. This is what Starman, Twiggy,
>> Dancer, Mojo, etc. do. We all give our projects names and release them
>> under those names.
>>
>
> No we dont.



"We" as "Starman, Twiggy, Dancer, Mojo", yes, we do. Perhaps you don't, but
you asked for our advice, and this is our advice. We kindly request that
you do not use anything under Dancer::App because it's not the proper place
for it, in our opinion. If you want to do it anyway, we can't stop you.
It's Perl after all. :)



>
>  Also, another general note: web applications don't really fit the CPAN
>> structure. I think every web framework (including Dancer)
>> gets this wrong. Our installation tools are not suited for this type of
>> program. We do our best (sort of) to allow easy
>> encapsulation but it's still the wrong approach. I don't think anyone
>> figured it out yet in Perl-land.
>>
>
> I figured it out.
>


I'm not sure we mean the same thing here.
Do you mean you figured out how to distribute web applications easily with
the CPAN toolchain? I'd love to hear how.



>
> You want me to clame Dancers
> and one of these is Dancers::Usergroup
>

I don't understand these two sentences.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20131208/f57fb621/attachment.html>


More information about the dancer-users mailing list