Drupal 6.x

Gitting Earth Hour & Drupal

Submitted by mgifford on

We've used CVS, SVN over the years and are now using Git. If you've not a programmer you probably wouldn't be familiar with tools like Concurrent Versions System or Subversion which allow for precise sharing & collaboration between thousands of people but with over 150,000 lines of code in Drupal Core, you really need to have a way to manage these details to ensure that you've got the highest quality control possible.  Git is the latest in social coding and because if it's distributed framework it should allow many more people to evaluate, experiment & collaborate with the Drupal community.  

Git & Drupal

Knowing that Drupal was adopting Git, we made the move to adopt it, replacing many of our other repositories.  There is quite a learning curve to get it set up and integrated with our processes, but it's been very impressive thus far.  Our ability to quickly integrate around a standard tool set that allows us to both track & centralize changes for our projects is already beginning to pay off.  Configuration files, default error messages, custom modules, client themes, not to mention Drupal core and community contributed themes/modules.  

Accessibility Enhancements for Drupal 6 Themes - Admin Side

Submitted by mgifford on

The last in the series of Drupal 6 accessibility enhancements that we're publishing will focus on improving the admin side. There is a good guide to developing theme overrides on Drupal.org. This post provides examples of modified functions that are improvements over what is in Drupal 6, mind you there are several elements fixed in Drupal 7 which can't easily be back-ported.

Now the distinction of admin side vs user facing is a bit outdated in most modern CMS's. In most cases, the same HTML tools that are required to administer a site may also be used to make a nice interactive site. Usually it's a matter of making sure that any forms are presented in an accessible manner.

Accessibility Enhancements for Drupal 6 Themes - Public Pages

Submitted by mgifford on

Following my previous post with examples about using invisible elements, this post includes further examples of how to use the template.php file to overwrite Drupal 6's default functions for greater accessibility. More details on how to use these functions are available from Drupal's documentation.

With many sites, the only forms that they have available is the search function. This is a more accessible rewrite of template_preprocess_search_result()

 function EXAMPLE_preprocess_search_result(&$variables) { $result = $variables['result']; $variables['url'] = check_url($result['link']); $variables['title'] = check_plain($result['title']); $info = array(); if (!empty($result['date'])) { $info['date'] = format_date($result['date'], 'small'); } if (isset($result['extra']) && is_array($result['extra'])) { $info = array_merge($info, $result['extra']); } // Check for existence. User search does not include snippets. $variables['snippet'] = isset($result['snippet']) ? $result['snippet'] : ''; // Provide separated and grouped meta information.. $variables['info_split'] = $info; $variables['info'] = implode(' - ', $info); // Provide alternate search result template. $variables['template_files'][] = 'search-result-'. $variables['type']; }

Accessibility Enhancements for Drupal 6 Themes - Invisible Elements

Submitted by mgifford on

Now that Drupal 7 is almost out the door, it's a good time to look through the known accessibility issues and document what are the best practices that have been implemented that can be brought into Drupal 6 themes.

The first bit is perhaps the easiest. Bring over the code to handle hidden, invisible & visible on focus elements:

Chase Paymentech Module for Ubercart

Submitted by jesse on

Announcing the uc_chasepaymentech module for Ubercart!

This is a module that adds Chase Paymentech hosted checkout as a payment method to Ubercart. There isn't currently a module that integrates Ubercart with Chase paymentech. Although Chase based their hosted checkout on Authorize.net's framework, their specific implementation and methods of response verification are slightly different in functionality. There is not a sensible way to go about modifying the Authorize.net module that ships with Ubercart to incorporate Chase Paymentech without rewriting the entire Authorize.net module to make it more generic and adaptable to other Payment Companies and their implementations of the authorize.net framework. However, this may be an option for the future.

Upgrading EBMtools.org from Drupal 5 to 6

Submitted by Varun on

With Drupal 7's release around the corner, it is important to get Drupal websites away from version 5.x. To quote D.O:"Drupal 5 will no longer be maintained when Drupal 7 is released." Earlier this year, I moved ebmtools.org from their Drupal 5 install to use the more powerful and secure Drupal 6 version.

The Ecosystem-Based Management (EBM)tools network uses Drupal to connect and inform researchers, users, and providers through their website. In their own words, EBMtools promotes

Ubercart as a donation system + Moneris as a Payment Gateway

Submitted by jesse on

Hopefully this blog entry will help a few people overcome some of the hurdles in setting up a donations system. We are a drupal shop so all the following is for drupal 6.

In this case the client simply wanted to have a way to collect donations from supporters of their political campaign. The only real constraint was that it needed to integrate with the Moneris payment gateway system. I was looking at creating a custom donation system and integration to Moneris, but in the end opted to use Ubercart. Ubercart is an awesome beast of a Shopping cart system that has many great features and useful contribs, 90% of which I did not need to take advantage of. However, Ubercart, in an extremely stripped down form, looked like it could offer everything I needed in terms of accepting and tracking donations. There was also an existing UC Moneris contrib module that looked pretty simple.

What you will find in this blog

The "CLUMPS" module

Submitted by jesse on

Clumps is a module that I have just written and will eventually be releasing. Its currently about 90% finished. The name was hastily chosen from a google search for a synonym to section. It is also still up for debate so feel free to comment if you can think of a good name.

All relatively good ideas start with a relatively complex, or annoying, problem.

Protagonist:

A site was required that split off into two separate sides with different paths say /sideone and /sidetwo. Most content is to be different, but some should be shared including menus and menu items. Doesn't sound like a very complicated problem does it? The content that is different will obviously be easy in that you can set the url aliases to /sideone/page1, /sidetwo/page2, etc.

Problem:

The complicated part comes when you consider how to maintain that context separation of which side you are on for the shared content. In this case the shared content had to be prefixed with the /sideone or /sidetwo. Regardless, there are a couple tricky problems here:

  1. how do you know which side of the site you were working on once you've gone to one of the shared pages?
  2. For that matter how do you have a menu display only the relevant items for a particular side as well as the shared items?
  3. How do you have the shared menu item knowledgeable about the context of which side of the site you are on?

Quick and Dirty Drupal Content Updates

Submitted by ethan on

It's fairly common to have a development site and a live site running at the same time - whether it's a Drupal 5 to Drupal 6 migration, or simply a development environment for test features before running them on the live site. In any case, one of the issues that comes up here is that the content on the development site can quickly become out of date. This is an issue if your development site will eventually become the live site, as in the case of a D5->D6 migration process.

Pages

Subscribe to Drupal 6.x