SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Drupal
Introduction to Drupal Basics
      Juha Niemi, 2009
Drupal vs. My-own-CMS
•   Powerful ready-to-go platform to produce web services and
    applications

•   Open source - Free to use and free to modify

•   Open API’s provides easy expandability

•   Tested and safe. Regular security updates

•   Lots of prepared core functions to ease simple coding tasks

•   Lots of ready-made modules and code snippets available
Drupal vs. Some-other-CMS

•   Power and scalability based on modular architecture and API’s

•   Less out-of-the-box modules and features than some others

•   More development tools and small functions that enable the
    user to build almost any kind of web application

•   Active community, helping hand available at drupal.org
File structure
•   Extension modules and themes
    always to sites/ folder

•   The modules and themes in sites/
    all are shared through all sites
    (multisite configuration)

•   Sites/mysite.com contents
    available only to one specific site
Drupal standalone installation

•   Easy installer wizard asks for database access information and
    stores them in settings.php

•   Installer writes the basic tables and data into database

•   By default sites/default is used

•   Available as any hostname
Drupal multisite installation

•   Easies way to install a site in multisite configuration:

•   Create sites/mysite.com folder (mysite.com is your site’s
    hostname)

•   Duplicate sites/default/settings.php to that folder

•   Create sites/mysite.com/files folder and give 777 permissions

•   Run installer wizard
Drupal terminology I
Node                                   Taxonomy
 • The general term for all stored      • Content categorization system
   content; articles, pages, news...      in core
 • Ability to create new content            •Predefined categories
   types with a simple GUI (D5+)             (vocabularies)
 • Ability to extend content types          •Hierarchical terms
   beyond standard title+body
   fields (with CCK module)
                                            •Free tagging
                                            •Single or multiple terms per
                                             content
                                            •Multiple vocabularies per
                                             content
Drupal terminology II
•   Block                                 •   Theme

    Small pieces of content that are          The layout and output in general
    usually presented in sidebars: menu       what Drupal generates in HTML
    links, news topics, etc
                                          •   Core
•   Module
                                              Drupal core files, that should never
    Extension modules can expand and          be modified, added or removed
    modify Drupal’s core funcionalities
    and normal behaviours
User management
Users                                Access to nodes (in core)
 •  User UID 1 is the root user       • Access granted per role /
 •  Profiles with custom fields           content type
 •  Can be used with external         • Cannot restrict read access by
    authentication (LDAP, OpenID)       default, except for all content
Roles                                ACL modules (nodeaccess)
 •  Access control defined by roles    • Extends the core access
 •  User can have multiple roles        control
                                      • Show/edit/delete grants can be
                                        given for roles and individual
                                        users. Even per node.
Modules
•   Always store under sites/ folder

•   The core provides ‘hooks’ that
    modules can attach to

•   Some very often used hooks:
    hook_form_alter
    hook_cron
    hook_nodeapi

•   Developer resources available at
    http://api.drupal.org
Themes

•   PHPTemplate engine (other theme engines available)

•   Zen theme (xhtml/css) - great, clean way to start theming

•   Overriding theme functions without modifying or breaking
    any code in core/modules

•   Block regions - can be added when needed
Essential module: Views
•   GUI to build queries from content, users, files

•   Multiple displays (page, block, embed)

•   Type how the data is selected from database (full nodes/
    fields)

•   Output styles (list, table, node view)

•   Filters (=‘WHERE’ clause), sort order definable

•   Arguments provide way to modify the filters based on URL
Essential module: CCK
•   Drupal allows creation of new           Some commonly used fields
    content types (e.g. page, news,         (fields are modules that expand cck)
    event)
                                             •   Text field
•   Regular content type only has fields
                                             •   Select list
    title and the body text
•   CCK allows content types to be           •   Image field
    extended easily with additional fields    •   File field
                                             •   Date field
                                             •   Link field
Node API

•   Enables modules to interact with nodes. Data can be added,
    modified and removed

•   Additional data can be shown when node is shown

•   hook_nodeapi is called when nodes are stored, edited,
    viewed, deleted, searched, etc...
Form API

•   API that handles programmatical form creation and renders
    them as usable HTML forms

•   All system forms and forms provided by additional modules
    are created using Form API

•   Modules can modify forms that are created by other modules
Menu System
•   URL to callback mapping

    •   Modules can implement new menu items, that initiate a
        function when a user enters a certain URL

•   Menu items can be displayed as

    •   Links in navigation

    •   Tabs

    •   Hidden callbacks
Input formats

•   Filtered / Full HTML for standard text and HTML content

•   PHP Code allows PHP code to be run as a part of the node

    •   Simple code can be put in nodes

    •   More complex code should be put in a module instead

•   Input format modules can be added (wiki, textile, etc)
URL aliases

•   Essential part of succesful search engine optimization

•   Manual paths can be given to any node or other paths

•   Pathauto provides automatic URL creation mechanism based
    on user-definable terms and other data, for example
    mysite.com/news/2009/01/05/my-news
Updating Drupal
•   Drupal core should be kept up-to-date

•   Updates can be rolled by overriding the core files and run
    update.php script

•   Minor version updates should be always safe

•   Major version updates are usually not recommended because
    of module incompatibilities and significant code changes

•   Backup the database manually prior to every update
Good practices
•   Root -user should be used only for low-level configuration
    and an additional admin role should be created

•   Use a right role for the right kind of task when testing

    •   End user usually runs into problems that the admin role
        didn’t encounter

•   Set-up framework first before adding any content (languages,
    user management, pathauto’s, etc...)
Valuable resources

•   Pro Drupal Development (2nd edition) book
    John VanDyk, Apress 2008

•   http://drupal.org forums and module issue cues

•   http://api.drupal.org
About the author
Juha Niemi (Mr.) is the lead web developer and
    entrepreneur at Juha Niemi Design Ltd,
 Finland. He has been using and committed to
              Drupal since 2006.

              http://www.jnd.fi

Weitere ähnliche Inhalte

Was ist angesagt?

JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom ManipulationMohammed Arif
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django IntroductionGanga Ram
 
WordPress what is Wordpress
WordPress what is WordpressWordPress what is Wordpress
WordPress what is WordpressShahid Husain
 
Angular 8
Angular 8 Angular 8
Angular 8 Sunil OS
 
Html5 tutorial for beginners
Html5 tutorial for beginnersHtml5 tutorial for beginners
Html5 tutorial for beginnersSingsys Pte Ltd
 
General introduction to intellij idea
General introduction to intellij ideaGeneral introduction to intellij idea
General introduction to intellij ideaYusup
 
WordPress Webinar Training Presentation
WordPress Webinar Training PresentationWordPress Webinar Training Presentation
WordPress Webinar Training PresentationMayeCreate Design
 
Basic WordPress for Beginner ppt
Basic WordPress for Beginner pptBasic WordPress for Beginner ppt
Basic WordPress for Beginner pptDipika Wadhvani
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examplesAlfredo Torre
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture IntroductionHaiqi Chen
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scriptingVIKAS TIWARI
 

Was ist angesagt? (20)

JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom Manipulation
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django Introduction
 
Javascript
JavascriptJavascript
Javascript
 
Overview of PHP and MYSQL
Overview of PHP and MYSQLOverview of PHP and MYSQL
Overview of PHP and MYSQL
 
WordPress what is Wordpress
WordPress what is WordpressWordPress what is Wordpress
WordPress what is Wordpress
 
Angular 8
Angular 8 Angular 8
Angular 8
 
Html5 tutorial for beginners
Html5 tutorial for beginnersHtml5 tutorial for beginners
Html5 tutorial for beginners
 
General introduction to intellij idea
General introduction to intellij ideaGeneral introduction to intellij idea
General introduction to intellij idea
 
WordPress Webinar Training Presentation
WordPress Webinar Training PresentationWordPress Webinar Training Presentation
WordPress Webinar Training Presentation
 
Html for beginners
Html for beginnersHtml for beginners
Html for beginners
 
Basic WordPress for Beginner ppt
Basic WordPress for Beginner pptBasic WordPress for Beginner ppt
Basic WordPress for Beginner ppt
 
CSS
CSSCSS
CSS
 
HTML5: features with examples
HTML5: features with examplesHTML5: features with examples
HTML5: features with examples
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Bash shell scripting
Bash shell scriptingBash shell scripting
Bash shell scripting
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Introduction to W3C Linked Data Platform
Introduction to W3C Linked Data PlatformIntroduction to W3C Linked Data Platform
Introduction to W3C Linked Data Platform
 
MongoDB 101
MongoDB 101MongoDB 101
MongoDB 101
 

Andere mochten auch

Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsMicky Metts
 
Joomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTJoomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTPinky Mondal
 
What is a Content Management System or CMS
What is a Content Management System or CMSWhat is a Content Management System or CMS
What is a Content Management System or CMSSteve Williams
 
Introducción general a Drupal
Introducción general a DrupalIntroducción general a Drupal
Introducción general a DrupalPedro Cambra
 
Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Acquia
 
Advantages of using drupal 8
Advantages of using drupal 8Advantages of using drupal 8
Advantages of using drupal 8NeilWilson2015
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Acquia
 
Drupal Goes to College
Drupal Goes to CollegeDrupal Goes to College
Drupal Goes to CollegeDominik Lukes
 
Bronson quick how to client-proof your word press theme
Bronson quick   how to client-proof your word press themeBronson quick   how to client-proof your word press theme
Bronson quick how to client-proof your word press themeWordCamp New Zealand
 
CMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen HarrisCMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen HarrisWordCamp New Zealand
 
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackBuilt for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackAcquia
 
The Big Reverse of the Web
The Big Reverse of the WebThe Big Reverse of the Web
The Big Reverse of the WebAcquia
 

Andere mochten auch (20)

Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Drupal end.ppt
Drupal end.pptDrupal end.ppt
Drupal end.ppt
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Joomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTJoomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPT
 
Drupal presentation
Drupal presentationDrupal presentation
Drupal presentation
 
What is a Content Management System or CMS
What is a Content Management System or CMSWhat is a Content Management System or CMS
What is a Content Management System or CMS
 
Introducción general a Drupal
Introducción general a DrupalIntroducción general a Drupal
Introducción general a Drupal
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
 
Drupal an introduction
Drupal an introductionDrupal an introduction
Drupal an introduction
 
Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7Drupal Essentials: Comment Management in Drupal 7
Drupal Essentials: Comment Management in Drupal 7
 
Advantages of using drupal 8
Advantages of using drupal 8Advantages of using drupal 8
Advantages of using drupal 8
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Drupal Introduction
Drupal IntroductionDrupal Introduction
Drupal Introduction
 
Drupal Goes to College
Drupal Goes to CollegeDrupal Goes to College
Drupal Goes to College
 
Bronson quick how to client-proof your word press theme
Bronson quick   how to client-proof your word press themeBronson quick   how to client-proof your word press theme
Bronson quick how to client-proof your word press theme
 
CMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen HarrisCMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen Harris
 
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your StackBuilt for Integration: Why Drupal 8 Should Be the Glue to Your Stack
Built for Integration: Why Drupal 8 Should Be the Glue to Your Stack
 
The Big Reverse of the Web
The Big Reverse of the WebThe Big Reverse of the Web
The Big Reverse of the Web
 

Ähnlich wie Introduction to Drupal Basics

Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with DrupalRob Sawyer
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Drupal training-1-in-mumbai
Drupal training-1-in-mumbaiDrupal training-1-in-mumbai
Drupal training-1-in-mumbaivibrantuser
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert Carr
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal WebcastJeff Eaton
 
Phase2 Large Drupal Multisites (gta case study)
Phase2   Large Drupal Multisites (gta case study)Phase2   Large Drupal Multisites (gta case study)
Phase2 Large Drupal Multisites (gta case study)Phase2
 
Collaborating with the Community
Collaborating with the CommunityCollaborating with the Community
Collaborating with the Communitytinacallahan
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an OverviewMatt Weaver
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp Londonhernanibf
 
Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Robert Bates
 
Drupal module development
Drupal module developmentDrupal module development
Drupal module developmentRachit Gupta
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Cacereshernanibf
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguageguest3a6661
 
Drupal 6x Installation
Drupal 6x Installation Drupal 6x Installation
Drupal 6x Installation Micky Metts
 

Ähnlich wie Introduction to Drupal Basics (20)

Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Drupal
DrupalDrupal
Drupal
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal training-1-in-mumbai
Drupal training-1-in-mumbaiDrupal training-1-in-mumbai
Drupal training-1-in-mumbai
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal Webcast
 
Phase2 Large Drupal Multisites (gta case study)
Phase2   Large Drupal Multisites (gta case study)Phase2   Large Drupal Multisites (gta case study)
Phase2 Large Drupal Multisites (gta case study)
 
Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs Drupal Skils Lab 302Labs
Drupal Skils Lab 302Labs
 
Collaborating with the Community
Collaborating with the CommunityCollaborating with the Community
Collaborating with the Community
 
72d5drupal
72d5drupal72d5drupal
72d5drupal
 
Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)Phase2 - Large Drupal Multisites (GTA Case Study)
Phase2 - Large Drupal Multisites (GTA Case Study)
 
Drupal module development
Drupal module developmentDrupal module development
Drupal module development
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Caceres
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
 
Drupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in DrupalDrupal - Introduction to User Management in Drupal
Drupal - Introduction to User Management in Drupal
 
Drupal 6x Installation
Drupal 6x Installation Drupal 6x Installation
Drupal 6x Installation
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Introduction to Drupal Basics

  • 1. Drupal Introduction to Drupal Basics Juha Niemi, 2009
  • 2. Drupal vs. My-own-CMS • Powerful ready-to-go platform to produce web services and applications • Open source - Free to use and free to modify • Open API’s provides easy expandability • Tested and safe. Regular security updates • Lots of prepared core functions to ease simple coding tasks • Lots of ready-made modules and code snippets available
  • 3. Drupal vs. Some-other-CMS • Power and scalability based on modular architecture and API’s • Less out-of-the-box modules and features than some others • More development tools and small functions that enable the user to build almost any kind of web application • Active community, helping hand available at drupal.org
  • 4. File structure • Extension modules and themes always to sites/ folder • The modules and themes in sites/ all are shared through all sites (multisite configuration) • Sites/mysite.com contents available only to one specific site
  • 5. Drupal standalone installation • Easy installer wizard asks for database access information and stores them in settings.php • Installer writes the basic tables and data into database • By default sites/default is used • Available as any hostname
  • 6. Drupal multisite installation • Easies way to install a site in multisite configuration: • Create sites/mysite.com folder (mysite.com is your site’s hostname) • Duplicate sites/default/settings.php to that folder • Create sites/mysite.com/files folder and give 777 permissions • Run installer wizard
  • 7. Drupal terminology I Node Taxonomy • The general term for all stored • Content categorization system content; articles, pages, news... in core • Ability to create new content •Predefined categories types with a simple GUI (D5+) (vocabularies) • Ability to extend content types •Hierarchical terms beyond standard title+body fields (with CCK module) •Free tagging •Single or multiple terms per content •Multiple vocabularies per content
  • 8. Drupal terminology II • Block • Theme Small pieces of content that are The layout and output in general usually presented in sidebars: menu what Drupal generates in HTML links, news topics, etc • Core • Module Drupal core files, that should never Extension modules can expand and be modified, added or removed modify Drupal’s core funcionalities and normal behaviours
  • 9. User management Users Access to nodes (in core) • User UID 1 is the root user • Access granted per role / • Profiles with custom fields content type • Can be used with external • Cannot restrict read access by authentication (LDAP, OpenID) default, except for all content Roles ACL modules (nodeaccess) • Access control defined by roles • Extends the core access • User can have multiple roles control • Show/edit/delete grants can be given for roles and individual users. Even per node.
  • 10. Modules • Always store under sites/ folder • The core provides ‘hooks’ that modules can attach to • Some very often used hooks: hook_form_alter hook_cron hook_nodeapi • Developer resources available at http://api.drupal.org
  • 11. Themes • PHPTemplate engine (other theme engines available) • Zen theme (xhtml/css) - great, clean way to start theming • Overriding theme functions without modifying or breaking any code in core/modules • Block regions - can be added when needed
  • 12. Essential module: Views • GUI to build queries from content, users, files • Multiple displays (page, block, embed) • Type how the data is selected from database (full nodes/ fields) • Output styles (list, table, node view) • Filters (=‘WHERE’ clause), sort order definable • Arguments provide way to modify the filters based on URL
  • 13. Essential module: CCK • Drupal allows creation of new Some commonly used fields content types (e.g. page, news, (fields are modules that expand cck) event) • Text field • Regular content type only has fields • Select list title and the body text • CCK allows content types to be • Image field extended easily with additional fields • File field • Date field • Link field
  • 14. Node API • Enables modules to interact with nodes. Data can be added, modified and removed • Additional data can be shown when node is shown • hook_nodeapi is called when nodes are stored, edited, viewed, deleted, searched, etc...
  • 15. Form API • API that handles programmatical form creation and renders them as usable HTML forms • All system forms and forms provided by additional modules are created using Form API • Modules can modify forms that are created by other modules
  • 16. Menu System • URL to callback mapping • Modules can implement new menu items, that initiate a function when a user enters a certain URL • Menu items can be displayed as • Links in navigation • Tabs • Hidden callbacks
  • 17. Input formats • Filtered / Full HTML for standard text and HTML content • PHP Code allows PHP code to be run as a part of the node • Simple code can be put in nodes • More complex code should be put in a module instead • Input format modules can be added (wiki, textile, etc)
  • 18. URL aliases • Essential part of succesful search engine optimization • Manual paths can be given to any node or other paths • Pathauto provides automatic URL creation mechanism based on user-definable terms and other data, for example mysite.com/news/2009/01/05/my-news
  • 19. Updating Drupal • Drupal core should be kept up-to-date • Updates can be rolled by overriding the core files and run update.php script • Minor version updates should be always safe • Major version updates are usually not recommended because of module incompatibilities and significant code changes • Backup the database manually prior to every update
  • 20. Good practices • Root -user should be used only for low-level configuration and an additional admin role should be created • Use a right role for the right kind of task when testing • End user usually runs into problems that the admin role didn’t encounter • Set-up framework first before adding any content (languages, user management, pathauto’s, etc...)
  • 21. Valuable resources • Pro Drupal Development (2nd edition) book John VanDyk, Apress 2008 • http://drupal.org forums and module issue cues • http://api.drupal.org
  • 22. About the author Juha Niemi (Mr.) is the lead web developer and entrepreneur at Juha Niemi Design Ltd, Finland. He has been using and committed to Drupal since 2006. http://www.jnd.fi