52
Steve Kessler Denver DataMan

Understanding Drupal

  • Upload
    ivie

  • View
    36

  • Download
    2

Embed Size (px)

DESCRIPTION

Understanding Drupal. Steve Kessler Denver DataMan. Our Presentation. What is Drupal Drupal Core Modules Site Building Resources. Content, Content Everywhere and Giving People A Place to Drink. A great Internet site is like a well made watering hole. - PowerPoint PPT Presentation

Citation preview

Page 1: Understanding Drupal

Steve Kessler Denver DataMan

Page 2: Understanding Drupal

Our PresentationWhat is DrupalDrupal Core Modules Site Building Resources

Page 3: Understanding Drupal

Content, Content Everywhere and Giving People A Place to Drink A great Internet site is like a well made

watering hole. There is lots of information on the Internet

and much of it is not worth the time it took to write it.

Internet users are saturated with JUNK and SPAM!

A great website shows users why your content is worth “drinking from” and makes it excisable so they will.

Page 4: Understanding Drupal

What do Internet users want at your watering hole?

Page 5: Understanding Drupal

Drupal as a CMSSolid well developed system that can be

expanded to be used in any industry segment Content is stored separately from the way its

displayed so that it can be used in many different ways on the same site

Easy control of access to specific content Sites can be built to be easily maintained by

non-technical users Sites can be optimized for being found by

search engines

Page 6: Understanding Drupal

Open Source The source code for everyday software and

non-specialized applications should be open and built by a community of developers.

Open source code promotes ingenuity and applications that will work in the most cases

Open source allows for many users to vet code and check for best practices and optimization

Open source is not just for idealists - there is lots of money to be made in customization and providing services based on open source software (like today’s session)

Page 7: Understanding Drupal

Popular, Powerful, Robust, SecureMany sites are being built on Drupal Here are some great examples that are

driving Drupal innovation!

Page 8: Understanding Drupal

The Onion

Page 9: Understanding Drupal

Sony myplay

Page 10: Understanding Drupal

PopSci

Page 11: Understanding Drupal

ubuntu

Page 12: Understanding Drupal

PopularDrupal is gaining in popularity Big sites and little sites are using Drupal Drupal is being used in the real world not just

hobbyist and nonprofits.

Page 13: Understanding Drupal

Powerful and Robust Drupal is built to run using the latest

technologies that it optimizes for speed Thousands of modules allow for modular

additions to the platform including:Ecommerce MultimediaComments Dynamic User Groups And many, many, many, more

Highly scalable

Page 14: Understanding Drupal

SecureDrupal developers work to make the platform

very secureDevelopers are working on making Drupal

easier to administer while still remaining secure Automatic updatesSecure transfer of data between Drupal.com

and your website When problems are found they are resolved

rapidly

Page 15: Understanding Drupal

There is no longer a “Drupal Look”Because Drupal has such flexible themes a

Drupal website does not need to look like a Drupal website

Page 16: Understanding Drupal

The Drupal CommunityThe Drupal community not only builds Drupal

but it also provides support for Drupal.The Drupal community is very in tune to

helping users get started with Drupal.The Drupal community is innovative and wins

many awards.

Page 17: Understanding Drupal

Drupal VotingYou can support Drupal by voting for Drupal

in upcoming award programsLook at the front page of Drupal.org for more

information on these types of opportunities

Page 18: Understanding Drupal

Summer of CodeGoogle pays college students around the

world to help with open source projectDrupal was given 19 spots! Summer of Code Projects will expand the

core application and add many great modules.

Page 19: Understanding Drupal

Drupal CoreDrupal VersionsHook ThemesNodesBlocksMenusURL’s Taxonomy Users

Page 20: Understanding Drupal

CoreDrupal core houses the main features of the

applicationthat are supported by the Drupal community.Core components include:

Structures for accessing the database The Drupal start-up sequence (bootstrap) Support for nodes Support for taxonomies Support for themes Support for menus Basic core modules

Blogs RSS

Page 21: Understanding Drupal

5 or 6 Drupal is transitioning between a 5.X version to a

6.X version 6.X has many exciting features that add great

functionality and expanded resources for themers and Web 2.0 type development

Modules for 6.X are under development and many critical modules that we will talk about later are not released for 6.X yet

6.X will be supported until 8.X 5.X will probably only be supported till 7.X next year

There are some that think this schedule will change given the delay in critical contrib modules

5.X is still an application that has many supporters and benefits

Page 22: Understanding Drupal

HooksEverything ties back to Drupal using a hook.Hooks can be thought of as internal Drupal

events (Pro Drupal Development).

Hooks are how one connects into the structures provided by core .

Page 23: Understanding Drupal

ThemesThe theme layer provides the graphical

presentation for site elements and output the HTML to the browser.

Themes take over the output of content displayed from the database.

Some modules will have their own themeing but in general you can override their CSS with your ownGenerally when this happens you can override the

module CSS .Themes are made up of a specific series of files

that we will review later .Theme override functions

Page 24: Understanding Drupal

Nodes Almost any kind of object accessed in Drupal

A page is a node. An image can be a node.A user can be a node.

In general, a node type is created to do something or post a specific kind of content.News storyEvent ProductTech support article

You can also use node types to help control access.

Page 25: Understanding Drupal

FiltersFilter s control the type of content that can be added to each

page By default there are three filters Filtered HTML

Web page addresses and e-mail addresses turn into links automatically.

Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Lines and paragraphs break automatically.PHP codeFull HTML

Web page addresses and e-mail addresses turn into links automatically.

Lines and paragraphs break automatically.Filters can be added and changed to match the needs of a

site. For example if you use <b> to mean something in your style sheet you could make <b> available in the filtered HTML filter

Page 26: Understanding Drupal

BlocksBlocks are areas that can be displayed in

regions on a theme.

Page 27: Understanding Drupal

WeightsThrough out Drupal weights are used to help

place things on the screen for determining precedence

Items with lower numbered weights float to the top while items with higher weights fall to the bottom

Many weights are replaced with drag-and-drop AJAX based interfaces in 6

Page 28: Understanding Drupal

MenusMenus are critical to functionality of a site

and are created using the menus interface and placed using the blocks interface

You will find that you often want to disable the main menu (called the navigation menu) and create your own menu structures

Menus are greatly enhanced in 6 with AJAX

Page 29: Understanding Drupal

ModulesDrupal is a modular system

Modules can be core or contrib (contributed). Core modules have been included in core

because they are considered critical to the function of Drupal and often start out as contrib modules which get lots of attention. 6 has many examples of contrib modules that are

included as core. Contrib modules range in quality but most are of

a high quality. Stay tuned for more information about nearly core

modules

Page 30: Understanding Drupal

URLsDrupal has two forms of URL’s

Clean URL’s do not require showing query strings (for example, http://www.denverdataman.com/articles ).

http://denverdataman.com/?q=glossary is what a URL looks like without clean URL’s

Most sites will want to use clean URL’s

Page 31: Understanding Drupal

Admin Page/admin provides access to all the key

administration areas of the site The default view is By Task. The view can be

changed to By Module .By task is organized by task group like Content

Management, Site Building, and E-commerce Organized by Module provides a section for

each module.

Page 32: Understanding Drupal

Taxonomy Taxonomy is the system that Drupal uses to

manage tag like information about nodesTaxonomy has vocabularies

Vocabularies have terms For example

Product Vocabulary Product 1 Product 2

Topic Vocabulary Support Installation Customization

Page 33: Understanding Drupal

Taxonomy Continued You can think of Taxonomy as a tagging

system Something may be a press release, but it may

also have other attributes.Sometimes you will a vocabulary that relates

to a specific functions of a module. The classified ads module lets you create

classifications of classified ads based on the classified ads vocabulary.

Page 34: Understanding Drupal

Tagging Options Controlled

A set of tags are available and cannot be changed without the administrator

Great for tags that are static like products, versions, key areas, or press releases.

Free tagging Lets users add tags to the system as they add

contentGreat for getting the most number of labels

associated with content A single term or multiple terms can be tagged

for a given node .

Page 35: Understanding Drupal

Tagging Options ContinuedFlat

A flat list of termsHierarchical

A taxonomy that can have hierarchical relationships Software

Operating Systems Office Suites Photo Editing Web Design

Page 36: Understanding Drupal

Tagging Options ContinuedYou can have vocabularies that share terms

in a hierarchy

Page 37: Understanding Drupal

Administering Taxonomy Taxonomy is administered under categories

admin/content/taxonomyTaxonomies can used to display data using

URLs like http://www.denverdataman.com/taxonomy/term/18 or http://www.denverdataman.com/taxonomy/term/18+20

Page 38: Understanding Drupal

UsersDrupal creates users to represent individuals

with access to the site .By default, someone who has not logged in is

Anonymous. This name can be changed on the site

information page /admin/settings/site-information

Add as many other users as needed.Registration can be done by administrators

or from a public link.

Page 39: Understanding Drupal

Users and RolesGroups of users are called Roles

Roles are assigned on the users page (/admin/user/user).

There are modules that allow changes to roles based on other criterion.

Users can have more than one role The role with the greatest permission will be

inherited for a specific task.

Page 40: Understanding Drupal

Access ControlAccess Control allows you to set very

granular control based on roles .Each module has its own permissions

Page 41: Understanding Drupal

User SettingsUser Settings can be configured at

/admin/user/settings This is the page where the administrator can

control what happens when a new user is created, and what emails users receive upon being registered or registering .

Page 42: Understanding Drupal

Node TypesBy default Drupal creates a page and story node

types The main difference between story and page is that

story is promoted to the front page. An administrator can create more node types that

match the needs of specific content .Nodes types are an excellent way to pre-define a

set of options and security permissions for content being produced Example: Technical support articles have access to

specific vocabularies, don’t get promoted to the front page, and can only be added by a specific role

Page 43: Understanding Drupal

Contrib Modules

All of the contrib modules you use should come from the Drupal site unless you know the author or you are the author .

Make sure you choose modules that will work with your installations .

Page 44: Understanding Drupal

Drupal DesignThemes TemplatesFoldersInstalling Drupal Installing Modules Updating Drupal

Page 45: Understanding Drupal

Finding Themes Drupal.org -

http://drupal.org/project/Themes The Theme Garden

Drupal 5 - http://themegarden.org/drupal50/ Drupal 6 - http://themegarden.org/drupal6/

Top Notch Themes - http://www.topnotchthemes.com/

Page 46: Understanding Drupal

Theme ConsiderationsOverall aestheticsProgramming quality

Does the theme match your XHTML standards for your site?

Does the page have blocks where you need them?You can add blocks later, but it is typically

better to find or build a theme with the blocks you may want to use.

Page 47: Understanding Drupal

Template Files Theme files end in tpl.phpThere is a hierarchy of files

page.tpl.php node.tpl.php

block.tpl.php

You can override specific pages, nodes, or blocks page-page_name.tpl.phpnode-node_name.tpl.phpblock-block.name.tpl.php

Page 48: Understanding Drupal

Drupal Directories Modules Themes Sites

All Modules Themes

Default Files

Page 49: Understanding Drupal

Installing DrupalYour installation of Drupal will depend on

your server configuration .Cron.php

One often skipped step is setting up the cron job for Drupal. Cron.php is a file that should be ran as a cron job

and performs critical tasks for Drupal.DenverDataman.com runs cron job every 6

hours.Some sites run it more frequently.

Page 50: Understanding Drupal

Installing Modules 1. Find the module you want to install 2. Right click on download and copy the link

location 3. Go to your upload folder on your server

I like to have an area where I download the TAR files before untaring them

4. Type wget and the URL for the module 5. Untar the file 6. Copy the module folder into /sites/all/modules 7. Enable the module 8. Configure the permissions for the module 9. Configure the module

Page 51: Understanding Drupal

Drupal Resources Drupal.org

Discussion boards Download modules and themes List servers

Drupal GroupsDBUG (Denver Boulder User Group)

Lulabot (http://www.lullabot.com/) Drupal company who publishes a large amount of

resources for the Drupal community Great podcasts

Pro Drupal Development - a great book for 5 with a new version coming out for 6John K. VanDyk and Matt Westgate, Apress, 2007

Page 52: Understanding Drupal