Drupal Installation Information

Drupal Details

Key features that are built-in to the main Drupal package:

  • Friendly URLs: Provides visitors intuitive URLS, and enhances search engine indexability.
  • Customization: Drupal's modular system enables sites to be customized to suit Amasong's needs. In addition, themes are modular and are intended to be highly customized without losing functionality.
  • Role-based Permissions: Permissions are based on a user's role (or roles). The administrator can define a set of permissions that apply to a certain pattern of use or role (such as Section Leader, Board Member). Users may have multiple roles which results in a combined permission set of those roles.
  • Customized Profiles: Users can customize their profiles, including adding avatars that can accompany their forum posts. Additionally, site administrators can collect user data and determine which data are public and private data.
  • Threaded Comments: Site visitors can add comments to any content on the site (within restrictions imposed by the administrator) and the comments will appear next to the original material.
  • Version Control: Tracks changes made to pages. This feature can log who makes changes, which changes they made, and when the change was made. Additionally, it allows content to be rolled-back to a previous version.
  • Blogging/News: Any user with appropriate permissions may have a blog or publish news to the site. Using Drupal's internal aggregation features, it is possible to create a summary view of all posts using practically any criteria for display and sorting, including reverse chronological order. Drupal supports exporting content via an RSS feed.
  • Content aggregator: Aggregates content from your site and/or others into a single summary page.
  • Syndication: Visitors can subscribe to a page and are provided new content via industry standard feeds (ATOM/RSS/XML).
  • Forums: Drupal has a basic forum module. There are many contributed modules extending this functionality, making Drupal forums comparable to many other forum programs.
  • Caching: Decreases page load times and can significantly reduce server load.
  • Tagging: Tagging support can be enabled in one of two modes: categories or free tagging. In category tagging, all tags must be added by an administrator or other privileged user. Users are then able to assign content a tag from this predefined list. In free tagging mode, a user can use any term they wish to tag their content.
  • Forms: Drupal has several form modules. The simplest are the Contact and Advanced Contact modules. These allow free-form e-mail messages to be composed and sent to the specified Drupal user (for the Contact module), or to any predetermined address (for Advanced Contact). Contact is useful for allowing members to send messages to other members without revealing e-mail addresses. Advanced Contact is better suited for providing a site-wide contact list (i.e. Contact Webmaster, Contact Board of Directors, etc.), and also does not reveal the actual e-mail address. See http://www.stnicholasurbana.org/contact for an example of the advanced module. More sophisticated form functionality is available to allow for the creation of entire web forms, with data passed to an electronic processor or relayed to a designated e-mail address. Additionally, depending on server configuration, it is also possible to automate sign-up to the Amasong mailing list and to have AJAX-enabled forms.

Required Modules List

This list represents a minimal list of modules and dependencies required to achieve the functionality of a typical site. This list does not include any multimedia modules as there are multiple ways to implement multimedia, and there is no one solution that is necessarily the best in all cases. Optional Drupal core features can be disabled on those sites not requiring them. All other modules in this list are strongly recommended.

Drupal Core (required):

  • Block: Controls the boxes that are displayed around the main content.
  • Filter: Handles the filtering of content in preparation for display.
  • Node: Allows content to be submitted to the site and displayed on pages.
  • System: Handles general site configuration for administrators.
  • User: Manages the user registration and login system.
  • Watchdog: Logs and records system events.

Drupal Core (optional):

  • Aggregator: Aggregates syndicated content (RSS, RDF, and Atom feeds).
  • Blog: Enables keeping easily and regularly updated user web pages or blogs.
  • Book: Allows users to collaboratively author a book.
  • Comment: Allows users to comment on and discuss published content.
  • Contact: Enables the use of both personal and site-wide contact forms.
  • Drupal: Lets you register your site with a central server and improve ranking of Drupal projects by posting information on your installed modules and themes.
  • Forum: Enables threaded discussions about general topics.
  • Help: Manages the display of online help.
  • Menu: Allows administrators to customize the site navigation menu.
  • Path: Allows privileged users to rename URLs.
  • Profile: Supports configurable user profiles.
  • Search: Enables site-wide keyword searching.
  • Statistics: Logs access statistics for your site.
  • Taxonomy: Enables the categorization of content.
  • Throttle: Handles the auto-throttling mechanism to control site congestion.
  • Tracker: Enables tracking of recent posts for users.
  • Upload: Allows users to upload and attach files to content.

Other Modules

  • Events: Rehearsals and performances can be handled using the Event module. There is an optional calendar module for displaying this information in calendar format, rather than the default list format.
  • Admin message: Display administrative messages that can be individually closed by logged in users.
  • Advanced Contact: Provides additional features to the default Drupal contact form.
  • Copyright: Site-wide and node-specific copyright management.
  • FCKeditor: Enables the usage of FCKeditor (WYSIWYG) instead of plain text fields.
  • Global Redirect: Searches for an alias of the current URL and redirects if found. Stops duplicate content arising when path module is enabled.
  • Google Analytics: Adds Google Analytics javascript tracking code to all your site's pages.
  • Path Redirect: Redirect users from one URL to another.
  • Pathauto: Provides a mechanism for modules to automatically generate aliases for the content they manage.
  • Session Limit: Limit simultaneous sessions.
  • Token: Provides a shared API for replacement of textual placeholders with actual data.
  • Update status: Checks to see if your installation of Drupal and its modules are up to date.

Views:

  • Views: The views module creates customized views of node lists.
  • Views RSS: RSS plugin for the views feed selector argument.
  • Views UI: The Views UI module allows you to create and edit views.

CCK

  • Content: Allows administrators to define new content types.

Input Filters

  • SpamSpan: The SpamSpan module obfuscates email addresses to help prevent spambots from collecting them. It implements the technique at http://www.spamspan.com/.

Server Requirements

  • Mysql 4.0 or higher
  • Apache (or Lighttpd)
  • PHP 5
  • cron
  • curl

Additionally, command-line access to the server with the ability to setup cron jobs and administer MySQL databases is required for the installation. Alternatively, the installation can be done without direct access, if the hosting provider is willing to cooperate in setting up the required facilities.

A typical Drupal install is about 25MB, plus content. Because there will be substantial multimedia files and images, we expect the site to consume more than 100 MB in the first year.

To provide optimum performance, we recommend that the site run on a host with a dual processor. This is not a requirement, as the site will run happily on legacy hardware, but performance may suffer.

Theming

Drupal comes with an array of ready-to-use themes. There are additional themes which are free to use at http://www.drupal.org/project/Themes. We understand that Amasong wishes to have a customized theme to create a striking web presence, but we want to be clear about the cost involved. In our proposed budget, we have only budgeted for small adaptations to existing themes in order to drive down the cost for you. We would rather develop a theme ourselves, based on the logo. The new theme would be exclusively for Amasong's use.

Sub-sites

Group specific content areas on the choral site will utilize Drupal's permissions, the CCK, and internal aggregation to provide distinct areas for each choral section, as well as an area for the entire chorus and individual committees. Aggregation will provide a blog-like summary of all content in an area, allowing members to quickly survey new posts.

There are several mechanisms by which chorus and board sites may restrict access. Extensive use of the CCK and roles may be used to restrict access to certain content types. This would duplicate content types (i.e. there would be a “Public Page” type, a “Chorus Page” type, and a “Board-page” type). The node-based permissions and other Access Control Modules can restrict certain paths based on user and/or role. Standard web-based security may be employed, however this is inherently less secure and more difficult to maintain.

For the ultimate in flexibility and security, Amasong can run three separate sites from a single Drupal installation. This provides complete segregation of data. User accounts may be shared across all sites, or each site may have its own account database. We recommend this method with the shared user database.