For all those modules that are in a class of their own...

05.16.2007

Update: Check out Boris Mann's ideas on the subject. They are better thought out than the ones I shared in this post.

While studying the mystic ways of jquery, I noticed something: Jquery has granted some plugins an "offical" status. Its easy to inference that these official plugins exist because:

  1. They provide a robust solution to a common problem.
  2. They're code quality is top tier.
  3. They are too specific, and too large to include in core jquery.

The "official" status seems to work well for jquery plugins. There are a large number of plugins that are extensions of extensions, which obviously reduces duplication of efforts.

It seems to me drupal could gain quite a bit from honoring a select few of its contributed modules with an "official stamp of approval". As for who decides what is an "official" contribution, I'd imagine the core developers would be up to the task. 

Having a top tier of contributions would have a host of benefits, including:

1. Having authortive list that guides new users to the best, and most commonly need contributions that drupal has to offer.

2. Providing module developers with a tangible incentive to write modules that have quality code, and solid apis.

3. With the honor would come the responsibility of keeping the module secure, free of show stopping bugs, and in compliance with the latest drupal APIs.

4. The higher prominance of official contribs would encourage more contributions, more extension modules (e.g. calandar for views, date for CCK), and less duplication of their efforts.

5. My obsolete list of 10 modules from 2005 would quickly lose popularity.

As for what modules would make to official status, there are clearly some obvious candidates, that in my expereince do a certain thing better than anything else available:

  1. CCK
  2. TinyMCE
  3. Event
  4. Location (does it work in 5 yet?)
  5. Devel
  6. SimpleNews
  7. Views (put last so everyone knows this isn't in any particular order)

To bad people have to digg through the assorted ramblings of myself and others to find out about them.

***

Jquery's offical plugins are a great example of compromise. They offer a quick way to find the best solutions that jquery has to offer without bloating the underlying framework. At the very least, there's gotta be a better filter for the best drupal modules than some random schmoe and his blog.

Comments

Cool fun. Like me. Thanks. I

Cool fun. Like me. Thanks.
I like freshly baked cake ciasto very at home. Greetings.

Other Improvements

I like this idea. There have been some good points brought up about who would decide this and who would dedicate there time. I don't think it would take alot of time though.

The leaders of the community know which modules are of higher ranking than others. Especially those leaders that work with the code everyday. Maybe not brand new ones, but certainly ones in use. Lullabot put together their top 40 in a podcast.

I think some kind of ranking would help newbies like myself. Especially, if that ranking was put togother by experienced Drupalers. It would save so much time finding the right modules to use.

I also think that two usability points could be improved on module area of Drupal. One, search box that searches only modules on the module page. Two, categories that make sense to Drupal newbies. For example, there is not a navigation category, but thats where I would want to look for a module that does navigation on my site.

Thx.

Thanks for the article

Very intersting article. Thanks. It makes me think more.

article

Thank You for another very interesting article. It's really good written and I fully agree with You on main issue, btw. I must say that I really enjoyed reading all of Your posts. It’s interesting to read ideas, and observations from someone else’s point of view… it makes you think more. So please try to keep up the great work all the time. Greetings

The idea is good but the devil is in the details

Who is going to spend time to stamp these? Especially with them changing all the time... and what the hell has tinymce has to do with good modules?

I wonder how jquery

I wonder how jquery decided... its probably relatively casual: finding a sensible solution, and loudly declaring: "This is a decent approach to the problem". Lord knows decent approaches to problems like wysiwyg editors are hard to come by... much one that works in Safari. And come on, you know there are some modules that we all know someone needs to use before the make their initial judgement of drupal. Does CCK, and Views need a stamp of approval?

and the tinymce comment cracked me up... tell me this: know a better alternative?

Integrating part of cck's

Integrating part of cck's functionality in Drupal core is a clear Drupal statement pro cck. In a video recorded at this year's fosdem I think, Dries also proposed to include some features of the views module in Drupal 6. These are alternative approaches to promote certain modules that do a great job.

My 50 cent about tinymce
For a recent Drupal project I needed to bother with tinymce. I really do not like this editor. The Drupal module does a great job to interate tinymce but nonetheless tinymce itself brought up many problems. I personally do not use any WYSIWYG editors but for another project I used fckeditor. Benefits of fck are an included file manager and the possibilty to set up content templates with it.

Might give FCK another shot.

Might give FCK another shot. Last time I reviewed it it looked superior at first glance, but the client in particular seemed to have a typing style which was incompatible with FCK (lots of deletes after returning a paragraph, and so forth). In the end, I told him to choose and went with TinyMCE.

Would be nice

I think it's a good idea. When I was new to Drupal last year, digging through to huge amount of modules trying to understand which ones were popular, well maintained and useful was overwhelming. Usually the best way was to look at blog posts and information outside drupal.org.

Always vetoed

This is the "golden contrib" concept that's been brought up at least 4 times in the past 2 years. Dries has rejected it every time. I think it would be a great idea, personally, but those capable of implementing it remain opposed.

Am hoping...

...that the improvements that dww, merlinofchaos, and others are planning to bring to the project module (in terms of quantifying number of downloads, etc) will help improve this situation you describe. Imho, with the 400 gazillion+ contributed modules available for recent releases, it will be be caveat emptor for a quite while into the future (e.g., good site admins/devs will check the issue queues and/or google the modules they're interested in *very* diligently).

Totally agree. I am in 100%

Totally agree. I am in 100% agreement that offering a combination of download statistics + and other metrics up front is a good start. However, what worries me about using downloads, user ratings, or attempting to quantify bugs vs fixes is that the most ambitious projects might be buried early on.

Deep down, I feel, that what's most needed is editorial descretion by people who look for things like whether a module approaches a problem in such a way that their solution could be extended easily, in all the right places, and none of the wrong places. I think there might be 12 people in the world who can (i'm certainly not one of them).

Case and point: the solid api, support of core developers, and long nights of CCK developers have created a module that has spawned an entire universe of extensions: http://drupal.org/project/Modules/category/88

The idea hampster I'm throwing out is attempt to encourage, and support modules that have the potential to do something similar. And its just an idea; its value will be determined by whether it plants seeds in the right peoples mind.

Either way, I hope no one is offended by all the hamsters I fling....

Please for the love of dog

No more layers of exclusivity than necessary please. No offense meant, but points 1-5 don't add up to much for me. There are a lot of ways to acknowledge the excellence of contrib authors...

Filters like blogs are great

Filters like blogs are great for bringing attention new developments, new projects, and new ideas. As for helping those who haven't been full time drupal developers for more than a year, they fail on a number of levels:
1. Depth of review -- many modules look great at first glance. Only over time do their sometimes fatal flaws become apparent.
2. Most developers with a blog don't have time to audit their opinions of past. In the world of drupal, modules that are awesome, and appeared to be great one day, fall into disrepair, or are replaced a few months later.
3. I think questions of code should be left to an exclusive group. All solid open source projects are staunch meritocracies. The only reason I'd ever think that drupal should be a democracy, is if drupal had the ability to use deadly force, or imprison its users and contributors (e.g. democracy is great for governments -- but, its a poor way to make decisions in most circumstances)

I stand by my original point that such a tier would:
a. help new users find the best that drupal had to offer.
b. give more momentum to drupals most important projects
c. add incentive to write modules with good api's and clean code
d. hold certain projects to a higher standard
e. reduce duplication of efforts

At the very least, its hard for me to believe that there is much benefit in presenting all modules as equal. In fact, I'd go as far to say that less than 30% of contributed modules are actually usable in a production environment.

Do you really think that the prominence of a module at drupal.org should be based on the alphanumeric ordering of its name -- because that is inclusive?

and so?

At the very least, its hard for me to believe that there is much benefit in presenting all modules as equal. In fact, I'd go as far to say that less than 30% of contributed modules are actually usable in a production environment.

Who would you delegate to do this magic review and decide on this stamp of approval? In order to vet contrib modules we would have to;

  • pass them through the Security group
  • someone would have to perform a a code review
  • in order to be fair, above code/security review would have to include all contrib modules
  • which 30% in whose environment?
  • Do you really think that the prominence of a module at drupal.org should be based on the alphanumeric ordering of its name -- because that is inclusive?

    Yes. Because anything else means that someone has to do all the above. Doing it makes the barrier to contribute very high. And if someone was doing all of the above, what will they no longer do that they are doing now?

    Drupal's most important projects become that way because they are found, they gain a following, and it builds on the community. That is how those important contrib modules come out of nowhere to impress people and become those important modules.

    Resources are the bottleneck. Even more so are skilled resources. We have so few as it is that actively contrib back by actively contributing their actual time and skills to drupal.org itself that there flat out is not enough resources to do this in any sort of consistent manner over the long term.

    Out of curiosity, do YOU volunteer to do all the code review? For over 200 modules? And the security review? Many people have ideas, but the sustainable ideas are the ones that will provide tools to automate this.

Out of curiosity, do YOU

Out of curiosity, do YOU volunteer to do all the code review? For over 200 modules? And the security review? Many people have ideas, but the sustainable ideas are the ones that will provide tools to automate this.

Well, I wouldn't volunteer to do all the work. Nor should we need to review every module be default. However, I do already regularly review contribs at my job, with an eye for extendibility, and stability (not necessarily security, only blatant mistakes will catch my eye). And a hint, there's only a slim minority that even seem to be able to pass simple "does it work?" tests.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options