Changes between Version 3 and Version 4 of DrupalIntegration


Ignore:
Timestamp:
Oct 23, 2013, 10:07:48 PM (11 years ago)
Author:
tristano
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DrupalIntegration

    v3 v4  
    55
    66== Benefits of Drupal ==
     7The philosophy of Drupal is to keep things simple and modular. Theme code for visual design is separate from site functionality logic, which is separate from the site content itself (it is similar to MVC, but is more appropriately a PAC architecture). Distinct types of functionality are packaged together in modules for simple organization. These modules can be turned on and off, leveraged by other modules, or even shared for use in other development projects.
     8
    79Drupal offers a number of benefits to project maintainers:
    810
     
    1820Current BOINC projects that make use of Drupal integration:
    1921
    20  * [http://albert.phys.uwm.edu/drupal Albert@home] (test project for @Einstein@home)
     22 * [http://albert.phys.uwm.edu/drupal Albert@home] (test project for Einstein@home)
    2123
    2224== Drupal Module Organization ==
     25Drupal is built on the concept of a solid core set of functions that can be extended as required to handle the specific needs of a project. The "Drupal way" of doing almost anything is to take a core function or theme and augment it by hooking into it with a module, which essentially just adds the desired code to an existing routine. The code for core Drupal functions should never be modified directly! Custom modules can be written to provide new functions, or there is a large community of developers building and maintaining shared modules on the drupal.org website. Most of the functionality needed for integration with BOINC is provided by these third party modules.
     26
    2327The 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:
    2428
     
    3236[[Image(BOINC-Drupal_dataflow.png, 800px)]]
    3337
     38== Code Organization ==
     39Drupal is installed in a web directory, typically at the root of a virtual host. Initially, this installation is the Drupal core only and contains no contributed modules or custom code. At the top level of the core Drupal installation is a //sites/// directory. This is where contributed and custom modules are deployed. Hosting multiple sites from one instance of Drupal is possible by creating directories for each site domain here, each with the modules needed for its corresponding site, and an additional //all/// directory for shared modules and themes. In a single-site deployment, the //default/// directory will be used instead of a domain name.
     40
     41[[Image(BOINC-Drupal_web_root.png, 500px)]]
     42
    3443== How to Install ==
    3544See further documentation at InstallDrupal.
     45
     46== Basic Site Management with Drupal ==
     47
     48Admin web interface:
     49
     50 * Content management
     51 * Site features
     52 * BOINC configuration
     53
     54Using drush on the command line:
     55
     56 * drush fl : List all Features with current status
     57 * drush fr-all : Reload all Feature configurations from code
     58 * drush fu [feature] : Update Feature code using current configuration in Drupal
     59 * drush cc : Clear Drupal caches (when in doubt, clear it out... solves many problems)
     60
     61Typical deployment process:
     62
     63 1. Make changes to code and configuration on development system
     64 1. Check Features list for overrides and run //drush fu// (or use the web interface to recreate any overridden Features) to capture changes
     65 1. Commit changes to relevant git repository and branch, push to origin
     66 1. Pull changes into web root of deployment target (e.g. beta system)
     67 1. Run //drush fr-all// or opt to revert individual Features to apply changes present in code to the Drupal database