How to get started with Drupal
- A brief intro video by Ping Vision
- The System
- Core Concepts and Words
- Contributed Modules
- More References
- read all about it...
What is drupal? Take 1 minute and watch this video. http://pingvision.com/videos/1/what-drupal-57-seconds
There are two great things that make Drupal Drupal. The first is the community. The second is the code.
So it is important to know who you can ask for pointers and advice. A good place to find these people is at http://groups.drupal.org.
If you are in the Rocky mountain area, for example, here are some active groups.
Other places to ask for help, and to help others:
the system & interface
- download drupal (aka drupal "core") from http://drupal.org/project/Drupal+project
- get the latest stable version... currently Drupal 6.
- unpack and upload to a web server (or install on you desktop - use xampp for windows, or mamp for mac.)
- create an empty database, then install Drupal... more of a walkthrough is at http://drupal.org/getting-started/6/install/run-script
- enable clean urls if possible
This next section will hopefully cut through some Drupal fog.
Core Concepts and Words
- Nodes - are "content" in Drupal. A generic word that refers to any type of content that is posted to the site. Articles are nodes. Blog posts are nodes. Stories are nodes. Some things that are NOT nodes are: comments, users, blocks, menus, and taxonomy.
- Comments - are attached to nodes. They are much simpler than nodes, usually little more than a text box.
- Taxonomy - is a way to classify and categorize your content. Taxonomy is the system. Multiple vocabularies can be added to a site. Example vocabularies could be Category, Tags, Color, Size. Vocabularies contain Terms.
- Menus - are hierarchical lists of links to pages, not necessarily to nodes. They are managed at example.com/admin/build/menu.
- Themes - control the appearance of your site. They are managed at example.com/admin/build/themes
- Regions - are specific areas of a theme, into which you can assign blocks.
- Blocks - are smaller bits than can be inserted into regions of a theme. Many modules make blocks of their own available. some examples:
- who's online right now
- a notice that you type in, that you want to appear on all pages.
- Users - user accounts on the site. Users can be assigned to roles you define, which can have varying levels of permission to do things in the site.
- Modules - supply additional functionality to your Drupal installation. Some popular modules are listed later.
- Page - is everything that shows up when you load a specific URL. It will likely contain blocks, menus, decoration, as well as a main content area, usually used to display a node. But a page is not necessarily just a node.
- example.com/node/1 is a node page.
- example.com/node/23 is a node page.
- example.com/user/1 is a user page.
- example.com/taxonomy/term/5 is a listing of nodes that have a specific taxonomy term attached.
- example.com/admin/settings/performance is an admin configuration page.
- /sites/ - is the only directory you will ever modify the contents of. All other directories (includes, misc, modules, profiles, scripts, and themes) you should never touch, except when upgrading Drupal. All of your custom work happens inside /sites/.
- There are two folders that you will create first off:
- /sites/all/themes (for custom and downloaded themes)
- /sites/all/modules (for custom and downloaded modules)
using contrib themes
- Experiment with the built-in themes first, such as Garland.
- Browse the theme repository, find 2 or 3 that you like, and download them.
- extract, and upload to /sites/all/themes/
- e.g. /sites/all/themes/a3_atlantis or /sites/all/themes/abarre
- extract, and upload to /sites/all/themes/
- Visit /admin/build/themes to activate and configure it.
- Visit /adbin/build/block to assign blocks into you selected theme.
creating your own theme from scratch
- refer to this page - http://www.davidlanier.com/blog/2008/8/minimal-drupal-6-theme-creation
- look at the contents of a downloaded theme for examples
creating your own theme as a subtheme of someone else's theme
- a subtheme modifies an existing theme without hacking the original code.
- why: easily benefit when the author udpates their theme.
- create a custom theme
- in the theme.info file, add this line:
base theme = zenbut replace zen with the name of the theme that you are subtheming
- use the guidelines here http://drupal.org/node/226507
Some popular modules
- Content Construction Kit (enables additional fields on nodes)
- Views (an advanced query builder to create custom lists of content, users, comments, etc.)
- Pathauto (automatically changes /node/2 to /stories/2008-10/title-of-story)
- Fivestar (a voting widget)
- Nice menus (enables pop-up menus)
FCKEditor (wysiwyg editor for text areas)
writing your own drupal modules
- this is probably beyond the scope of this guide, but I'll mention a couple of things anyway.
- most lines of code are short and easy to read.
- study core modules and highly popular modules for good examples.
- book: Learning Drupal 6 Module Development
- case studies
- site recipes
- theme garden
- My Delicious Drupal links
- blogs and feeds
- Pro Drupal Development http://www.drupalbook.com/
- Learning Drupal 6 Module Development http://www.packtpub.com/drupal-6-module-development/book