Drupal Modules

As a php programmer, enabling custom functionality by creating custom modules is my specialty area. I have a number of modules at drupal.org for which I am the maintainer.

  • A Ubercart shipping module that uses the Chinese iShip method.

    IShip is the method used by http://shipfromchina.com/.  This is a standard Ubercart shipment gateway that uses this method.

  • Drastic stands for Driver Assessment Survey to Identify Crash.  The survey consists of a single form with hundreds of questions.  Created a solution for presenting those questions a certain number at a time with that number being configurable on the site.  Also used the Rules Module to create a system whereby non technical admin users can create conditional actions using answers in the survey to produce any number of statements which are produced in a single report.  eg

  • Create module to read from and update data from a remote server using a SOAP request.

  • Complex online quoting system involving products and associated line items and discounts.

    Use Drupal form system to create a quoting system for sales services.  Includes custom interface with dompdf for PDF generation.

    The entire system is only available to registered users and is controlled by a permissions system to keep quotes confidential.

  • The client required a payment system for parking fees whereby the user pays on a monthy basis on a set day of the month using authorize net ARB billing agreements.  However they also required an initial payment to go through within seven days of the requested start of service which was pro-rated to the duration between that start date and the regular payment date. 

  • A site where users can buy letters, words or sentences from a Hebrew version of the Torah as a means of making a donation to a charitable organization.

    Users can buy letters, words and sentences individually using a popup that is attached to each, then add them to the cart and purchase them.  When a word is bought, the sentence it belongs to can no longer be bought and when a letter is bought, the word it belongs to can no longer be bought.  If someone else has an item in the cart then no one else can add it to their cart.

  • Optimize a site using a lot of modules (80 or more) by splitting into subsites.

    Each Drupal module in an install that is active increases load times because each module is checked for hooks. The recommended number of modules for an efficient Drupal site is about 40.  This module is to be used in association with a site divided up into subdomains.

    This is a Drupal Contrib Module

  • A Ship Later module for Ubercart which enables users to buy products in bulk and then ship them individually to clients at a later date.

    This is a specialized use.  The client sells products which users can buy for bulk and the onsell individually to other customers.  The module includes Views handlers and views to display pending, committed and sent items.

  • This site sells psychological tests and related items.  A system was required whereby a user could buy any number of these tests for any number of users and link each test with a user name and email so that the users could be informed of their test and where to obtain it.  On completion of the test, each individual user can also be informed via email of their success.

    The site is also configured for multi-currency payments so that a user selects a currency and all entries, including invoice and paypal, show the amount of purchase in that currency.

  • A job board system with search for multi-level categories within countries and provinces.

    This modules uses the job module, cck_address and adv_taxonomy_menu to create an integrated job board system with descriptive breadcrumb and blocks which sorts jobs by country and province/state and by taxonomy.
    Users can search within taxonomy within countries or within sub taxonomies within countries.

    This is a Drupal Contrib Module.