The Drupal Quiz Module

8 Comments

My first experience with the Quiz module was amusing, to say the least. A project, which I had just finished, required registered users to be able to take different quizzes and successfully complete them in order to receive a certificate. I turned to the quiz module to avoid any custom coding. Overall, I was able to do what I needed. However, below I have listed three issues I had ran into:

1. No import/export of quizzes.

New Appnovation.com Launched in Drupal 6!

6 Comments

We are pleased to announce the release of the new Appnovation Company website. The site was constructed using Drupal 6 and includes extensive use of jQuery in many sections of the site.

The showcase slider on the front page uses the jQuery Coda Slider Plugin. If you click on any of the showcase items such as the Canadian Cancer Society logo on the far left, the showcase will start automatically scrolling through all the portfolio items. This has been built using custom jQuery.

On the services page, we used the jQuery Accordion plugin to create a sliding submenu. This allows site visitors to view all the service details without clicking through multiple pages.

Some of the modules used for the site include:
Views
Pathauto
Sitemap
Captcha
tagadelic
print
Imagecache
google_analytics
cck
contemplate

Migrating web site from Plumtree to the Drupal Platform

0 Comments

We have recently completed a Drupal 6 project that involved transferring an existing site to the Drupal platform. Introducing, Bushmeat.org. This site is operated by the Bushmeat Crisis Task Force (BCTF), an affiliate of Conservation International and was built using components from the Plumtree system. BCTF wanted to upgrade the look and feel of the site while keeping the navigation and content the same to help accommodate current users.

The main challenge this type of project faced was content material. Where and how to get text, images and downloadable files, from one site to the next was a struggle. The current architecture stored files in multiple folders but only certain content could be downloaded / exported to CSV type document. This meant that any content that was not downloadable had to be re-created manually on the new site.

Web Applications – a Drupal Development Story

0 Comments

I just completed a Drupal project that was more an application than it was a website. The program pretty much centered on a custom node type that we created, and instances of this type could be accessed by users depending on their roles. The main node type linked to other nodes and had fields that were user or taxonomy references. The purpose of the site, or in this case the application, was to integrate and manage tasks for the users, to make things easier for them to synchronize their schedules. These are some of the contributed modules that our team used:

Admin_menu – This was included to allow for easier navigation of the Drupal core menu items. I found it useful since I am, as of yet, memorizing the urls of all the Drupal components. It also gives the clients who are not regular Drupal users a simple way to navigate the admin menus. I recommend this module for the “mouse” type developers like me who prefer clicking as opposed to typing.

Location – Using this saved us a lot of time because the address fields that the client wanted, were all already built into this module.

Create multiple step form in Drupal 6

5 Comments

Multiple step form which consists of multiple steps or pages is useful sometimes. It allows you to create a form workflow and helps to make your web site user-friendly and flexible. For example, you can make different contents on next pages based on user inputs from previous pages.

The key things to make a form multiple pages are setting $form_state[‘rebuild’] and $form_state[‘storage’] variables in a submit function.

 

function example_form_submit($form, &$form_state) {

  if($form_state['storage']['page'] == 1) {

    $form_state[‘rebuild’] = TRUE;

    $form_state[‘storage’][$page][‘values’] = $form_state[‘values’];

    $form_state['storage']['page']++;

  else {

     //process the data

  }

}

 

  • <
  • 2 of 2