Contributed Module Ideas
When a developer has an idea for a module, they are often not the only one with that idea.
By announcing module ideas here, this group aims to:
- Reduce module duplication. We can prevent two independent developers from writing separate, duplicate modules.
- Increase developer collaboration. We can get interested developers working together at an early stage of development.
- Improve module quality. Others can shape and improve the ideas, leading to a better module from the beginning (or, at the least, a better road map for future development.)
Before submitting a new module idea, please do a little research and search for an existing module with the same functionality.
Reference UUID Synchronization
I've written a module that maintains relationships between a node and all of its "reference fields" across multiple Drupal instances, based upon the UUID of the referenced entities. The "Node export relation" module didn't quite cut it for me (even after modifying it), and I never found anything else that seemed to fit the bill.
I'd like to share this via a Drupal project, but first wanted to check if the module is actually useful, and whether it doesn't overlap with another one (didn't really find one that truly covers the same topic).
Page view rates per user
Having searched and searched, I've been unable to find any module which will give me an idea of how many pages a user has viewed over a selected time period.
Q: Why would I want to know?
A: We have a premium content site on which we've seen some trial users blasting through thousands of pages faster than they could read or print them. We have suspicions that they might have their own bot which is grabbing every thing it can. In any case, we only notice this by spot checks.
Content Type for Administrators
When working on large sites with many similar content types, I often find myself on an individual piece of content and don't have any idea what content type was used for it.
Would be a nice convenience to provide a field that is only visible to administrators on the node display and node edit screens to let them know what content type is currently in use.
Select nodes by complex taxonomy expressions
For a client I'm working on module that allows to display a taxonomy based selection of nodes (as a view) in another node's content. This is accomplished in three steps:
- a field that can be attached to a node. For now it allows to store a taxonomy selection like: (tid1 AND tid2 AND …) OR (tid3 AND …) OR …
- a views argument handler for nodes that filters nodes by a tid expression like: (IN(t1,t2,…) AND IN(t3,t4,…) AND …) OR (IN(t5,…) AND …) OR …
- a field formatter that uses the selection of 1. to feed it into a views argument from 2.
Link quality checker for comment/node bodies
Someone asked me how they can prevent a malicious user from adding a comment or node with a link to malware. They are concerned that while the editorial staff is asleep someone will add a link with text like "install this software."
One solution I had was to use public black lists to identify links that point to malware.
- Have an interface to select which content types should be checked and whether comments should be checked
- in hook_node_insert/hook_comment_insert parse the content for links
idna.module: Internationalized Domain Names conversion API
Hi,
There is a good class of Matthias Sommerfeld under LGPL (called idna_convert)
http://www.phpclasses.org/package/1509-PHP-Convert-from-and-to-IDNA-Puny...
I would like to create a simple wrapper for two main methods, such as decode and encode.
Because as I know there is no another project on Drupal.org that allow to convert Punycode to UTF-8 and v.v.
In addition I want to include Matthias's class in the module folder and commit it together with module
instead of put it in sites/all/libraries folder.
Tools to Help Coordinate and Fund Community Initiatives: The Snowball Code Sprint
Thanks to the leadership of Allie Micka and R.J. Steinert, the Snowball initiative to provide tools for coordinating and funding Drupal initiatives is coming to the Boston area this long weekend for its first code sprint.
We will focus on building a working alpha so we have something real to share for feedback, to refine, and to build process, message, and governance around.
We'll be working on Friday November 11th, Saturday the 12th, and Sunday the 13th starting at 10am on Friday and no later than that on the weekend days in Somerville, Massachusetts.
If you can dive into helping build this, contact rjstatic or contact mlncn for directions to the venue.
Module Suggestion for my Senior Design Student Project
Hello everyone. I'm a final year IT major and for my senior design I have decided to redesign a non-profit organization Web site using Drupal. My background is in .Net Framework but I have been playing with Drupal and I have a developed lot of interests. The non-profit organization is a chapter based organization, which has 1-3 chapters in every state and some parts of Africa, Europe and Canada. My academic adviser has approved the project BUT said that I will have to develop two custom modules. I have never develop any module before. Any suggestions/ideas will highly be appreciated.
create a facebook event for newly created node
hi all,
we just finished a module that automatically creates a new event on facebook for a given cck content type node. it targets page owners who maintain an event calendar on their page that should be "mirrored" to their facebook fan page.
so far the module allows to be attached to an existing content type that provides at least the necessary fields for a facebook event (date, time, location, image/flyer, name and description), or a newly created content type that comes with the module.
Crowd wisdom countdown
Here comes another slightly weird module from me:
Demo: Crowd wisdom countdown

It lets users vote on the point in the future when some event might happen and displays a countdown to the average of all votes. On a side note, this is another case of a module growing out of a forum thread.
stapler.module: Parameterized inheritance (TM) and code generation
Consider you have a class named "DbSelect".
Objects of this class allow the following (among other things):
<?php
$select->where("x = 5");
?>Now you as a module author are not happy with this. You want to add additional methods, but the class definition is packaged in a contrib module that is not yours.
You could suggest a patch, but maybe the maintainer is not interested.
Make update.module more social
Module (and theme) list in vanilla Drupal installation (admin/modules and admin/appearance) lack communication between module maintainers and users (site developers/admins).
I would like to build a module that will enrich module list with links to appropriate issue queues, options to submit new issue (with optional list of enabled modules attached to help problem resolution), documentation etc.
From maintainers perspective, it will be nice to have feedback tools - i.e. ask module users if they want specific feature, or what technical solution they prefer if there is a dilemma, and so on.
htmltag.module: html tag attributes as a PHP object.
I am using this quite a lot on custom modules already.
<?php
$li_attr = htmltag_attributes();
$li_attr->addClass('menu-item');
$li_html = $li_attr->LI($link_text);
$ul_attr = htmltag_attributes();
$ul_attr->addClass('menu');
$ul_html = $ul_attr->UL($li_html);
// or using __toString()
$ul_html = "<ul $ul_attr>$li_html</ul>";
?>What is the benefit compared to string html definition?
- automated drupal_attributes() and check_plain().
- no more explode(' ') and implode(' ') to deal with classes.
div_hide module development
Hi,
I am thinking of making a module that would allow an administrator to give div name a backend.
On the front end the elements under the div would hide.
upon clicking the div these elements would show up.
Is it a good idea to develop it.
I know it is pretty simple to do it but for newbies like me it could be a timesaver.
Idea: Static html to theme generator
I've been searching for a module that would help generate a theme out of a static html file.
So fare all i found was the module Theme Generator. But in addition to being abandoned its not quite what I'm looking for.
I think the module would work like this:
<
ol>
pageapi.module - providing a place between hook_init() and hook_preprocess_page()
I just created a project for a module I am already using locally.
http://drupal.org/project/pageapi
The module hijacks template_preprocess_page, and calls its own hook, hook_pageapi(). This hook runs after hook_init(), and after the page callback, but before any other preprocess page stuff. This is the ideal place for things like drupal_add_js(), especially in cases where we want to keep this out of hook_init().
In the future, I would like this to become the starting place for alternative js and css aggregation, at least on D6.
See also
Make menu links load into a block using ajax
i need this for my site but i couldn't find it.
i've got a panel with a menu on one region and a block on the other region with load the node's content.
i've couldn't find a way to make menu links load into the block using ajax.
i thought it would be helpful if there will be such a module.
Front-end Slashdot Effect Optimizer
I've been working on the content/slides for my presentation (Front End Performance) in a week and I've been thinking about various trade offs for various situations. One of the more interesting ones has to do with a very popular page where 99% of visitors bounce off; aka the Slashdot effect. When something like this happens, the less open connections to your server the better.
Library module: Parallel non blocking http requester
The standard function for making a http requests in Drupal is drupal_http_request(). This works well for simple things. But if you want to send a request out & you don't care about the response back, this built in library isn't the best option; or if you want to do 10 requests at once the standard library isn't the best option either as you have to do each http request sequentially, one at a time.
Different field labels for singular and plural
For a recent project I had several fields on a content type, that could have one or more values.
For example if you have one link you want:
Link: http://example.com/.
But if you have multiple links in the same field, you want:
Links: http://example.com/foo, http://example.com/bar.
I was surprised I didn't find a module that does this, so I experimented with it in a sandbox project.







