Drupal Demo: Creating a community site
For this Drupal walkthrough, you will need your own Drupal install.
- Goal: Create a community website so that members may indicate their availability for group events as well as be notified about upcoming events. For this example, we will use 'Chowpatty Bhelpuri Lovers', an organisation that likes to prepare and share bhelpuri and other chats.
- Functional Requirements:
- The site will consist of the following pages:
- About us
- Events calendar
- Join to participate
- Group members
- The content will be added/maintained only by the administrator
- Member sign-ups will be used only for event organisation. During registration, members will indicate their interests and availabilities for event participation.
- The member list will present tabulated results of responses during signup.
- The site will consist of the following pages:
- Technical Requirements:
- Drupalspeak: The Drupal tasks accomplished during this walkthrough:
- Configuring Drupal
- Creating a new node type
- Creating views to display filtered lists of nodes
* Installation steps described below
The following notation convention will be used to differentiate between navigating your file system (<folder>/<subfolder>) and navigating Drupal via a web browser (admin >> content).
Implementation steps:
- Enable URL paths that are representative of page contents (e.g. http://chowpatty.org.au/q=aboutus vs http://chowpatty.org.au/q=node/1). Enable the Path module: admin >> site building, select Path and Save configuration
- Create the About Us page, and add it to the main menu
- create content >> Story
Title = About Us
Menu Settings, Title = About us
Menu Settings, Parent Item = Primary Links
Menu Settings, Weight = 0
URL path settings = aboutus
- create content >> Story
- Create the Events Calendar
- Download Date API, Event, Calendar, Usernode, Views
- Install Event, Calendar, and Views by decompressing each downloaded file into in <your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/, resulting in:
<your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/date/*
<your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/event/*
<your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/calendar/*
<your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/usernode/*
<your install path>/xampp/htdocs/drupal-5.1/sites/all/modules/views/* - Turn these modules on: admin >> site building >> modules, make the following selections and Save Configuration:
- Create a new event content type for use with the calendar view. The events module creates an event content type, however we're going to extend it for additional functionality*: admin >> content management >> content types, Add content type
Name = Event bhel-session
Type = event_bhel-session
Show in event calendar, Only in views for this type = true - Create the calendar for displaying your new event types: admin >> site building >> views. Scroll down to the list of default views, and override the calendar view:
Edit the calendar view in the list of Existing Views
Fields, Add Field: Node Title
Fields, Add Field: Event Start Time
Fields, Add Field: Event End Time
Arguments, Add Argument: Calendar Year
Arguments, Add Argument: Calendar Month
Arguments, Add Argument: Calendar Day
Filters, Add Filter: Node Published = Yes
Filters, Add Filter: Node Type = event_bhel-session
- Add the new calendar view to the main menu: admin >> site building >> menus, Add item to Primary Links menu
Title = Events calendar
Path = calendar - Create the member signup form which is used to collect partipation availability information.
- Enable the profile module: admin >> site building >> modules, Select Profile and Save configuration.
- Configure the profiles: admin >> user management >> profiles
- Add new fields:
Category = Event participation
Title = I am available to form a bhel-session oversight group
Form name = profile_over
Explanation = Check this box if you have the time and organisational skills to form the oversight group. The oversight group is responsible for organising the upcoming event, headcount, menu, venue, and preparers.
Visibility = Public field, content shown on profile page and on member list pages.
Page Title = oversight group
Visible in user registration form = true - Add new fields:
Category = Event participation
Title = I am available to purchase and drop off the ingredients for a bhel-session
Form name = profile_shop
Explanation = Check this box if you have the time and funds to purchase the ingredients for the upcoming bhel-session. Also, if there are more than chats, you may be asked to drop the shopping off at a volunteer cook's residence.
Visibility = Public field, content shown on profile page and on member list pages.
Page Title = shoppers
Visible in user registration form = true - Add new fields:
Category = Event participation
Title = I am available to purchase and drop off the ingredients for a bhel-session
Form name = profile_shop
Explanation = Check this box if you have the time and funds to purchase the ingredients for the upcoming bhel-session. Also, if there are more than chats, you may be asked to drop the shopping off at a volunteer cook's residence.
Visibility = Public field, content shown on profile page and on member list pages.
Page Title = cooks
Visible in user registration form = true - Add new fields:
Category = Event participation
Title = I volunteer to host the bhel-session
Form name = profile_host
Explanation = Check this box if you are able to host the bhel-session.
Visibility = Public field, content shown on profile page and on member list pages.
Page Title = hosts
Visible in user registration form = true
- Add new fields:
- Add the registration page, to which the previous fields have been added, in the main menu: admin >> site building >> menus, Add item to Primary Links menu
Title = Join to participate
Path = user/register
- Create a new view to display all the organisation's members and which activities they are available for: admin >> site building >> views, Add a view:
Title = Members
Name = Members
Provide Page View = true
URL = members
View Type = Table view
Use pager = true
Nodes per Page = 10
Fields, add the following fields

Filters, add the following filters

URL path settings = aboutus - Add the new members view to the main menu: admin >> site building >> menus, Add item to Primary Links menu
Title = Group members
Path = members

Hillary:
Thanks for this...the calendar section was a great tutorial for me so I could get started on a project.