[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New Config::Model 2.001 with new command: cme



On Mon, Feb 6, 2012 at 7:06 AM, Dominique Dumont <domi.dumont@free.fr> wrote:
The main change for users is the deprecation of the config-edit program in
favor of cme. Instead of using options, this cme uses command keywords like
git, so users will have more possibilities while typing less.

Does Config::Model's cme command also implement git's plugin architecture? For example, my understanding is that installing a binary as "git-svn" allows you to execute it as "git svn", thus appearing like a plugin to the git command. It means that people other than you (the Config::Model maintainer) can add subcommands for cme, which may or may not be a good thing.

Next step: the Debian package model is becoming quite big and drags a lot of
dependencies. I'm to extract it out of Config::Model and ship it in its own
Perl distribution of CPAN.

I hope it will be listed as Recommended in the META.yml :-)
 
Which raises the question of naming. The name Config::Model::Debian::Dpkg does
indeed decribes what *is* this component, but it does not tell people what it
can be used for. So I'm thinking about naming it App::Debian::PackageEditor
(even though it will not ship an executable file).

There are really two questions here: the change from Config::Model::Debian to App::Debian, and the change from Dpkg to PackageEditor.

To address the first question, I don't think changing Config::Model::Debian is a good idea, because it is a plugin meant to be used with Config::Model. I suppose you could bundle it as something else, but doesn't that defeat the point of the newly introduced "cme" command? I would only put things under the App namespace if it came with an application, and generally from what I've seen recently, things in the App namespace are called things like "App::perlbrew" with a matching "perlbrew" command. The newly proposed App::Debian:... does not make it clear which command line program needs to be run to use it, so I don't think it belongs under the App namespace.

To address the second question, the change from Dpkg to PackageEditor... I don't know if Editor is really the right terminology for Config::Model plugins -- they can be used to create dpkg control files, modify dpkg control files, as well as read dpkg control files (you could use it read-only). I think Dpkg is an appropriate name because, while it doesn't convey all the information a new user might want, the description could be used for that. (e.g. Config::Model::Debian::Dpkg - model for Debian control files used by dpkg). Most people who need to work with Debian packages already understand "dpkg" (the command) at minimal anyway, and hopefully if they are modifying control files, then they know what dpkg control files are too :-) I think the presence of "Debian" in the name already makes it abundantly clear what this is for (personally I might have called it Config::Model::Dpkg)

My 2 cents (may be less or more in Euros)

Cheers,

Jonathan

Reply to: