Is it a Module or Is it a Project

Events happening in the community are now at Drupal community events on www.drupal.org.
bekasu's picture

I'm not sure whom to ask nor where to look for the answer to this question.

I've been working on the doc team and trying to help as best I can.

One thing that I'm concerned about are the terms Projects and Modules which seem to be used interchangeably.

Example: http://drupal.org/project has a link on it to Modules http://drupal.org/project/modules

Yet when you click on the http://drupal.org/project/modules link, you get a page titled 'modules' and the first line says you can get a list of
PROJECTS in alphabetical order.

Further, all links to Modules are actually in a path that does not contain the word modules ... the link is always http://drupal.org/project/xxxx rather than http://drupal.org/module/xxxx

This makes me think we shouldn't be using the word Modules if we are going to refer to everything as a Project - or we need to replace the word of Project with the use of Module.

Comments

Projects vs modules

michelle's picture

It's sort of like a square is a rectangle but a rectangle isn't always a square. ;)

Projects are a lot of things: modules, themes, install profiles, translations, maybe more. They are files that are grouped together under a project page and distributed in a tarball. A module is one of those things. Actually, my analogy falls short here because there's not even a one to one relationship; a project can contain multiple modules as well.

So, in general, refering to things as "projects" is better and more all encompassing. In common lanugage, though, people will say "I'm looking for a module" or "I'm looking for a theme" and not "I'm looking for a project".

Michelle


See my Drupal articles and tutorials or come check out the Coulee Region

Here's how I think about it...

tordrup's picture

He! Here's how I think about Drupal modules and Drupal projects...

A project is a general term for a collective effort towards a particular goal or product. The product might be a module (e.g. "I wonder how the Views2 project is coming along?") The product might be something else, like a theme (e.g. "I wonder how the Zen project is coming along?")

A module is a specific term for a type of project. e.g. "Wow, there are a lot of modules that will need to be upgraded before I can use Drupal 7. Maybe I should jump in to some of the projects."

I think the main source of ambiguity is this: As in any product development effort, the name of the product is often used interchangeably with the name of the project (e.g. the 8-ball module is the product of the 8-ball project).

With regard to URL structures:

Project types (themes, modules, and the Drupal project itself) are listed here: http://drupal.org/project. All the "module" projects are listed here: http://drupal.org/project/modules. So far, so good: "project" is the top level of the hierarchy, "modules" are one step down.

But what about each module's URL? (e.g. http://drupal.org/project/xxxx). Well, I think this just proves that trying to figure out information architecture with URL patters usually ends in frustration. :)

All just my own half-baked ideas, of course.

Best regards,
Dave

The sad thing

earnie@drupal.org's picture

But what about each module's URL? (e.g. http://drupal.org/project/xxxx). Well, I think this just proves that trying to figure out information architecture with URL patters usually ends in frustration. :)

The sad thing about this statement is that even though one could create in CVS contributions/modules/foo and contributions/themes/foo the project URL can't support both. Then once the developer discovers what happened he has to open a ticket for someone else to do a directory structure change in the CVS repository.

bekasu's picture

Based on what info you've provided, this node http://drupal.org/project/modules which has the following:

You can also view an alphabetical list of projects that includes all projects but only their names.

should actually say

You can also view an alphabetical list of module names.

The link for 'alphabetical list' would be to the node: http://drupal.org/node/206666 which in fact is a complete list of modules rather than a list of projects.
If the link was actually a list of projects, I should see names of translations, installations, drupal core, and themes.

The takeaway - I should change the words as above in bold.