Active
Project:
Module Supports
Version:
6.x-1.x-dev
Component:
Documentation
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
28 Oct 2009 at 16:02 UTC
Updated:
5 Apr 2011 at 14:48 UTC
Before this can become usable, I think there needs to be some clear semantic meanings for each directive.
For example:
What does 'supports' mean? Does it mean that it works well with the listed modules, or that it doesn't break any of the listed modules, or that it enhances the listed modules or any/all of these?
How do 'conflicts' and 'breaks' differ?
How do 'recommends' and 'suggests' differ?
How do 'supports' and 'enhances' differ?
Comments
Comment #1
yhahn commentedto follow up on this thought, here is what I came up with from a quick thought experiment
I cannot come up with ideas for suggests, enhances and breaks that are not redundant with those above.
Comment #2
ceardach commentedThis comment explains the meaning for each word well: http://drupal.org/node/328932#comment-2031276
Personally, I think that all dependencies should be installed and enabled before trying to install any module (my goodness that would make my life so much easier...).
I do agree that recommends, suggests and enhances may just be too much information. Especially since in the above semantic definitions of each, both 'suggests' and 'enhances' have the same meaning.
So, I dove into this issue because I actually want to auto install several modules if they are around. They aren't strictly dependencies, but if they exist I'd like them automatically enabled. I think I'll set it up so that any module that lists "recommends[]" in their .info will have those modules install if they exist.
Comment #3
dman commentedI know nothing about this module, but followed the core brainstorm a while back #328932: Modules and partial dependencies - enhances[] and enhancedby[] field in modules' .info.yml files
'Suggests' and 'Enhances' are two ends of the same relationship.
In D6,
Imagecache 'Enhances' Imagefield.
Imagefield 'Suggests' Imagecache.
If that's the case, then 'Suggests' sounds like a rephrasing of "is enhanced by".
However the difference between 'suggests' and 'recommends' comes down only to what someone was feeling at the time.
Any module that implements another modules hook or modifies another modules form probably "enhances" or "extends" it, so that's a measurable state. What the enhanced module feels about that is just down to personality. :-B
Comment #4
miro_dietikerI feel it is absolutely normal that...
maintainers (say cck/content) recommend and suggest modules...
But many many more other modules enhance those modules (cck) and provide proper extended functionality.
There's no need bo be approved (recommended/suggested by origin maintainer) but you're able to implement hooks (enhance).
It would be very clear to define "enhances" as "we implement hooks of", but we might see situations which don't apply perfectly.
Especially in an open community we will result in different states between recommendation/suggestion and enhances.
Comment #5
sunsubscribing
Comment #6
voxpelli commentedSubscribe.
I agree very much with this issue and I really think we should standardize the semantics upon accepted meanings from existing systems as I wrote in the main issue and which #2 referred to.
Comment #7
Thomas_Zahreddin commentedThe wheel has not to be reenvented:
pear has a nice package format and description ,
I'd suggest also to check Debian Packageing.
I.m.h.O. Drupal lacks a package-management-tool …
Comment #8
voxpelli commented@Thomas: I totally agree. The list in #2 is actually adopted from Debian - I think that's why it includes the somewhat odd "pre-depends". It's taken from http://www.debian.org/doc/debian-policy/ch-relationships.html which was linked to here: http://drupal.org/node/328932#comment-1120761