Drupal Resources

Guides to using Drupal.

Drupal: A Guide for New Users

This page is a guide for users of our new public website. The site uses an open-source Content Management System (CMS) called Drupal to assemble and display information.

This site retains an organization based on the previous version. Content is organized into books for 4 audience types, as displayed on the top menu bar: Students, Instructors, Proctors, and Developers. These books guide the user through a presentation of content in a predetermined order.

Most nodes are also usually tagged with keywords. Clicking on these keywords calls up every node associated with that particular category. Selected categories are listed on the side menu bar.

The following pages describe the different user roles and content types, including a guide for posting content (such as blog entries).

The CWRL hosts other Drupal installation, including "hub sites" for personal and class use. Information for administrators of individual Drupal installations is available in our Administrators' Guide.

Users of the CWRL Public Site

While most of the content on this website is viewable without creating an account, users can, according to the permissions they have, contribute or alter site content. Users are assigned various permissions according to the roles they play in the lab: Staff, Developer, and Administrator. In addition, Drupal classifies anonymous users (anyone who points their browser at one of our pages) and authenticated users, who are users who register with the automated system. Permissions are as follow, and each successive user incorporates the permissions of the previous (in other words, an authenticated user can do what an anonymous user can plus what is listed).

Anonymous users can view and search content, with the exception of content that has been restricted to higher permissions.

Authenticated users can post comments, submit CFPs to a queue.
Staff users can make blog entries and forum topics, and submit content to the Assignment Database. Anyone who works in the lab as a proctor or teacher will be considered a staffer.

Developer users can make layout changes to the navigation, create and edit book pages, and create taxonomy terms (keywords for the database). All staffers who work for the Developer group are granted these permissions.

Administrators can alter or add to any aspect of the site. The Director, System Analyst, and ADs are the designated Administrators.

To become an authenticated user, simply follow the log-in link from the home page and fill out the registration form. If you play one of the roles listed above, your permissions should be upgraded in due course, but feel free to contact an administrator if they aren't.

Content Types

All of our website content is stored in a central database. Every page of content is called a "node," and each node is classed as a particular "content type." The content types which are currently used for the CWRL site are book page, forum topic, and personal blog entry, and two content types created specifically for this site: assignments and CFP.

Assignments: records of computer-assisted assignments for use in the CWRL Assignment Database.
CFP: Calls for conference papers or publications

book page: a page that can be put into hierarchical relation with a group of other book pages. (See "Navigating the Site" below)
forum topic: threaded discussions for CWRL classes
blog entry: an online journal that we offer to CWRL staff and faculty. We also offer more advanced capabilities on personal installations. See "Blogs" below.

Creating Content

After you log on, a menu similar to this will appear:
menu reading autenticated_user, create content, my account, log out

(You may also have an administer option, according to your user level). To create content, simply choose the top link. You will be presented with all the options available to you in the main screen. For example, a staffer would see:

screenshot listing content types: Assignments, CFP, forum topic, personal blog entry

Choose an option, and you will be given an input screen. For most content types, 'Title' and 'Body' are required, though you may have the opportunity to choose a one or more keywords, or provide an alias URL (i.e., a URL of your own choosing).

Be sure to click Submit at the bottom of the input screen. If you are trying to attach a file, you will have to click 'Attach' and then 'Submit' on the subsequent page.

CWRL Blogs

The CWRL offers two options for those interested in personal blogs: simple blogs hosted on the public site (i.e., this website) or more powerful blogs hosted on locus.cwrl.utexas.edu. The first option is easier but allows much less customization, while the second requires setting up an administrator's account on another installation but allows the greater customization of appearance and more flexibility. See that documentation for details on administering your own Drupal site. This documentation also covers course sites on instructors.cwrl.utexas.edu, which is the only option that permits student blogs.

Every Staff, Developer, and Administrator has the potential to keep a blog on the CWRL website. To start blogging, simply log in, select "create content" and then the content type "personal blog entry." Your blog will be viewable at http://www.cwrl.utexas.edu/drupal/?q=blog/x, where x represents your drupal id number (which the system generates when you create your account). You can link directly to your blog from "my account," and blogs.cwrl.utexas.edu will list all the blogs hosted by the public site.

You can select an alternate theme to distinguish your blog from other site content. Choose My Account, Edit, and scroll down to Theme Settings. There you may select from several options. You can also create a blog post to describe your blog. Simply check the box "sticky on top of lists" in the Options box when creating the entry. For more detailed modifications, you will need to become administrator of your own locus.cwrl.utexas.edu site. See the Administrator's Guide for more details.

Forums

CWRL forums are now administered with Drupal. This page explains how to create a topic, reply to a topic, and how to set up an account.

Creating a Forum Topic (Instructors)

At the beginning of the semester, all CWRL classes will have forums accessible through http://www.cwrl.utexas.edu/forum. To add a new topic to your forum, simply log-in and choose create content>forum topic. Make sure you add the new topic to the appropriate class forum: select your class from the drop-down Forums menu (above the Body field).

Replying to a Topic (Students and Instructors)

Although anyone can read a forum topic and comments, you must log in to reply (account details below). You can either reply directly to the topic by filling out the form at the bottom of the page displaying the active topic and replies, or you can make a threaded reply to a particular comment by clicking on the reply link under the comment in question.

Creating an Account (Students)

To create an account, click on Log In at the top right of the screen. Then choose the register tab and fill in your user name* and e-mail address. This e-mail address will receive a message with your password and instructions, so make sure it is accurate. If you do not see receive an e-mail with the subject 'Account details for ______' within a few minutes, check your bulk/junk mail folder.

*Your user name must be your first and last name. Accounts with nicknames will be deleted.

Drupal: A Guide for New Administrators

Instructors in the CWRL can administer their own Drupal-powered site run from central "hubs" at instructors.cwrl.utexas.edu (for class sites) and locus.cwrl.utexas.edu (for personal and professional uses). Drupal, like other content management systems, are useful for maintaining larger sites. They provide forms for entering content, thus eliminating the need for an html editor and a ftp program. They also allow administrators to sort content in multiple ways and maintain internal links. Drupal also includes numerous plug-ins called modules which allow you to maintain message forums, host blogs, and pursue other useful features described in this document.

Administering your own Drupal site has a steep learning curve, but a few hours of practice will pay off by simplifying the posting and organizing web content. This document takes you through some of the most important administrative functions which apply equally to class or personal sites. It ends with brief descriptions of Drupal-run course sites.

Drupal is extremely customizable -- something that is an advantage to experienced users but can be a disadvantage to new users. It has so many features and settings that administering it can be daunting. In addition, its community features can present challenges to course focus: student blogs, for instance, can be used to start flame wars just as easily as they can support focused discussion. But despite these caveats, staffers should be able to create and administer their own sites with enough scaffolding and preparation.

Getting Your Own Drupal site

The CWRL is offering two types of individual Drupal installations: one for courses (at instructors.cwrl.utexas.edu), and one for personal uses such as blogs (at locus.cwrl.utexas.edu). To get your own installation, simply e-mail support@support.cwrl.utexas.edu and specify whether you would like a personal or instructor installation (or both--these are separate accounts). You'll be issued a user name (most likely your last name) and a password which will allow you to log-in at instructors.cwrl.utexas.edu/yourusername or locus.cwrl.utexas.edu/yourusername. After you log in, make sure that an administration menu appears as in the image below. If not, you will need to send a follow up message to support@support.cwrl.utexas.edu requesting administration privileges for your Drupal installation.

Getting Started

When you log in, you will see a side menu that resembles the following:

Adminstration menu listing the following:TK

The content and account settings sections of this menu are covered in the users' documentation. Here we will consider the most important administration settings. Drupal is very flexible, but you have to configure its settings.

Permissions

An exciting possibility for use in courses is to allow students to post and access specific content. This section will focus on two parts of the admin menu: Users and Access Control. Note that default Drupal settings severely restrict permissions, so refer to access control if you are having trouble publishing viewable content.

Access control. This admin page contains three tabs: permissions, roles, and account rules.

Three tabs reading Permissions, Roles, Rules

Permissions will be selected by default, but if you want to add more user types than the default Administrator, Anonymous User (a non-logged in visitor), and Authenticated Users (a logged in user), choose the "roles" tab. This allows you to create new roles, like "student" or "friend," etc. The edit function on this page only allows you change the name of the role, so once you have created the roles you want, go back to the permissions tab.

Under the permissions tab, you will see a list of installed modules and a table of check boxes under the user roles. Make sure that you, the Administrator, have all powers available. Use your own judgment for other users, but bear in mind that unless "access content" under "node module" is checked for anonymous users, no pages will be viewable by users who are not logged in.

Users. Here you can manage the users of your site. Under the configure tab, the Public registrations status should be "Visitors can create accounts and no administrator approval is required." This means that users can become authenticated users by registering themselves. If you prefer, you can add users by hand, under the add users tab. Under the list tab, you can edit individual permissions (upgrade from authenticated user to student, for example.) Users can be given multiple roles: in this case they would have the combined permissions of all the various roles.

Roles

Roles allow you to determine who will have what permissions on your site. By default, anyone can create an account. But you probably don't want just anyone to wander onto your site, log in, and start posting their blog or comments!

For a course, we suggest that at the minimum you create a role called "Enrolled."

  1. Click on "Administer->Access control."
  2. Click on the "Roles" tab.
  3. In the text field, type the name of the new role ("Enrolled") and click the "Add Role" button.
  4. Click on the "Permissions" tab. You'll see a grid of checkboxes, where rows represent site features and columns represent rows. For each, click the checkboxes to turn on or off each feature for each role.

For a course, we suggest turning the following features on for Administrator and Enrolled, and off for all other roles:

We suggest turning on the following features for all roles:

This will ensure that content is viewable by default.

Drupal Modules

Modules are plug-ins that allow you to customize your site. Select Modules from the Admin menu to see a list of currently available modules. Note that some are enabled by default; you can enable others by simply checking the box.

Here follows a selected list of modules. Drupal's active developer community creates new modules and posts them online at http://drupal.org/project/Modules. Since this site and the modules page include descriptions of the modules, we will only consider a few here.

Blocks
Blocks are a way of displaying content types in sidebars that appear on every page or on particular pages. You can set up blocks to show recent blog entries, recent comments, recent forum entries, and upcoming events. You can also create custom blocks to provide links to current courses, current assignments, or similar.

Events

Although you can set up a static page for your course schedule, you may want to set events up as separate nodes. This automatically

  • generates a calendar with day, week, month, and tabular views
  • allows you to display upcoming events

Flexinode allows you to create custom content types. These could be useful if you want students to turn-in assignments by uploading them (a "turn-in" content type which does not allow other students view privileges) or private notes to yourself (a "notes" content type that is viewable only by the administrator). To create a new content type, click on content, then the nested choice content type to call up the page for add and edit flexinodes.

Node-privacy-by-node allows you to restrict access on a page-by-page basis to specific user types. See Permissions.

Survey
The Survey Module allows you to create surveys in a number of different formats. Once you have created your survey though “create content,” you may edit the survey and set up the form. On the original front page, you may edit options controlling the dates the survey is available to users (both beginning and ending), a url path that will display a “thank you” page after the survey is completed, and a field to enter an email address where survey results may be sent. Under the Form tag available when the page is open for editing, you may set up the format of your survey. By clicking on add field and then choosing an option from the “Type” menu, you can choose from “textfield,” “password,” “textarea,” “radios,” “select,” “checkbox,” or “file” for the type of survey question you wish to create.

  • The Textfield Type allows for single line typed responses to questions.
  • The Password Type will blind the answers the are typed, ie for entering passwords or other hidden data.
  • The Textarea Type provides a larger field than the text box for longer responses.
  • The Radios Type creates radio buttons that may be clicked for simple questions and provided responses.
  • The Select Type provides a drop-box menu with multiple choices that may be provided.
  • The CheckBox Type offers a checkbox beside provided answers.
  • The File Type allows the user to upload a file in response to the question.

You may use various Types within the same survey as each form applies only to individual question being created.

The results of your survey will be stored under the Results tab, and may be downloaded to Excel for data compiling.

Taxonomy. This module allows you assign categories to content. Once this module is active, you can use the categories link on the admin menu to add and edit taxonomy terms. Once you create a term, you also need to assign it to specific content types.

Taxonomy_menu and Taxonomy_block modules will be covered in the CWRL workshop “(re)Organize Your Drupal Site” to be held January 2006.
Drupal.org offers the following about the two modules:

  • Taxonomy_menu: “This module adds links to taxonomy terms to the global navigation menu. The new integrated administration menu allows modules to add their own links to the global heirarchical menu, and this module takes advantage of this in order to display a taxonomy navigation menu in a style consistent with the rest of the Drupal site navigation.”
  • Taxonomy_block: “This is a simple module to create blocks based on taxonomy. It displays listings of recently posted nodes based on taxonomy definitions. You can create as many blocks as you like.”

Forums
Drupal forums allow for threaded responses. You may grant users permission to create threads, or to comment on threads that you post. NB: with the current version of drupal does not users restricted from posting comments to view forum topics.

You have the option of creating "containers" to group forums. You may wish to use these to archive past forums.

Aggregator

An RSS aggregator pulls in content from several different external sources and makes them available through your page. These sources could include blogs, news sites, individual sites, or others. Such sources could provide your class with a steady stream of course-related material.

In one example, a course page on user-centered design includes a list of links aggregated from UCD sites. The aggregated links appear in the right sidebar; clicking on "More" lists them within the body of the page along with blurbs. Students can then investigate, draw from, cite, or critique the latest posts about a topic.

The aggregator is not turned on by default. To set up the aggregator,

1. Log in, then click on "Administer->Modules."
2. Find "Aggregator" in the list, enable it, and save your changes.
3. click on "Administer->Aggregator."

Now, turn on access to the aggregator:

1. Click on "Administer->Access Control"
2. Find the line "access news feeds" and click all checkboxes on that line.
3. Find the line "administer news feeds" and click on just the checkbox for "Administrator"

Two of the reasons we chose Drupal for supporting CWRL courses are that Drupal is being rapidly developed and that it is quite flexible. Both characteristics mean that you may come up with your own uses for Drupal as you become an advanced user.

URL Filter allows you to enter both "http://www." and "http://" addresses without using any html code to make them active links. With the module activated, you no longer need to enter the "a href" tags. The active link will terminate after a space, so: http://instructors.cwrl.utexas.edu CWRL drupal will display the first section as a hyperlink and "CWRL" as text. Full HTML code for links (using "a href" tags) will be rendered as normal. NOTE: you must include a full horizontal space between links for conversion to occur properly.

Adding Modules

The Drupal development community is constantly developing new features. The list of modules is a good place to go to see new features; some modules are documented thoroughly.

Since your Drupal course site is centrally administered, you can't add modules to your course site. You can email module requests to CWRL Support; if the module appears to be a positive addition and does not duplicate existing functionality, it will be added between semesters. You will be expected to write documentation for any module you request.

Finding New Uses for Current Features

In addition, you may find new uses for current features. This could be as simple as developing a facility to have students turn in their papers, or as complex as writing your own PHP script to list blogs by username.

If you do find a new use for a feature, please share it with us. You could

  • Discuss it with your workgroup
  • Post it to your blog
  • Write a white paper

Drupal Course Model #1 (Book)

For basic users, we suggest setting up your course in a hierarchical structure called a "book." Students will be able to go to the root page -- the course page -- and find all information on the course. An example is at http://instructors.cwrl.utexas.edu/spinuzzi/2005summer/rhe306.

Creating a Root Page

To set up a page for your course,

1. Log in. The instructor's login should have administrator privileges.
2. In the navigation box (the left top box, which should have your login name at the top), click on "Create Content."
3. Click on "book page"
4. Fill out the form, entering the course title in the Title field and the course's information in the Body field.
5. When you are done, click "Submit."

Creating Other Pages

Once you have created the root page, you can add a syllabus, project descriptions, and other information. If you know HTML, you can embed heading tags; if not, we suggest using ALL CAPS for headings.

1. Go to the root page for the course.
2. Scroll to the bottom and click on "Add a child page." Drupal will bring up a form for adding the new page.
3. Fill out the form, using a descriptive title (e.g., "Syllabus") and entering the appropriate information into the Body.
4. When you are done, click "Submit."

This procedure works for any book page. So if you want to add supplemental information related to a project, for instance, you can attach it directly to the project page. Here's an example.

By default, Drupal allows students and instructors to add comments to any page. This feature can be useful for asking questions and adding clarifications. For instance, if a student has a question about an assignment, she or he can attach her question directly to the assignment page. Similarly, the instructor can add comments that elaborate on the assignment or resources that can be used to complete it.

Integrating Blogs

By default, students and instructors can blog -- that is, contribute pages to the site. Blogs tend to be daily observations. In most blogs, authors describe events, record their thoughts about their current projects or current events, and include links to other sites. In your class, you might use your blog to share links and make announcements, and you might suggest that students do the same with their blogs.

Blogs are located under your course page. To get to the blogs page, go to the course page and add ?q=blog. For instance, on Clay Spinuzzi's course site, the blogs are at
http://instructors.cwrl.utexas.edu/spinuzzi/?q=blog

To create a blog entry,

1. Log in.
2. In the navigation box (the left top box, which should have your login name at the top), click on "Create Content."
3. Click on "personal blog entry"
4. Fill out the form, entering an appropriate title in the Title field and the information in the Body field.
5. When you are done, click "Submit."

Running the Course

Once you have set up your course, it's time to use it to support your class.

Creating logins

Have your students go to your course page and click on "Create New Account" (under the login/password form). They will then follow instructions to create their own accounts.

  • Remind them to use an email address that they can access over the web and that they will check frequently: Drupal will email their password to them.
  • Have them log in and change their passwords to something they will remember.

Assigning roles to students

If you set up a role for students (such as "Enrolled"), wait until they are all registered, then

1. Log in and click on "Administer->Users."
2. For each user who is a student in your class,
1. click "Edit"
2. scroll down to "Roles" and click the students' role ("Enrolled").

Blogs, comments, forums, and policy

Students will often be intrigued by the possibility of adding their own content to the site. Sometimes this content will be directly germane; at other times, it may be inappropriate. We suggest spelling out a policy for what constitutes worthwhile contributions, including a clear process of mediation for inappropriate content and a clear path for escalating issues. Mediation might include

  • issuing warnings
  • removing selected posts
  • suspending privileges for attaching content

Attachments

If you set up your class along the lines described in Setting Up a Course, only enrolled students will be able to upload and view attachments. By default, users can upload certain types of files: Microsoft Office documents, PDFs, HTML, TXT, and some graphics files. Again, we recommend a policy for appropriate content for attachments.

Links

To put it mildly, there is a lot of content to which students should probably not link. We recommend spelling our your policy on links as well.

Drupal Course Model #2 (Blog)

This model provides a steady stream of posts for students to read and respond to. See http://instructors.cwrl.utexas.edu/tnelson for a sample, though keep in mind that this model is not oriented toward a finished product. Unlike the book model, this model does not create a fixed document of the course. It users the front page or instructor's blog rather than a dedicated node, so is by nature transient.

Rationale
Using a blog as the main web interface for a class allows for frequent, reflective instructor updates and greater student interaction. Such a class interface is not only administrative resource (as a repository of documents and assignments), but an extension of class discourse. Since a blog enables frequent updates and arranges them chronologically, this course page becomes a fluid text, reacting to and recording classroom events. Instructors can elaborate on the material presented, reflect on events in class, and solicit reactions from students (posted as comments). With comments, students can ask questions to which instructors can then either answer or ask other students to respond. New questions or directions for the class can arise from this exchange.

Content
Because the purpose of a CMS is to manage content, this model could draw on an existing body of blog posts. If for instance you used Moveable Type as a course interface, you could consider importing individual entries into Drupal for reuse. (At this point, cutting and pasting is the easiest option. We are looking for a good automated transfer from Moveable Type.) If you used categories in MT, you can recreate them in Drupal (see Taxonomy above). Otherwise, consider devising a descriptive taxonomy based on rhetorical concepts, class business, etc.

If you enable the privacy by node module, you will be able to restrict access of your posts until such time you decide to make them public. Using the search function and taxonomy terms, you can find posts which you can then adapt for use.

Adminstrative Settings

Go to Administer>Modules and make sure the following are enabled: blog, book, comment, node, node privacy by role, search, taxonomy, and any other modules you might like to use.

Go to Access Control and make sure the modules have the proper permissions: probably read for anonymous, authenticated or enrolled status to post comments. You may want to reserve Search for Administrator use only.

Go to Content>Configure>Content Types and set the default permissions of the content type you wish to use (blog or book). Make sure to grant the Administrator permissions for View, Edit and "Permissions for Permission" (for privacy).

While this model is based on blogs, you can use book pages to fit posts into hierarchies. Enabling book blocks will create a menu that shows users how a post figures into the overall course.

This model can also incorporate individual student blogs, forums, and other options.