[development] hook_depend()

Adrian Rossouw adrian at bryght.com
Sat May 27 19:41:00 UTC 2006

On 27 May 2006, at 3:20 PM, Doq Doques wrote:

> Hi. What about implementing hook_depend(). I mean module that depends
> on some module (e.g. taxonomy) must define
There is a patch on drupal.org that does this already.
It has the problem that you need to load the module to get this, and  
at that point it's already too late.
You need to be able to build the dependency tree without the module  
being loaded.

I have code in the bryght svn* that does this through introducing ini  
files in each of the module directories,
including multiple types of dependencies , ie: depends, suggests,  
recommends (like debian does it).

This code will also support stuff like virtual packages (ie:  
provides: installl-profile) , for putting together
install profiles and things.

At the moment progress on dependency.inc has stalled a bit, because  
me and vlado are busy working on the
proper split mode for templates  (in the same repository, as each  
module in it's own directory is a requirement for
both, and i am implementing the dependency stuff in  
dependencies.module* first).

I hope to get back to dependency.inc soon, as the most basic setup is  
very simple. The code can already scale the dependency
tree and find missing dependencies, but at the moment it is only  
testing if the module is available, (ie: in the modules directory)
It needs to make a distinction between modules being available,  
modules already enabled, modules being enabled in the same
step, AND it also propbably needs to have some knowledge on whether a  
module is installed already.

I still need to integrate the dependency checking with the form_alter  
interface provided by dependencies.module too (although
the library is working fine).

bryght svn :
(in the repo it's in the /templates branch)

Dependencies module:

> Also when user disables taxonomy module then he/she will be told that
> modulename depends on taxonomy module and so modulename will be also
> turned off.
That's wrong, there's definite user interaction there (ie: yes/no)

in fact, probably the hardest part of the dependencies project is  
intelligent user interface
design for the modules screen.

Adrian Rossouw
Drupal developer and Bryght Guy
http://drupal.org | http://bryght.com

More information about the development mailing list