Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.
rymd2pv
Along with bot_rym, this is another piece of my time/task tracking solution built on og 2.x and field_permissions.
Panel Pane Contextual Links
Provides Contextual Links for pane configuration on Panel pages and allows you to set permissions for pane configuration links for site editors so that they have only access to pane settings only not entire Panel page.
Dependencies:
Tefiltro
Objective
D7 Tefiltro module improves the usability of your site through a process of term filtering. It hides from the "options list" of a "term reference" field, those options the visitor will not be able to choose under certain scenarios (Vide Scenario bellow).
It hides the options that represent terms not referenced at nodes authored by:
- current user
OR - members of the oldest organic group owned by current user.
Scenario
Visitor wants to choose driving (node drive) some of his several cars (node car) according to their colors (vocabulary color). Each car has a term reference to a color, but not all colors stored in the vocabulary represent the cars owned by Visitor. He would like to filter the select options list to the colors of his own cars, or to the colors of the cars of his friends.
Usage
Tefiltro filters the options list of a term reference filed in a node add/edit form. Configure admin/config/content/tefiltro. Fill the form with:
- Target Field,
- Origin Field and
- Target Content Type.
XML display
This module takes XML from any URL and transforms it via XSLT.
It can be useful, for example, in the following cases:
- Displaying XML information like weather, currency or the likes that there is no point in making into a node.
- Displaying XML informtaion from something that is not a RSS formed XML. (Generally the Feeds module and Feeds XPath Parser are better for XML that should be turned into nodes. Another module to consider is XML Views)
- When the developer really, really, really likes XSLT. However uncommon that might be.
The user enters a path and some xsl and a block is created that can be used.
Requirements
This module requires The PHP XSL extension.
Field Group Titles
This module extends the Field Group module by adding the ability to override the default title of a field group item (horizontal and vertical tabs, accordions, divs and fieldsets) on a per node basis. This means if you have a content type with 3 tabs, e.g. Movie Name, Lead Actor, Supporting Actor, you can create you can create field groups in the manage display, and override the titles like so:
Node 1
- Die Hard
- Bruce Willis
- Alan Rickman
Node 2
- Lethal Weapon
- Mel Gibson
- Danny Glover
The use case that prompted this module included 15 nodes of the exact same format with different tab titles, and it had to be easy for editors. Using Quicktabs for this case would have required each tab to be a separate node, and each instance would have been rendered as a block. So in the above example you end up with 6 nodes and 2 blocks, as opposed to just 2 nodes. Field Groups by itself would require a unique content type for every node where the group's label changes. This module allowed me to add 15 nodes with unique tabs on each using a single content type.
Requirements
joindin
This sandbox will contain a drupal module to interface a Drupal site with the joind.in website.
For what do we need this?
From joind.in's about page:
Joind.in is the replacement for all those paper submission forms that get left on the floor at the end of an event. The site gives details of events past, present and future, the sessions, timetable and speakers at each, and allows all attendees to register and leave feedback - for the sessions and for the event itself.
But we can do all this in Drupal. There's even a Conference Organising Distribution that will do this. For what do we need this?
- Data in Joind.in is persistent. I've been to Drupal events and found that six months later when I've wanted to remind myself what talks were given, who gave a particular talk, or see the feedback that the site itself has been torn down. On Joind.in, I can see all data for listed events going back to 2008. I can find every talk I've ever seen at a PHP conference at Joind.in.
- Because Joind.in stores data on many many events, it is possible to track speaker profiles across multiple talks and events, giving attendees a better insight into those presenting at your event, allowing them to make a more informed choice and increasing the profile of your speakers.
Views Data Export DBF
This project extends Views Data Export module with support for DBF files.
It supports batch and regular export provided as file.
Supported DBF file types:
- dBase III
- Visual FoxPro
Add support in future:
- dBase VII
- dBase IV
- dBase II
- Memo files
- Visual FoxPro Autoincremented
- FoxBase
- CDX
Installation instructions:
- Create a Data Export view
- Select output style DBF
- Add your fields to the view display
- Configure field types, length and precision in style setting.
- Use it as batch or regular file and that's it.
User Points Limit
This module allows an admin to configure a limit on User Points
for a certain defined window.
This module was inspired as for one of our client the community members spam the site with certain activities to accumulate points. The community admin wanted a provision to limit the points a user can acquire for a certain period. This can be achieved using this module.
This module is sponsored by UniMity Solutions Pvt Limited
Requirements
The module requires User Points for Drupal 7.
Future: To be able to configure limits based on user points categorization for a defined window.
Other modules: userpoints_cap which is a part of User Points Contributed modules provides a similar functionality. But here the limit can be set only per user and there is no option to set a limit for all users based on a certain duration. Also the module is in development for 7.
Commerce GGe4
Global Gateway E4 module
Module implements the First Data Global Gateway e4℠ Web Service API
Uses JSON and drupal_http_request
Current state:
Completes authorize+capture transactions in a test account, maybe also in a real account.
NOT YET IMPLEMENTED:
pre-authorize for later capture
HMAC Hash for API v12 (
SHOULD BE CHANGED/REMOVED/TESTED: “Test transactions in a live account” (I’m not sure if this is even a possibility with Global Gateway e4)
There are a few features that it doesn't yet have (most prominently: authorization with capture occurring later).
Error handling hasn't been fully tested, but I think it might work to some degree. The response codes in commerce_gge4_response_codes.inc might prove useful here.
Files likely needing the most attention:
includes/commerce_gge4.admin.inc
Capture form, validation, and submit handling. Especially the submit handling.
commerce_gge4.inc
Would need to add a capture() method and/or other variables and methods to facilitate Capture. This method would likely be called from the capture form submit handler in includes/commerce_gge4.admin.inc
Helpful links:
https://firstdata.zendesk.com/entries/407571-First-Data-Global-Gateway-e...
https://firstdata.zendesk.com/home
ChartGeneration
This module facilitates the following things: -
1) Importing Data from .xls file to Database.
2) store the data of individual sheets found in the .xls file as separate node contents.
3) Fetch the data from the database and convert it to json format.
4) Send the data to google through google chart API and draw the graphs.
Functionality:-
1) After installing the module a new menu link will be created as "Generate Chart".
2) After clicking the link it will display the first step of the form which in turns ask the user to select the node.
3) At second step the user can see different graph,chart according to their indicator and graph type selection.
Dependencies:-
Sheetnode Module
VBO Search API
VBO Search API allows to integrate VBO in a views using search API index. Be careful, it works only for nodes index.
This is a temporary module until VBO become a backend-agnostic Views field (#1334374: Re-use generic entity views table).
The current working code was first posted by drewish in #1123454: Integration with views bulk operations (vbo).
Installation:
This is not really out of the box but it works.
Get the dev branch of search API:
git clone --recursive --branch 7.x-1.x http://git.drupal.org/project/search_api.git
cd search_apiGet this patch, and apply it:
wget http://drupal.org/files/search_api-vbo-1123454-36.patch
git apply search_api-vbo-1123454-36.patchDownload and enable VBO Search API:
git clone --recursive --branch 7.x-1.x http://git.drupal.org/sandbox/AlexArnaud/1910528.git vbo_search_apiViews configuration:
Create your search API node index view And add the field Indexed Node: Bulk operations.
You're done.
Drupal Ladder view
This module is a feature containing a taxonomy vocabulary for the steps of your ladder, a view displaying the ladder and the content type for the people on it. It's used on my personal blog to show the progress of the Drupal Ladder we are carrying on the local community of Valencia: http://davidhernandez.info/drupal-ladder
Even if it was originally used for the drupal ladder, you can use it for any other ladder. Just add a different steps and edit the view.
Dependencies:
- Views
- Features
This feature doesn't include any theming or the steps for the ladder, you will need to add them.
Reverse Geocode Widget
A Geofield widget that provides way to fill geofield by just clicking on Google Map.
Features:
- Pick location on Google Map
- Reverse geocoding from coordinates to addressfield (optional)
- Supports single or multi-value Geofields (cardinality).
Installation tips:
- Choose Reverse Geocode Widget on your Geofield field.
Dependencies
- Geofield (1.x, 2.x)
- Addressfield (optional)
discord
Forums are terrible and haven't changed in a decade (See rant by Coding horror)
Discourse looks to do forums well, but is not in Drupal for some reason.
This project is an attempt to strap Discourse style presentation and features onto a Drupal forums system...
wish me luck,
Anyone up for helping, let me know.
HyperComments
The HyperComments technology replaces your Drupal comment system with your comments hosted and powered by HyperComments
How Hypercomments work:
Reader selects a word or a fragment of text that caught his attention and comments on it.
The fragment is now highlighted and clickable. And it draws more attention of your readers.
HyperComments will engage your audience in a discussion and encourage them to comment more.
Benefits for web-site owners:
- Interactive content
- Comments that are in the context
- Your readers contribute to your content
- Increased commenting activity
- "Hot zones" visualized
- Comments cross-posted to social networks
Benefits for your readers:
- Interaction with the text
- Commenting on what got you really interested
- Other readers "Hot zones" show where discussions stir
- Live Interaction with other readers
- Comments cross-posted to social networks
HyperComments Features
- Commenting on a text fragment
- Real-time Conversation
- HyperComments are indexed by search engines
- Import/Export of existing comments
- No registration required
Hypertable
The Hypertable module provides API access to Hypertable. The API integrates database functionality using the Thrift Library and Hypertable's query language (HQL). The Hypertable module provides a library to build additional functionality or applications.
The hypertable_nodes and hypertable_users modules are sample implementations for how to use the Hypertable API to map node and user entities in addition to performing queries and displaying results from Hypertable.
For instruction on how to set up Hypertable before installing this module visit the Hypertable installation documentation.
LouderVoice
LouderVoice integration.
Features:
- SEO friendly output of reviews as panels pane or block.
Queue Manager
Queue Manager
The Queue Manager module provides an administrative interface to inspect and
manage Drupal Database Queues.
Why Queue Manager
Sometimes code has bugs. If this code is processing your queues then items can
become stuck and remain unprocessed. The Queue Manager module allows direct
interaction with queue items for inspection and overriding queue processing.
Queue Manager is intended as a debugging/analysis tool, and provides access to
manage Drupal Database queues without having to write the SQL statements
yourself every time.
Queue Manager should be used with caution, as it gives you the ability to delete
queue items which may be being processed. As such, the "admin queue_manager"
permission created by the module should only be granted to roles with advanced
site privileges.
Queue Manager functionality
Queue Manager allows you to:
- View all Database Queues in your Drupal database
- View the details of individual queue items in a queue
- Force the releasing of individual queue items in a queue
- Force the deletion of individual queue item in a queue
Queue Manager does not provide any functionality for any queue backends other
than Drupal Database Queues. For Queue backends such as ActiveMQ or Beanstalkd
Cachecade
A cache backend wrapper which lets you specify multiple cache backends in order of preference.
If one or more of your caching services are unavailable, this module will gracefully degrade to a lower priority cache service keeping your site running in case of a service failure.
This module is tested to work with the following cache backends, but should work with any module:
- Memcache
- Redis
- Drupal core database cache
Cache backends can be re-used multiple times for scenarios such as having both a local memcache service and a remote memcache fallback.
Photo API
Not been worked on.
The idea was to build a module that would provide a generic Photo API allowing you to switch between photo services like Flickr or Open Photo while retaining the same kinds of features.
No JavaScript Info
If the browser has JavaScript deactivated, a warning message is shown on the top of the page!
This module adds a block to the system and activates it in the footer if JavaScript is disabled in the browser.
Why it is in the Footer?
When the browser loads the website, the footer is the last and so no time delays!
The content of the block is only a information which is only shown when the browser does not support JavaScript or if it's deactivated.
Via preset css the content is hidden on a browser with activated JavaScript
Sometimes you have to add the Block "No JavaScript Info" manually to the footer of your website
This is a not really clean implemented version... but it works ;)
Relation Weights
Original Issue: #1304196: How should we do weighted Relations?
Problem Overview
Relations need weights. There are three primary use cases I have found for this:







