[drupal-devel] [feature] Dependency system to solve forum without comment problem

chx drupal-devel at drupal.org
Sun Mar 6 02:00:29 UTC 2005


Issue status update for http://drupal.org/node/18447

 Project:      Drupal
 Version:      cvs
 Component:    system.module
 Category:     feature requests
 Priority:     normal
 Assigned to:  chx
 Reported by:  chx
 Updated by:   chx
 Status:       patch
 Attachment:   http://drupal.org/files/issues/depend_0.patch (3.6 KB)

I would leave associative arrays for the future. As we do not have a
package tool, there is little use of 'optional' -- I'd like to get this
into 4.6
After testing the patch, I have changed something, which I should not
have done, so another version is attached.


chx



Previous comments:
------------------------------------------------------------------------

March 6, 2005 - 01:55 : chx

Attachment: http://drupal.org/files/issues/depend.patch (3.22 KB)

As discussed on the developer list. This was surprisingly easy. There is
still an issue: t('The configuration options have been saved.') is
displayed more than once if there is a dependency forced module switch
on. I have tried something (you'll see) for some reason it does not
work. 
Number of page reloads can be decreased if Drupal could be
reinitialized after system_listing_save instead of redirecting but I
doubt this would be feasible.
Although I marked this is feature request, this is more a usability
issue (for the forum-comment dependency) and as a side effect it is a
useful feature, too (for any other module "bundles").
I want criticism! I'd like to get torn apart by wild animals. Heavy! 
Eaten by some squirrels.


------------------------------------------------------------------------

March 6, 2005 - 02:22 : clydefrog

Forgive me if I'm mistaken, but shouldn't forum_depends return an array?


------------------------------------------------------------------------

March 6, 2005 - 02:26 : javanaut

I think allowing for both required dependencies as well as optional ones
would make it practical for a package management tool to be created.  I
like it, though, and I think being able to programatically enforce (or
at least notify users about) dependencies would assist users who refuse
to RTFM.
>From my drupal-devel comment, here's how I would suggest formatting the
hook_depends:

<?php
function filestore2_depends() {
 return array('required'=>array('fscache'),
'optional'=>array('taxonomy','comments'));
}
?>




------------------------------------------------------------------------

March 6, 2005 - 02:29 : chx

If you take a look at module_invoke_all, you will see that a string is
fine, 'cos if you return a string it does $result[]
However, an associative array is not good with module_invoke_all 'cos
for returned arrays there is an array_merge where "If the input arrays
have the same string keys, then the later value for that key will
overwrite the previous one."


------------------------------------------------------------------------

March 6, 2005 - 02:33 : javanaut

Ok, how about it taking a parameter?

<?php
function filestore2_depends($dep_type='required') {
$deps = array('required'=>array('fscache'),
'optional'=>array('taxonomy','comments'));
return $deps[$dep_type];
}
?>

 
Then, for required dependencies, pass a 'required' argument, and
optional ones could take an 'optional' argument.





More information about the drupal-devel mailing list