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@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.