Tag Archives: drupal

One Day to eCommerce

One Day to eCommerce is a project designed to enable a group of Year 9 IPT students at North Sydney Boy’s High School (NSBHS) to develop eCommerce sites in a single day. It is ambitious and challenging, and aims to leverage the great flexibility of Drupal. The project was delivered in mid-May 2010, and despite lots of problems (and chances to learn how to solve them), all 9 groups managed to create an online shop. Two of the groups even managed to configure a credit card payment system. The materials on this page are identical to the ones used in the project, and are available for any teachers who might wish to run this program at their own school. Be warned though, you need to be technically proficient with Drupal and LAMP stacks, or have the assistance of someone who is.

This one-day project is based on the Drupal IPT Project I ran at NSBHS during my first practicum last year.

Materials

  • Presentation (Apple Keynote)
  • Presentation (Microsoft PowerPoint)
  • Student Materials – this is a large file (31.8MB), and so may take some time to download. Due to its size it is hosted offiste with Dropbox, so don’t worry about the external link. Depending on your OS, you might also need an extra application to unzip it. Please note that these materials are not covered by the site’s CC License, as it contains copyrighted images. These are used under assumed fair use for education.
  • Required Modules – this image file can be used to help students work out which modules to enable.

Feedback

If you have participated in the One Day To eCommerce incursion at NSBHS, we would love to have your feedback. Please use this feedback form to tell me what you think.

Support

If you are a student who wants help with this material, or a teacher looking to implement this project yourself, please feel free to contact me. The following may be helpful if you decided to run this project yourself:

Drupal Presentation, CSTA NSW, 26/10/2009

This page provides support for those who attended the NSW CSTA presentation I ran with Peter Stidston, Chris Dam and Nirvan Gelda on the 26th of October, 2009.

Please use the comment facility below to ask any questions, or leave feedback. It would be very useful to me if you could fill out the feedback form.

Materials

  • Presentation (ppt | pptx)
  • In-Session Hands On Guide (doc | docx)
  • A Drupal XAMPP Install Guide (doc | docx)

Links

Drupal IPT Project

Having completed my first practicum I thought it would be useful to post the major artifact that came out of it: the unit of work plan for the project I ran with my two HSC classes. This complete document details a proejct whereby students in the HSC IPT Preliminary course work in teams to redevelop their school website using the Drupal Content Management System (CMS).

The unit can be downloaded from our here.

The main aims behind this project, derived from and taught through the syllabus outcomes outlined in the unit of work, were are to challenge students with the following aims ideas:

  • undertake work that poses a significant challenge;
  • work in a situation that is more like industry than school, including;
    • engage in independent problem solving;
    • work towards developing a functioning system;
    • engage in effective time management;
    • interact professionally with a “client” (played by the teacher);
  • produce effective written communication
  • consider their new system from the perspective of its users.
  • meet specified syllabus outcomes

Whilst the document plans for 4 weeks of work, it eventually took 6 weeks to deliver the unit, so some modification will most likely be required. Do keep in mind that this was designed to really challenge students at an academically selective school, and so may require customisation for use with other student groups.

The final presentation of student-developed websites showed that students had met many of the expected outcomes, and were, in many cases, capable of producing functioning websites suitable for use by a school. Students provided feedback suggesting that they valued the learning involved in the unit.

Remember, this work is published under a Creative Commons BY-SA license and I encourage anyone interested in it to take it and use it (provided you meet the simple license requirements to attribute the work back to me and to share your resulting work in the same way I have shared mine). Have fun!

How To Build A Drupal Site

Drupal (http://drupal.org/) is a great CMS (Content Management System) for developing online communities and sites. This is my simple guide for building a Drupal site.

Note that this is written for Drupal 6.8, but should mostly work for the whole 6.x version series. It may not work for other versions!

Install Drupal

I had the school’s web administrator do this for me. It takes some technical knowledge!

Create a “placeholder” Story

This page is my placeholder: you need to have at least one story created (and set to display on the Home Page) for the default front page message to disappear.

Choose a Theme

Take a look at http://drupal.org/project/Themes, or search around on Google. Once you have chosen a theme, download, decompress and upload it to the themes folder in your Drupal install.

Define Roles

It is worth taking time to consider and define the roles that users will take within your community. If you do this before installing modules, it will save you some time later on when it comes to setting user permissions. This site uses the following roles:

  • anonymous user
  • authenticated user
  • editor
  • read-only guest
  • student
  • teacher

Enable & Configure Core Modules

This section deals with optional Core modules that are already installed with Drupal, but need to be enabled. Each module varies, but you need to consider setting permissions for different users, and then configuring the modules own options.

  • Blog
  • Forums
  • Statistics
  • Taxonomy
  • Tracker
  • Upload
  • Trigger

Taxonomy

In Drupal you can create one or more taxonomies: each of which can contain one or more terms (think tags). This system is initially confusing, but is empowering.

Part of the power here, comes from the fact that you can organise terms into hierarchies, and then use these to organise you site. If you need site structure, then one of the big questions is “node hierarchy or term hierarchy”: in this site I have used terms to organise my content. It took me a while to work things our, and it would have been quicker had I first look at http://drupal.org/handbook/modules/taxonomy.

13/05/2009 – of late I have come to the conclusion to the “node hierarchy or term hierarchy” debate: if you are serious about Drupal you should ignore (and not install) node hierarchy, and instead use taxonomy to organise your website. If you are only a casual user and don’t plan on tagging, then node hierarchy is easier. Using both together will almost certainly give you a headache!

Install & Configure Contributed Modules

The great variety of community developed, contributed modules is part of what makes Drupal so powerful.

For each of the modules shown below, you can download them (from the URL shown), decompress them and upload them to the Modules directory of your Drupal install.

From here, each module varies, but you need to consider setting permissions for different users, and then configuring the modules own options.

You might find some modules require other modules.

  • Administration Menu – gives selected users an enhanced top-of-page administration menu.
  • Pathauto – extends Drupal’s core Path functionality to generate automatic text paths URLs for pages.
  • Table of Contents – allows a Wikipedia style table of contents to be created from HTML tags in a page. After installation, this needs to be enabled for the various input filters you may be using (see below). You will also need to rearrange the filters to ensure Table of Contents is evaluated before HTML Corrector
  • Node Hierarchy – allows for sites to be arranged in a hierarchy, providing structure to your site. Note though that this can also be done with taxonomy, and that this is my prefered method
  • Taxonomy Breadcrumb – allows for breadcrumbs to be create from taxonomy.
  • Google Analytics – allows for detailed statistics to be gathered through Google Analytics.
  • And many, many more…

Drupal allows you to define a number of menus, as well as use the inbuilt menus: Navigation, Primary, Secondary. In this site I have used the Primary menu (in this theme it is shown at the top of the page) to link to the main areas of the site.

Set Content Filtering

Drupal can filter user input. By default, filtering is enabled, but for some sites it is better turned off. This can be done under Input Formats under Site Configuration.

Turn On User Profiles

One of Drupal’s optional core modules is “Profile”: enable this module and you can define custom fields for user to fill in, giving me information about themselves.

User Settings

User settings contains many useful options. Some useful ones include limiting public registration, enabling user avatar images etc.

Comment Settings

Default setting comments for different content types can be configured in the Content Types admin area. Anonymous commenting is disabled by default, but I choise to enabled it (under Permissions in User Management). I have set permissions so that only editors can publish comments without having them approved first. To make approval easier, I used the Trigger core module to have the system send me an email each time a new comment is available for approval.

Clean URLs

By default, Drupal URLs have a query string in them (this looks like ?q=). Enabling Clean URLs overcomes this, making Drupal addresses more like those of a “normal” site. You can access this setting from Admin > Settings > Clean URLs. And, if you installed Pathauto (see above), your URLs should be textual, rather than numeric.