Changes between Version 3 and Version 4 of DrupalIntegration
- Timestamp:
- Oct 23, 2013, 10:07:48 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DrupalIntegration
v3 v4 5 5 6 6 == Benefits of Drupal == 7 The 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 7 9 Drupal offers a number of benefits to project maintainers: 8 10 … … 18 20 Current BOINC projects that make use of Drupal integration: 19 21 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) 21 23 22 24 == Drupal Module Organization == 25 Drupal 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 23 27 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: 24 28 … … 32 36 [[Image(BOINC-Drupal_dataflow.png, 800px)]] 33 37 38 == Code Organization == 39 Drupal 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 34 43 == How to Install == 35 44 See further documentation at InstallDrupal. 45 46 == Basic Site Management with Drupal == 47 48 Admin web interface: 49 50 * Content management 51 * Site features 52 * BOINC configuration 53 54 Using 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 61 Typical 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