wiki:DrupalIntegration

Version 2 (modified by tristano, 11 years ago) (diff)

--

TOC?

Overview

BOINC-Drupal integration harnesses many powerful functions of the Drupal development framework and content management system, both simplifying the management of BOINC projects and improving the end user experience on project websites.

See further documentation on how to InstallDrupal.

Benefits of Drupal

Drupal offers a number of benefits to project maintainers:

  • CMS: Create and manage site content without knowledge of HTML
  • Theming: Full CSS support, complete with template overrides in custom themes
  • Change management: Site configuration can be exported to code for versioning, minimizing manual changes
  • Powerful deployment: Changes can be deployed across development and production systems with minimal effort
  • Extensibility: Designed to be modular and extendible to balance simplicity and functionality
  • Distributed maintenance: Most code owned by active members of the community, simple update process

Simplified management for project maintainers allows more time to be spent on content, site features, and presentation, improving the end user experience by extension.

Current BOINC projects that make use of Drupal integration:

Drupal Module Organization

The structure of any Drupal site revolves around the core functions of Drupal, third party enhancements to that core, and custom code that provides any required functionality not otherwise available by either of those established channels. This organization could be described as some combination of core, contrib, and custom modules working together to provide high level site features:

Modules generally build on other modules, so a custom module to enhance part of the system may work in conjunction with half a dozen other modules in order to provide a given function.

Database Integration

The Drupal system ties into the BOINC database in order to display information for users, hosts, and teams. Most of this involves reading data only, though user profile data and preferences operate in a shared state, allowing changes to be made to the relevant BOINC table records from either the standard BOINC or Drupal enhanced web interfaces. There is also an import module that offers an interface for importing data when it is not feasible to rely on shared or read-only access, as is the case for discussion forums and private messages. The following diagram details how the BOINC database is used by the Drupal system:

Attachments (3)

Download all attachments as: .zip