Open Source, Community Driven – Zitec contributes to Drupal

When working with an Open Source, Community Driven product like Drupal it is sometimes easy to just forget that you are benefiting from the work of a collective, of a community of dedicated people who invest time and thus, ultimately, money into this product. They do it with passion and because they understand that this is crucial for the growth of Drupal and the Community.

Everybody who uses Drupal in their work, in an enterprise environment or even on a volunteer basis, must come to this understanding that this award winning CMS/CMF is Open Source and thus free only because enough people contribute back to the community.

This is not an attempt to educate you, the reader, this is simply a reminder for ourselves that we are part of a community based on mutuality, a place to look back to and remind us that contributing back is a key part of being a responsible part of the community.

Here are a few small contributions on our part. But we are planning to continue contributing further and we are hoping that by stating this publicly we will be even more motivated in our effort to do so.

1. Forms

Light-weight Forms API helper module

http://drupal.org/project/forms_registry

Forms creates a registry that can hold lists of files to be included for each custom form.
This module helps developers

  • avoid duplicate code
  • organize their code in a more efficient structure (more files is sometimes better)
  • include files in a standard fashion

In order to register these files, developers must implement hook_forms_registry().

 /**
  * Implements hook_forms_registry().
  */
 function forms_test_forms_registry() {
   $items = array(); 

   $items['forms_test_simple_form'] = array(
     'files' => array(
       array(
        'ext' => 'inc',
        'module' => 'forms_test',
        'name' => 'forms/simple_test',
       ),
       array(
        'ext' => 'inc',
        'module' => 'forms_test',
        'name' => 'forms/countries',
       ),
     ),
   ); 

   return $items;
 }

In order to get the desired form and include the necessary files, the module also provides a light-weight wrapper over drupal_get_form().

forms_get_form('forms_test_simple_form');

2. Lazy Vars

Store and retrieve arbitrary persistent variables from the database.

http://drupal.org/project/lazy_vars

Lazy Vars is a utility module meant to help development on other modules. It is similar to the Core ‘variable’ system except that it loads the variables on demand and doesn’t load them unnecessarily.

It provides a simple API for the common get, set and delete operations

  LazyVars::set('my_module_settings', array(1, 2, 3));
  $settings = LazyVars::get('my_module_settings', NULL);
  LazyVars::del('my_module_settings');

and it also provides an interface so that other modules can implement their own storage back-ends.

  interface LazyVarsInterface {
    public static function set($name, $var, $cache = FALSE);
    public static function get($name, $default = NULL, $cache = TRUE);
    public static function del($name);
  }

3.Table Size

Set row and size quotas on database tables

http://drupal.org/project/table_size

The Table Size module provides an administration page that allows administrators and site builders to set arbitrary row and size quotas (number of rows and size in MB) for each table in the main database.

Table Size

If the quota is exceeded, the tables are highlighted.
Optionally, a status email is sent periodically to a configurable email address.

4.Videopublishing

Integration with the VideoPublishing API

http://drupal.org/project/videopublishing

This module provides integration with the VideoPublishing API bringing specific functionality to the Drupal installation.
VideoPublishing.com is a leading provider of high quality, online video publishing solutions for businesses, publishers, video professionals and website owners.

See: http://drupal.org/node/70151 for further information.

 

What about you?

Share with us your experience with Drupal and its contrib modules. Did you ever think of contributing to this great open source platform?

by Cristi Burtan-Fleischer

Leave a Reply

Your email address will not be published. Required fields are marked *