Randy W. Sims wrote:
On 12/10/2003 8:08 PM, Stas Bekman wrote:

Randy W. Sims wrote:

2) There is overlap between the (currently undocumented) 'provides' and the 'no_index' fields. I've reread the arguments on this, and while I agree with Ken that ideally we should specify what is provided rather than what is not, I feel this is one of those cases where the practical and the ideal don't sync. (This is kinda like the situation in Ruby, where methods are public unless specified; It seems bass ackwards at first until you look at how classes are generally written in practice.) I vote to document but deprecate the 'provides' field in favor of 'no_index'.



Please don't deprecate either of the two. There is a place and time for both keys, as you have observed. What's important is to define how they overlap.


For example Apache provides Allow and Deny directives to configure access permissions. You can read the spec on how the configuration overlap and override each other here:
http://httpd.apache.org/docs-2.0/mod/mod_access.html#allow
http://httpd.apache.org/docs-2.0/mod/mod_access.html#deny
Apache uses the Order directive to explicitly tell the overriding order:
http://httpd.apache.org/docs-2.0/mod/mod_access.html#order


I think META.yml could mimic that behavior 1:1.

Also I'd be in favour of having more consistent naming than 'provides' and 'no_index' if they are kept together. So for example either 'provides'/'hides' and index/no_index or similar.


Oh, bother.

I don't really have an objection to having both, but I'm not sure what the best solution is: Currently, Module::Build generates the 'provides' field, not sure what EU::MakeMaker or Module::Install generate. Many META.yml files are using 'private' & 'no_index' (see <http://search.cpan.org/dist/Module-Install/META.yml>). IIRC, PAUSE and possibly search.cpan.org are using 'private' and/or 'no_index'.

The good thing is that they're all in violation of the current spec. <http://module-build.sourceforge.net/META-spec.html>. :-)

I think I'd be inclined to vote for 'index'/'no_index' or 'public'/'private', since they are known to be in use.

'public'/'private' was my choice when we discussed this issue on p5p.


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



Reply via email to