Drupal 6 Bootcamp - PowerPoint PPT Presentation

1 / 105
About This Presentation
Title:

Drupal 6 Bootcamp

Description:

Drupal 6 Bootcamp Cary Gordon, MLIS The Cherry Hill Company www.chillco.com http://www.chillco.com/lita4drupal – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 106
Provided by: CaryG9
Category:

less

Transcript and Presenter's Notes

Title: Drupal 6 Bootcamp


1
Drupal 6 Bootcamp
  • Cary Gordon, MLIS
  • The Cherry Hill Company
  • www.chillco.com

http//www.chillco.com/lita4drupal
2
Agenda
  • A short chat about Drupal
  • Installing and configuring Drupal 6
  • Understanding the Drupal workflow and terminology
  • Basic site configuration
  • Setting up roles and permissions
  • Modules - where to start
  • Adding content
  • Using taxonomy to organize content
  • Using blocks
  • Using menus
  • An overview of theming - setting your site's look
    and feel

3
A Small Corner of the CMS Universe
And about 918 others (http//www.cmsmatrix.org/mat
rix)
4
Drupal is different
  • Free and Open Source
  • Simple based on the blogging idiom
  • Content Management Framework
  • Designed to as a development platform
  • The hook system
  • Drupal CVS contributions

5
Drupal Principles
  • Modular and extensible. Drupal aims to provide a
    slim, powerful core that can be readily extended
    through custom modules.
  • Quality coding. High quality, elegant,
    documented code is a priority over roughed-in
    functionality.
  • Standards-based. Drupal supports established and
    emerging standards. Specific target standards
    include XHTML and CSS.
  • Low resource demands. To ensure excellent
    performance, Drupal puts a premium on low-profile
    coding (for example, minimizing database
    queries). Drupal should also have minimal,
    widely-available server-side software
    requirements. Specifically, Drupal should be
    fully operational on a server with Apache web
    server, PHP, and either MySQL or Postgresql.
  • Open source. Drupal is based on the open source
    philosophy of collaborative free software
    development and is licensed under the GPL.
    Drupal is itself open source and builds on and
    supports other open source projects.
    Specifically, Drupal is coded in the open source
    scripting language PHP and supports as primary
    data sources the open source database formats
    MySQL and Postgresql.
  • Ease of use. Drupal aims for a high standard of
    usability for developers, administrators, and
    users.
  • Collaboration. Drupal development supports open,
    collaborative information sharing systems and
    approaches.

http//drupal.org/principles
6
Drupal Lingo
  • Node
  • Comment
  • Block
  • Page
  • Path
  • Taxonomy its back!

7
Drupal Technology Stack
PresentationHelpers
Drupal
LAMP/???P
8
What works with Drupal 6
  • Internet Explorer 6.x or later
  • Firefox 2.x or later
  • Opera 7 or later
  • Safari 1.x or later
  • Camino 1.x or later

http//drupal.org/node/61509
9
Best Practices
  • Plan your site.
  • Drupal provides a good toolset to help you build
    your site but you still need to plan. Good
    wireframes and proper planning can avoid
    significant misunderstandings and problems later.
  • Plan for the future.
  • You should revisit and reevaluate your site each
    time there is a major version release of Drupal.
    This does not mean you have to upgrade it, but
    you should evaluate and plan for an upgrade
    approximately each 12-24 months.
  • Get involved in the community.
  • This will help you follow development trends and,
    while helping others, you may just come across a
    cool idea that solves your own problem.
  • Back up your site.
  • Back up both the database and the files on the
    web server. Test your backups! If you don't test
    them, you have no idea if you are doing it right.
  • Test your php snippets.
  • Drupal gives you a great deal of power and
    flexibility when using PHP code in blocks.
    Unfortunately, a stray character or a missing
    semi-colon breaks PHP. Drupal then attempts to
    evaluate this broken code on any requested page,
    the PHP interpreter chokes on it and therefore
    your whole site is broken. Fortunately, there is
    a very simple and easy solution. Instead of
    writing and testing your code inside the
    administer gt blocks page, go to create content
    and create a new story or page node. Use PHP
    input format, write the code, and the Preview to
    debug your code. When you are satisfied that your
    code is working, copy and paste the code into the
    block.

http//drupal.org/best-practices
10
Drupal CVS
  • 3143 Total contributed modules and themes as of
    7/22
  • 608 Drupal 6 contributed modules
  • The caveat
  • Although Drupal core and contributed modules are
    tested, they are not tested in every possible
    combination and configuration. That is on you.

11
Installing and Configuring Drupal 6Server
Environment
  • What we want
  • What we need
  • Apache 2.x
  • PHP 5.2 or higher
  • GD
  • mysqli
  • Settings
  • session.cache_limiter nocache
  • Template memory 32M
  • MySQL 5.x
  • Drupal 6.2
  • Apache 1.3
  • Mod Rewrite
  • IIS 5 or higher
  • No clean URLs
  • PHP 4.3.5 or higher
  • GD
  • mbstring
  • mysql (or pgsql)
  • Settings
  • session.save_handler user
  • error_reporting set E_ALL E_NOTICE
  • Template memory 16M
  • MySQL 4.1 or higher or
  • PostgreSQL 7.4 or higher

http//drupal.org/requirements
12
Installing and Configuring Drupal 6Quick Setup
On nix
  • http//drupal.org/download
  • tar zxf drupal-6.2.tar.gz
  • mv drupal-6.2
  • cd /var/www
  • mv html html.bak (or rm -Rf html)
  • chown Rf apache html
  • mkdir html/files
  • If necessary, set appropriate write permissions
    on sites/default/settings.php
  • ls al html
  • If you dont see .htaccess, something is wrong

13
Installing and Configuring Drupal 6CPanel Hosts
  • Do NOT use a Fantastico installation!
  • Download from http//drupal.org/download to your
    workstation
  • Create a temp directory using Filemanger gt New
    Folder
  • Upload to host using Filemanger gt Upload
  • Extract using Filemanger gt Extract
  • Select all files and directories in the temp
    directory and move to /www
  • Add files directory using Filemanger gt New Folder
  • Change permissions on file directory to 0775
    using dropdown menu
  • Create database and user with MySQL Wizard
    write down the database name, user and password
    as described by the wizard (might not be exactly
    what you entered.
  • Configure cron with Cron jobs CP

14
Installing Drupal on XAMPP(thats us!)
15
XAMPP Status
16
XAMPP - PHPMyAdmin
17
XAMPP PHPMyAdminPrivileges
18
XAMPP PHPMyAdminNew User
19
XAMPP PHPMyAdminDone
20
Installing and configuring Drupal 6PHP Settings
(php.ini)
Make sure you work on the correct php.ini file!
21
Installing and configuring Drupal 6PHP Settings
(php.ini)
  • Resource Limits
  • max_execution_time 600 Maximum execution
    time of each script, in seconds (for USB DRIVE
    ONLY!)
  • max_input_time 60 Maximum amount of time each
    script may spend parsing request data
  • memory_limit 32M Maximum amount of
    memory a script may consume (8MB)
  • Error handling and logging
  • error_reporting E_ALL E_NOTICE

If your site disappears, this is the first place
to look!
22
Installing and configuring Drupal 6PHP Settings
(php.ini)
  • Data Handling
  • Maximum size of POST data that PHP will accept.
  • post_max_size 16M
  • File Uploads
  • Whether to allow HTTP file uploads.
  • file_uploads On
  • Maximum allowed size for uploaded files.
  • upload_max_filesize 16M

23
Installing and configuring Drupal 6Apache
Settings (httpd.conf)
  • This should be changed to whatever you set
    DocumentRoot to.
  • ltDirectory "/Library/WebServer/Documents"gt
  • Possible values for the Options directive are
    "None", "All",
  • or any combination of
  • Indexes Includes FollowSymLinks
    SymLinksifOwnerMatch ExecCGI MultiViews
  • Options All
  • AllowOverride controls what directives may be
    placed in .htaccess files.
  • It can be "All", "None", or any combination of
    the keywords
  • Options FileInfo AuthConfig Limit
  • AllowOverride All

24
Install Drupal on XAMPP
  • Using Windows Explorer
  • Navigate to /xampplite/htdocs
  • Remove all files (not the folders!)
  • Copy everything from the /drupal-6.2 directory to
    /xampplite/htdocs
  • Using a browser
  • http//localhost
  • The XAMPP control panel is now at
    http//localhost/xampp

25
Cron(We wont be doing this on XAMPP)
  • All scheduled Drupal services rely on cron.php
  • Like Tron with a good watch.
  • List with crontab l
  • Edit with crontab e
  • Retrieve with wget or curl (or even lynx)
  • Use scheduler on Windows servers
  • root_at_blah crontab -l
  • 45 /usr/bin/wget -O - -q
    http//foo.bar.com/cron.php

26
Drupal Setup Choose Language
27
Drupal Setup Database Configuration
28
Drupal Setup Configure Site
29
Drupal Setup Configure Site (2)
Random password generator http//www.pctools.com/
guides/password/
30
Drupal Setup Configure Site (3)
If possible, use this on your staging server.
31
The Stock Start PageTake a good look. Youll
never see it again.
32
Drupal Core requiredThe Essential Drupal
These are here because they use the hook system,
like optional modules. You cannot deselect them.
33
Drupal Core Optional Modules
  • Aggregator
  • Blog
  • Blog API
  • Book
  • Color
  • Comment
  • Contact
  • Content translation
  • Database logging
  • Forum
  • Help
  • Locale
  • Menu
  • OpenID
  • Path
  • PHP filter
  • Ping
  • Poll
  • Profile
  • Search
  • Statistics
  • Syslog
  • Taxonomy
  • Throttle
  • Tracker
  • Trigger
  • Update status
  • Upload

34
Contributed Modules(Library Edition)
  • Administration menu
  • Advanced forum
  • Apache Solr
  • Backup
  • Bibliography
  • CAPTCHA
  • CAS (single sign-on)
  • CCK
  • Content taxonomy
  • Contemplate
  • Contact forms
  • Date
  • Event
  • External links
  • FAQ
  • FeedAPI
  • File MIME type
  • Filebrowser
  • Fivestar
  • Flexifilter
  • Forum Thread
  • Freelinking
  • Front page
  • Glossary
  • Google Analytics
  • Google CSE
  • IMCE
  • jQuery update
  • jQuery UI
  • LoginTobbogan
  • Mailhandler/Listhandler
  • MARC
  • Modr8
  • Mollum
  • Nice menus
  • Node clone
  • Nodequeue
  • Organic groups
  • Pathauto
  • PNG Fix
  • Popup Modal Dialogs
  • Resource Description Framework (RDF)
  • Scheduler
  • Secure Pages
  • SimpleFeed
  • Site map
  • SPARQL
  • Terms of Use
  • TinyMCE WYSIWYG Editor
  • Views

35
Missing, So Far
  • Panels
  • Node Access Control
  • Taxonomy Node Access
  • Book review
  • Millenium
  • Z39.50

36
From AADL
  • http//www.aadl.org/devblog(not necessarily
    ready for Drupal 6)
  • III-PatronAPI
  • This is a PHP script that interfaces with III's
    optional web-based PatronAPI module and makes
    that data more easily available to PHP projects.
  • III-XMLOPAC
  • This is a PHP5 Class that uses III's XMLOPAC to
    return a bib record as a PHP array when passed
    the bib number.
  • SOPAC Middleware source code
  • SOPAC is what we call our social features on our
    public catalog. It includes the ability to add
    ratings, reviews, and tags to items in the
    catalog and integrates with our drupal patron
    account module.

37
Modules Our Starting Point (1)
38
Modules Our Starting Point (2)
39
Modules Our Starting Point (3)
40
Modules Our Starting Point (4)
41
Modules Our Starting Point (5)
42
Modules Next Steps
43
Users and Roles
  • Drupal comes with 2 built-in configurable roles
  • Anonymous everyone who not logged in
  • Authenticated everyone who is logged in
  • And one fixed role for the superuser (user/1)
  • Your roles may be
  • Discrete
  • Cascading
  • Both

44
Users
Administer User management User Settings
45
Roles
Administer User management Roles
46
Permissions
Administer User management Permissions
47
Permissions
My account
Give the user/1 a role
48
Site Configuration
  • Why does my site do X?
  • Because you told it to do X
  • Or because you didnt tell it not to do X

49
Site Information
Administer Site configuration Site information
50
Clean URLs
Administer Site configuration Clean URLs
51
Date and Time
Administer Site configuration Date and time
52
Error Reporting
Administer Site configuration Error reporting
53
File System
Administer Site Configurationgt File system
54
Input Formats
Administer Site Configurationgt Input formats
55
Input Formats
Administer Site Configuration Input formats
Add input format
56
But I Want PHP!
  • PHP filter module (Administer Site building
    Modules)
  • PHP code input filter (Administer Site
    Configuration Input formats)

57
The Tab Trap
Here be tabs!
  • Some people dont see these.
  • Those people are shocked to find that they have
    missed most of the settings.

58
Performance
Administer Site configuration Performance
59
Performance
Administer Site configuration Performance
60
Performance
Administer Site configuration Performance
61
Status Report
Administer Reports Status report
62
Available Updates
Administer Reports gt Available updates
Relies on cron
63
Content Types
  • OOTB
  • Page
  • Story
  • Core
  • Book Page
  • Forum
  • Blog Post
  • Poll
  • Contributed
  • Event
  • Yours
  • CCK
  • Modules

64
Organizing Content
  • Front page
  • Menus
  • Taxonomy
  • Views
  • Blogs
  • Nodequeue
  • (Panels)

65
Adding Content
66
Adding Content
67
Adding Content - Preview
68
Adding Content - Settings
69
Adding Content - Publishing
70
Adding Content - Done
71
Taxonomy
Administer Content management Taxonomy
72
Taxonomy - Vocabulary (1)
Administer Content management Taxonomy
73
Taxonomy - Vocabulary (2)
Administer Content management Taxonomy
74
Taxonomy Terms (1)
Administer Content management Taxonomy List
terms
75
Taxonomy Terms (2)
Administer Content management Taxonomy List
terms
76
Taxonomy List Terms
Administer Content management Taxonomy List
terms
77
Applying Taxonomy
Administer Content management Taxonomy List
terms
78
Applying Taxonomy
79
Viewing Taxonomy
80
Viewing Taxonomy Combining Terms
81
URL Aliases
Administer Site building URL aliases
82
URL Aliases
Administer Site building URL aliases
83
URL Aliases
Administer Site building URL aliases
84
Menus
Administer Site building Menus
85
Menus
Administer Site building Menus Add menu
Menus are blocks!
86
Menus
Administer Site building Menus menu name
87
Menus
Administer Site building Menus menu name
Add item
88
Menus
Administer Site building Menus menu name
89
Blocks
Administer Site building Blocks
90
Blocks
Administer Site building Blocks
1
2
91
Blocks
Administer Site building Blocks
92
Blocks
Administer Site building Blocks
93
Blocks
Administer Site building Blocks
94
Blocks
95
Themes
Administer Site building Themes
96
Themes Configure (1)
Administer Site building Themes Configure
97
Themes Configure (2)
Administer Site building Themes Configure
98
Themes Configure (3)
Administer Site building Themes Configure
99
Contact Form
Administer Site building Contact form
100
Contact Form Add Category
Administer Site building Contact form Add
Category
101
Contact Form Settings
Administer Site building Contact form
Settings
102
Contact Form
103
Primary Links
Administer Site building Menus Primary links
104
Primary Links
Administer Site building Primary links Add
item
105
Resources
  • Websites
  • http//drupal.org
  • http//groups.drupal.org/library
  • http//drupal.org/forum
  • http//drupalib.interoperating.info
  • Mailing lists
  • http//lists.drupal.org/listinfo/security
  • http//lists.drupal.org/listinfo/support
  • http//listserv.uic.edu/archives/drupal4lib.html
  • Feeds
  • http//drupal.org/planet
  • http//drupalib.interoperating.info
  • IRC
  • irc.freenode.net6667 drupal-support
    drupal-themes
Write a Comment
User Comments (0)
About PowerShow.com