Attempting to replace Drupal core's jQuery with Zepto.js


This is mainly just for fun and curiosity and might never become a full project.

Entity modified

Drupal does not force entity types to provide a last modified date, nor provides any standard naming convention for those that do.

This module steps in to provide a programmatic way to retrieve the name of the modified property. When the name is unknown, entity modified tracks the date itself.

This module will not provide anything worthwhile on its own, so only install this module if another module depends on it.


To retrieve the last modified timestamp of an entity, you would make a call like the following:

  $modified = entity_modified_last($entity_type, $entity);

Entity type creators

If your module defines an entity type, you can let entity modified know about it by defining the 'modified property name' in hook_entity_info().

You can also alter already existing property names by using hook_entity_info_alter().

An example for a fictional module named building, that creates an entity type named window, that has a last changed property of changed follows:

 * Implements hook_entity_info().
function building_entity_info() {
  $types = array();
  $types['window'] = array(
    'label' => 'Window',
    // Properties from hook_entity_info() here.
    'modified property name' => 'changed',
  return $types;


Memcache Enhanced


  • Provides failover to database cache when memcache can't be reached.
  • Gathers cache metrics and adds a report, and drush commands to view them

Aegir Skynet

Aegir Skynet

This puppet module provides the Aegir Hosting System with the highly experimental ability to automate updates to Drupal platforms and sites, including Aegir itself.

We fear that this module may enable autonomous machine evolution and eventually trigger sentience and the inevitable Robot Apocalypse. We apologize in advance.

Borrowed pane

Borrowed pane allows grouped caching and client-side re-use of rendered elements on a page.

Use cases

Grouped caching

When using mini-panels it is ideal to cache the entire mini-panel rather than cache the individual panes within the mini-panel.

The problem is that the mini-panel often contains one or more panes that are unique to the current page via context, the current page path, current user, etc.

Instead of rendering the unique content within the mini-panel you render the content elsewhere on the page, in an area that is not within a mini-panel you'd like completely cached. You then place a borrowed pane in each of the locations you need the unique content displayed within your mini-panel and specify the jQuery selectors to the content you'd like loaded into the pane.

Responsive support

When a site is built to be responsive, there are often times where it would be convenient to have a rendered pane/block appear in multiple places within the DOM.

The problem is that adding the same DOM to a page in multiple places is not ideal for SEO. Nor is it good from a performance standpoint to re-render the same DOM in multiple instances on a single page.

Navbar Flush Cache

Navbar Flush Cache is a module which adds functionality to the Navbar module allowing users to flush the cache from the menu. The module is based on the functionality provided by the Administration Menu module which also allows users to choose which part of the cache to flush.


  1. Install and configure the dependencies. Check their README files for details.
  2. Install and enable the Navbar Flush Cache module.
  3. Define permissions on the admin/people/permissions page.


Subscribe with RSS Subscribe to RSS - Performance and Scalability