340 likes | 446 Views
Basics of Drupal for Researchers. Stephanie Moore , Department of English Drupal Consultant, Research IT stephaniemoore @berkeley.edu Based on a course designed by Quinn Dombrowski , Digital Humanities Coordinator at Berkeley, Research IT quinnd@berkeley.edu. DH and Drupal at Berkeley.
E N D
Basics of Drupal for Researchers Stephanie Moore, Department of English Drupal Consultant, Research IT stephaniemoore@berkeley.edu Based on a course designed by Quinn Dombrowski, Digital Humanities Coordinator at Berkeley, Research IT quinnd@berkeley.edu
DH and Drupal at Berkeley Berkeley has DH/RIT consulting services! research-it.berkeley.edu digitalhumanities.berkeley.edu dlab.berkeley.edu Drupal Developers’ Circle Every other Thursday 9:30-10:30am, D-Lab (Next: April 7th)
What is Drupal? A free, open source content management system and web application framework supported by an international community of developers
What is Drupal? A free, open source content management system and web application framework supported by an international community of developers Lets you build complex database-driven websites without writing code or managing a database
What is Drupal? A free, open source content management system and web application framework supported by an international community of developers Lets you build complex database-driven websites without writing code or managing a database Similar tools: WordPress, Omeka, MediaWiki
Do you need Drupal? …or WordPress? …or Omeka? …or MediaWiki? …or custom programming? …or any of the many web-based or installable tools for digital research?
When Drupal is most useful Presentation of curated research collections that contain structured data Projects with many collaborators Projects short on funding
Drupal is a generic tool Not designed for a specific kind of content Supported by a huge developer community, mostly not affiliated with universities Growing community of projects that use it at Berkeley and elsewhere
What this workshop will cover Setting up a basic, working Drupal site Finding, evaluating, installing and troubleshooting modules Good data modeling practices Controlling the presentation of data A few widely used Drupal modules
What we’ll be doing Setting up an example site on Pantheon Designing a data model for our site Installing modules, configuring content types and displays, and adding sample data to build our site
What this workshop will cover Today: Technical overview of Drupal Setting up a new Drupal site Key concepts: modules and content types Installing andenabling modules Intro to content types and data modeling
What this workshop will cover Next week: • Configuring fields for content types • Adding content • Blocks • Themes
What this workshop will cover Final week: • Views (database queries) • Menus • Users androles • Images and files • Other stuff as needed
Development Environments Cloud Pantheon: https://getpantheon.com Desktop Acquia LAMP/WAMP/MAMP
Hosting: Pantheon Free for anyone to develop a site $20/month for basic site with few visitors $75/month for more server resources vs. < $10/month for inexpensive external shared hosting, capable of running multiple sites
Technical overview of Drupal Drupal Core Modules Themes Database
Technical overview of Drupal Theme (PHP/CSS) Core (PHP) Module (PHP) Module (PHP) Module (PHP) Theme (PHP/CSS) Database (MySQL)
Technical overview of Drupal Building a Drupal site mostly comes down to two things: Finding and installing modules Configuring content types
Installing modules Administration menu Backup and migrate CTools Token Pathauto Views Module filter (optional)
Drupal components: entities Content types Nodes Taxonomy vocabularies Taxonomy terms Users Roles
Drupal components: entities Each entity has… Fields Display modes Settings
Data modeling A content type is a schema for creating individual nodes A content type includes a set of datafields and rules for displaying them Fields can be of many different types—and once you put data in them, they’re hard to change
Data modeling What’s data and what’s metadata? • Data = content types • Metadata = fields (and taxonomies)
Data modeling: field types Text Numerical (integer/decimal/float) Boolean (true/false) Image Reference (node, taxonomy term, or user) …module-specific types, including File or media stream Link Date
Jan Brueghel Database (simplified):Content Types, Fields and Vocabularies Object Fields: Title Image Object Type Genre Medium Tags Year Height Width Location Signature Collaborators Attribution Provenance External Resources Bibliography Exhibition History Related Works Curatorial Files Taxonomy Vocabularies Person Fields: Biography Role • Object Type • Terms: • Painting • Drawing • Print • Etc. … Curatorial File Fields: File File type Research date Researchers Original format Location Genre Medium Tags Blue = content type Red = taxonomy vocabulary Fields in italics are reference fields Location Attribution
Data modeling: typical decisions you have to make • Should something be a taxonomy vocabulary or a content type? • When to mergesimilar content types?
Data modeling: node vs. term Drupal treats nodes more like “things” and terms more like “pointers to things.” By default… A node path takes you to a page that displays the fields for that node, while… A term path takes you to a list of nodes that include references to that term
Data modeling: merging content types Drupal-based considerations: • Display/hide author and post date • Commentsettings • URL patterns • Permissions
Founders on the Founders What we have: A corpus of quotations by, to, and about the Founding Fathers and Mothers Biographical data and pictures What we want: A directory of the Founders, each entry of which… Displays a biography of the individual, and… A list of quotations about them, in chronological order, with dates and names of author and addressee
For next week • Finish installing modules: Backup and migrate, Ctools, Token, Pathauto, and Views • Also install: Date, References, and Automatic Nodetitles • Think about our data model for the Founders on the Founders site: what should our content types be?
Installing Modules Use Google to find the module’s project page on Drupal.org Find out the module’s dependencies (and install them) Choose a version—must be 7.x, usually the most recent stable release (green), not the dev version (red) Right-click and copy the link for the module package (zip or gzip) Under your site’s admin menu, select Module > Install new module Paste module link into “Install from a URL” and click “Install” Click “Enable installed modules” and use checkboxes to enable the module! (Remember to click “Save”)
Sites Mentioned Founders on the Founders: http://csac.history.wisc.edu/founders_on_the_founders.htm Jan Brueghel Database: http://janbrueghel.net Bulgarian Dialectology as Living Tradition: http://live-bdlt-d7.pantheon.berkeley.edu/ Drupal: http://drupal.org