We’ve had Drupal in our wheelhouse since 2010, so it’s an honor to give back to one of the best open-source content management systems out there. We’ve done that by contributing bug fixes to existing modules, and this week, GovWebworks developer Liem Khuu submitted a new module called Toolshed.
Toolshed addresses the issues our developers encounter every time they set up a new Drupal instance. Toolshed simplifies setup by taking care of basic functions all at once.
The beauty of open source is that developers can contribute modules that extend core capabilities and address coding issues. “A Drupal module is an extension or plugin that adds functionality to your website,” explains Acquia, Drupal’s supporting company. “Modules can either be included in Drupal itself (these modules are known as core modules) or can be separately created and added to your website (contributed — also known as contrib modules).”
According to drupal.org, “because the module code executes within the context of the site, it can use all the functions and access all variables and structures of Drupal core. This approach allows Drupal core to call at specific places certain functions defined in modules and enhance the functionality of core.”
Khuu decided to submit the Toolshed module to help other developers reduce the need to rebuild common components or commonly reused features. The tools in the module make it quicker and easier to build interactive pages and administration forms, with conventions for handling:
- Third party settings forms
- Common blocks (navigation, administration)
- Menu link resolution
- Common Drupal render elements and admin UI building tools.
The submodules, Toolshed Menu and Toolshed Media, provide additions to the core module. Some of the functions include:
- toolshed/screen-events – Registers a common onResize, onScroll and on breakpoint events
- toolshed/dock – Library for docking of toolbars to the window
- toolshed/accordions – Behavior and library for creating simple accordions
- toolshed/pager – Interactive pager for controlling navigation of items
We hope Toolshed will be useful to others as well. We’re glad to be part of the Drupal community and to help other developers as they have helped us.