I've begun work on a similar module to Contact Directory for my work. The goals are pretty much the same as Contact Directory, except we want the module to be as user-friendly as possible, allow new fields types to be created/deleted easily, and have a summary page for each entry. We looked at the contact_dir module and decided it wasn't user friendly enough (the people who will be managing the directory can barely manage html).

Anyway, eventually I'd be interested in releasing this module to the community. I don't want to release the module if its functionality is almost identical to another module, so I was wondering; is it possible to write modules that expand on other modules? If I were to release this code, would it be better to modify it so it expands on contact_dir, or just release it the way it is now?

My work wants me to develop for our needs, so I'll be writing the module to be independent anyway. But since I would like to release it to the community, i'm wondering if it'd be more beneficial to have similiar modules, or a module that adds functionality to another existing module.

Comments

sun’s picture

Always improve existing modules. It wouldn't make sense at all to have another module with almost the same functionality.

If you speak of functionality in technical - not cosmetical - terms then coding with Drupal hooks might be a additional solution for your request. I'm not a developer so far, so I can't tell you how hooks work - but the Drupal manual should do it.

In cosmetical (you mentioned HTML) terms you should consider creating a patch for the existing CVS version of the contact_dir module.

Daniel F. Kudwien
unleashed mind

Daniel 'sun' Kudwien
makers99

sepeck’s picture

See if the existing maintainer would be willing to collaborate. This has been happening more and more. The existing maintainer may also be looking to give up the module to someone more interested in extending it, then again maybe not.

http://drupal.org/node/23789

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain

-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide

Gerhard Killesreiter’s picture

Extending modules is a good idea. There are mainly two possibilities:

1) using the menu hook you can add your own menu items to existing
menu structures. It isn't widely known but you can actually replace existing menu items if your module is run after the one you are trying to enhance.

2) using form API you can replace, change, or add to any existing form.