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 : https://dev.bryght.com (in the repo it's in the /templates branch) Dependencies module: http://drupal.org/project/dependencies
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