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.
Object Entity API
Description
Object API is a series of classes and methods that allow to write object-oriented code in Drupal.
The core of Object API is a series of Wrappers for common entities (core and provided by common modules):
- nodes
- users
- taxonomies
- field collections (provided by field_collection)
- files (provided by file_entity)
These wrappers supply methods such as field getter, setters and printing and support getting by group (defined by field_group).
Wrappers for fields are also supplied:
- Text
- Numbers
- Lists
- Booleans
- Term references (from module entityreference)
- Locations (from module locations)
- Dates (timestamp, from module date)
- Entity references (from module entityreference)
Forms are another target of Object API wrappers.
When to use object API
The Object API wrappers have been proved useful in such contexts:
- Form personalization: (e.g. inside a hook_form_alter)
- Automatic hidden fields filling: (e.g. inside a hook_node_update)
- Custom templating (e.g. print templates)
- PHP code (e.g. PHP fields, actions, or views_php fields)
- Create object oriented API models (subclassing generic wrappers)
Teaser modifier
A small module to modify node teasers. It removes anchor tags from node teaser, or replaces URLs with node path, or replaces anchor tags with span tags with specified CSS class.
Sometimes the beginning of node text contains internal links to other pages or outgoing links to other websites, so they appear in automatic node teasers, making taxonomy lists full of anchor tags, which is bad for SEO. Sometimes visitors are clicking these links in teasers and not even visiting your pages. This small and simple module gives you some ways to deal with this situation:
- Strip all <a> tags from node teasers
- Replace URIes in teaser with node URI
- Replace <a> tags with <span> tags, with specified CSS class name
After installation of this module go to the Site configuration – Teaser Moduifier and choose the preferred option.
Privacy Policy
We all need a privacy policy on our sites, but on the list of things we want to tackle, it ranks near the bottom.
Our clients don't know what to put in there, either. As developers, we create a Privacy Policy page node and then tell the client to go figure out privacy themselves.
Services are starting to require mention in privacy policies as part of their terms of service.
Users, when they bother to read it at all, have to read and understand a new policy for every site they use.
Wouldn't it be nice if there were a better way to set up and manage a privacy policy? Wouldn't it be nice if there were some default policy snippets we could string together to form our policy? We didn't invent cookies, and 99% of the time we're not doing anything new or interesting with analytics or comments or anti-spam services, but their use should be disclosed.
Meet the Privacy Policy module.
This module creates a default page with a list of privacy policy bullet points that are grouped in sections like "General" or "Analytics" or "Marketing." In addition to the policy text, each item can include a icon and a name. Other modules can add items to the list via hook_privacy_policy.
YandexMap
-- SUMMARY --
Module Yandex Map for Drupal 7-x
Module Yandex Map - allows display Yandex Maps and map marker or balloon everywhere YOU want!
Module Yandex Map use Yandex map API version 2.0.10
-- FEATURES --
* Insert map in text post as tag {modmapyandex_id=you id map}.
* Insert Yandex map as common article page.
* Insert Yandex map as drupal field.
* You can insert more than one map in text post!
* Add marker on map, select type of marker, color, address.
* Change settings in administrator interface for delete, modify, add maps and markers.
* Insert map without keys
-- REQUIREMENTS --
The module uses the Fields API.
Requires the field module.
For beautiful button required Ctools (optional). If CTools not install button style was as common link.
-- INSTALLATION --
Install as usual.
See http://drupal.org/documentation/install/modules-themes/modules-7
for further information.
More about install and how use see video on module home page - http://slyweb.ru/drupal-yandexmap/
Fancy Captcha
Fancy Captcha is a prettier, more-intuitive way of verifying humanity versus a standard captcha mechanism. Instead of computing a mathematical equation or decyphering a random image, Fancy Captcha asks users to drag an apporpriate icon onto a specified area of the screen.
The original intent of this project was to integrate the Ajax Fancy Captcha library with Drupal's Captcha contrib module. Unfortunately due to the way the library was structured, it was not feasible to use the existing code. The code was rewritten in a way that is appropriate for this integration and the originial library was used for inspiration.
Any form of spam prevention can be defeated, Fancy Captcha is no different. I have tried to address potential vulnerabilities and this required making tradeoffs between security and efficiency. If you have any questions or recommendations, please contact me via my private contact form.
Global Redirect Rewritemap
This module generates a RewriteMap file which can be used to redirect requests for internal URLs to the corresponding alias. This allows the redirect to occur on the Apache level instead of requiring Drupal to bootstrap in order to handle the redirect thus removing significant load from the webserver to handle the redirects.
Usage
- Install Drupal with Global Redirect module and this Global Redirect RewriteMap module.
- Go to admin/config/system/globalredirect and configure settings for Global Redirect and near the bottom are the options for this Global Redirect RewriteMap module. Use the manual generation button to create an initial RewriteMap file.
- The RewriteMap Apache directive cannot be used in the .htaccess context so the the following configurations must be placed in the server or virtual host configuration.
RewriteEngine On
RewriteMap globalredirect txt:path/to/private/files/globalredirect_rewritemap.txt - Configure your .htaccess file to use the RewriteMap defined in step 3. Place these in your .htaccess just before the comment that says "# Pass all requests not referring directly to files in the filesystem..." You will also likely need to set the RewriteBase in your .htaccess.
# Global Redirect RewriteMap
RewriteCond ${globalredirect:$1} > "" [NC]
Tickspot api
This project will allow for api access to the super awesome time tracking tool Tickspot (www.tickspot.com)
Simple Entities
The Simple Entities module allows Drupal developers to easily create their own Entity implementations. This breaks Entities down to the lowest-common-denominator so with just a few simple lines of code code, developers can have their modules loading and saving data benefiting from Drupal's Entity system.
Packaged with this module is a sub module called se_example. The se-example module demonstrates the bare minimums required to get custom Entities working with the SE module. This includes basic CRUD functionality along with interfacing the Entity with form submissions.
Skip Required Validation
This module is not supported. Use http://drupal.org/project/skip_validation instead.
Skip Validation
This module is no longer supported! I do not recommend using it.
For end users:
This module provides two mini modules, which enable the skipping of all validation routines, including required fields, when deleting nodes and users from node and user forms respectively.
For node forms, required fields are also skipped when previewing.
For Developers:
This module provides three new FAPI options for submit buttons:
- #skip_validation - Skips all validations, core (#required, #maxlength, and #options checking), and all #element_validate and #validate callbacks.
- #skip_core_validation - Skips only the #required, $maxlength and #options checking.
- #skip_required_validation - Skips only the #required validations.
NOTE: I do not guarantee the sanctity of data when these options are placed on buttons that trigger data saving actions. Use at your own peril. Module maintainers typically make fields required for a reason, and validation callbacks can sometimes alter data to be saved. Not allowing these routines to run on save actions can cause unforeseen errors, and I will not be able to offer support for these issues.
Pushlib Management
- enables core toolbar
- enables core dashboard
- creates shortcutset
- Creates a Role for site maintainers so management doesnt have to be made by uid1
part of the Pushlib Distro
Pushlib Pages
- provides a basic page contenttype that can have a menu (not featured by default, no comments)
- contact form
- about page with subpages
part of the Pushlib Distro
Pushlib News
creates news contenttype and a view with menu and a block display that shows news on related publications. News types (taxonomy) include bookreviews
part of Pushlib
Date Format Help
How often have you been creating a custom time format and couldn't remember which code does which. Is it 'g' I want, or is it 'H'? Is 'm' for month, or minutes, and is it the long or short form?
Sure, you could follow the link to the PHP manual and look it up there, but why can't the docs be on the same page where you're typing it out?
Date Format Help does just that.
Features i18n
This is an experimental project to expose features components that extend the (UUID) features module with options to export i18n localized strings.
At this moment this module exposes the following Features components:
- Field Localization - Offers the possibility to export the localized properties and allowed values of a field. The dependent fields are also automatically exported (Features Field component).
- Taxonomy Term Localization - Offers the possibility to export the localized terms of localizable vocabularies (Translation mode is Localize). It automatically detects the dependent taxonomy terms (Taxonomy Term component from the UUID Features module)
Webform iDeal Payment
A light weight iDeal integration for the webform module.
It creates an extra webform component called 'iDeal Payment'. With this component you can make iDeal payments using webforms. You can select a field where the component should get its amount from and it supplies you with the iDeal payment options.
After you've succesfully paid you get returned to the website and it will return the user to the original webform redirect url.
Similar Projects
http://drupal.org/project/payment
Requirements:
http://drupal.org/project/webform
http://drupal.org/project/ideal
Under development
Needs to be adapted to iDeal 3.3. Will need to patch the iDeal module to support the latest version.
Sponsored by
Synetic
Full service Drupal specialist. From custom made webapplications to content management systems, intranet and e-commerce shops.
Phone libphonenumber
Re-working of the phone & cck phone modules to be combined and use libphonenumber. See #1812184: [meta] Rewrite and merge phone and cck_phone for history.
This version of the phone module has the following features:
- Provides a Phone field type, Phone field widget, and several formatters.
- Provides a Phone FAPI element which can be used in custom modules.
- Backports the "tel" input element from D8 as "phone_tel", and allows this to be used for number input elements.
- One field instance can support every country.
- Limit allowable countries.
- Includes customisable comment/label support (Work, Home, Fax, etc..).
- Full region level validation for all phone numbers using libphonenumber. This supports most if not all known countries, and works for both the Phone field widget, and Phone FAPI element.
- Region specific output formatting using libphonenumber, supporting International, National, E.164, and RFC3966 output styles.
- tel: href support using RFC3966.
- Full token support.
- Feeds & Migrate integration.
- Microdata (itemprop=telephone), RDFa (foaf:phone), and microformats hcard (class="tel/type/value") support. Full type support can be enabled by customising the available comment options.
- Devel Generate support. Handy, if you need an Acquia sales office phone number.
OG Admin Block
This module creates a block, which displays a list of links to admin tasks for an OG group, for an OG group administrator. The OG context must be set to the group you want the links to relate to on the page(s) the block is displayed.
Links included:
- Edit the group,
- Manage members,
- Invite new member,
- Manage menus (if og_menu is enabled),
- Links to add each type of Group Content.
An alter hook is provided for adding additional links, reordering links and general theming.
Molecule
Overview
The Drupal module Molecule adds an input filter to Drupal to show the contents
of JCAMP-DX files. It enabled users to easily integerate JSpecView and JMol
applets into their Drupal sites without technical knowledge.
Requirements
- Drupal 6 (the project isn't Drupal 7 compatible yet)
Installation
See README.txt
Atomic Node Permissions
Purpose
The "administer nodes" permission is often considered too powerful to be used in a site. An administrator may want to allow a category of users to be able to administer (meaning (un)publish, set authoring, etc.) nodes, but only articles, while another group may do the same on another content type (pages).
This module tries to provide a solution to this problem by providing atomic permissions by content type. The list includes (Un-)publish content, (Un-)Promote content, (Un-)Set as sticky, and change authorship, applied on each content type.
Those permissions apply only on the content a user can edit, as they just alter the node's edit form.
This module shares similitudes with Publish Content module, provide more various permissions, but don't go as far concerning publish/unpublish permissions.
How-to
After enabling the module, just go to the permissions page and grant newly declared permissions to roles.
State
This module probably still needs improvements. Basic use case works, but it may be interesting to improve it, or to see if there is a way to integrate it to Content Publish.
Dependencies
None other than Drupal core's node module.
About
This module is developed by Alethia INC..
Appixia Drupal Commerce Integration
Appixia is designed to be a mobile storefront to your existing eCommerce store.
Appixia has invested a great deal of time in making the storefront be in complete sync with your actual store and backend systems, so any new products that you add to your catalog, or any discounts you place on existing items, will immediately show on mobile.
The same principal applies to transactions, where by each purchase is actually processed on the actual eCommerce cart you use to run your existing store. Appixia supports a wide range of eCommerce solutions, including Magento, Prestashop, Zen Cart, Shopify, eBay stores and many others.
Appixia would be more than happy to create a module for Drupal Commerce.

