SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Introduction into
Drupal site building
Iztok Smolič, Drupal camp Alpe-Adria, Ljubljana 2013
Thursday, August 29, 13
‣ Started as graphic designer
(before we called ourself UX, IA, etc designers)
‣ Drupal developer from Drupal 6
‣ Working as a independent
consultant, and running Drupal
dev team AGILEDROP.
‣ Organized meetups in Ljubljana,
co-founded Drupal Slovenia
Association, co-organizing this
camp.
Twitter:
@iztok
Skype:
iztok.smolic
Email:
iztok@agiledrop.com
ABOUT THIS FELLA
Thursday, August 29, 13
DIGG IN AND START BUILDING?
THINK AGAIN.
Thursday, August 29, 13
SERVER/HOSTING
‣ System requirements
Apache, Nginx, or Microsoft IIS
MySQL 5.0.15+, PostgreSQL 8.3+, SQLite 3.3.7+
PHP 5.3
Any popular hosting service should do. Important: Try
to get PHP's memory_limit 64MB or more.
‣ Access to the server (SSH, SFTP, FTP) to manage web
server’s files.
★If you have SSH access to the server and you are
hardcore checkout Drush, thank me latter...
Thursday, August 29, 13
RESEARCH.
“Though no one can go back and make a brand-new start,
anyone can start from now and make a brand-new ending.”
― Carl Bard
‣ The practices you get on your first project are hard to
forget.
‣ Using concepts from other CMS or framework is usually a
bad idea.
Learn from resources like drupalize.me or
buildamodule.com. Official documentation is usually not
rookie friendly.
Thursday, August 29, 13
RESEARCH.
‣ If its your first project be ready to rebuild it from
ground up over and over again.
‣ Use IRC to quickly crowd source the architectural
solution. (drupal.org/irc)
‣ Don’t look for a module, look for a solution.
In Drupal you don’t get a module for a feature, you
can get modules to build your feature.
Thursday, August 29, 13
INSTALLING EXTENSIONS
There is no words to describe how important the following
instructions are...
‣ When installing extra modules or themes put them in:
‣ sites/all/modules/contrib/[all your modules]
‣ sites/all/theme/[all your themes]
‣ Never move, change, edit... (hell, don’t even look at them!)
files and folder you got from Drupal.org. This goes to Drupal
core, modules and even themes.
I can’t haz my files? But how can I change this [put your wish
here] to look like I want it to look?
Thursday, August 29, 13
INSTALLING EXTENSIONS
Drupal core
Drupal Core
Modules
Drupal Core
Themes
Drupal
Contributed
Modules
Drupal
Contributed
Themes
Custom Drupal
(sub)theme
Custom Drupal
module with
overrides
Subtheme inherits
all template files and
CSS from the parent
theme.
We can keep any
theme untouched
and so make it
upgradable.
Developers are able
to hook into module’s
functions to alter
how they work.
There is no need to
change the original
code in modules.
Modules can be
upgraded with no
surprises.
Thursday, August 29, 13
BUILDING BLOCKS
Thursday, August 29, 13
BUILDING BLOCKS
‣ Content types
‣ Example: Event, Page, Blog, Article, Forum post
‣ Taxonomy vocabularies
‣ Tags, Category, Forums
‣ Users
‣ All of those are fieldable.
This is the true power of Drupal.
Thursday, August 29, 13
BUILDING BLOCKS
‣ With fields we can attach properties to entities
‣ eg: Text, File, Image, Address
‣ With fields like Term reference and Entity
reference we link diff entities (tyeps )together.
‣ Try to use fields as much as posible, to keep your
data semantic.
Thursday, August 29, 13
BUILDING BLOCKSEXTRAS
‣ Queries
‣ Views module
One and only UI tool for building queries.
‣ Page managing / layouts
I encourage you not to use default Block system.
‣ Context module
‣ Panels module
‣ Logic
‣ Rules module
Thursday, August 29, 13
THEMING
‣ Never change code in downloaded themes.
Instead make your own subtheme:
http://drupal.org/node/225125
‣ Don’t use custom page.tpl.php to alter layouts for
each subpage (eg page--node-1.tpl.php for “about
us”). Use Panels or Context.
‣ Ideally you wont need any extra .tpl files. Trust me.
‣ Love your markup? It took me 2 years to embrace
Drupal’s HMTL output...
Thursday, August 29, 13
LIVE DEMO EXAMPLE
‣ We assume we have installed the following must
have modules to your server:
‣ Views (with Ctool as a dependency module)
‣ Panel
‣ Have I mentioned where you need to put them?
Thursday, August 29, 13

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Boost your theming skills
Boost your theming skillsBoost your theming skills
Boost your theming skills
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal project
 
Installing Moodle is Easy
Installing Moodle is EasyInstalling Moodle is Easy
Installing Moodle is Easy
 
Drupal local development with lando
Drupal local development with landoDrupal local development with lando
Drupal local development with lando
 
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
Learn Drupal's Most Powerful Site-Building Modules: Display Suite, Context, V...
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
 
How to Develop Drupal Website
How to Develop Drupal WebsiteHow to Develop Drupal Website
How to Develop Drupal Website
 
Drush make - Install Drupal like a Pro
Drush make - Install Drupal like a ProDrush make - Install Drupal like a Pro
Drush make - Install Drupal like a Pro
 
Mobile drupal
Mobile drupalMobile drupal
Mobile drupal
 
Hugo - Introduction
Hugo - IntroductionHugo - Introduction
Hugo - Introduction
 
Drupal 7 training
Drupal 7 trainingDrupal 7 training
Drupal 7 training
 
It4k12 wordpress
It4k12 wordpressIt4k12 wordpress
It4k12 wordpress
 
AEgir Overview - Florida Drupal Camp 2011
AEgir Overview - Florida Drupal Camp 2011AEgir Overview - Florida Drupal Camp 2011
AEgir Overview - Florida Drupal Camp 2011
 
COMO CRIAR O TEU STARTUP PROJECT E SETUP DO TEU AMBIENTE DE DESENVOLVIMENTO D...
COMO CRIAR O TEU STARTUP PROJECT E SETUP DO TEU AMBIENTE DE DESENVOLVIMENTO D...COMO CRIAR O TEU STARTUP PROJECT E SETUP DO TEU AMBIENTE DE DESENVOLVIMENTO D...
COMO CRIAR O TEU STARTUP PROJECT E SETUP DO TEU AMBIENTE DE DESENVOLVIMENTO D...
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs Panels
 
Optimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and TricksOptimizing Drupal Performance. Tips and Tricks
Optimizing Drupal Performance. Tips and Tricks
 
Optimizing Drupal Performance (English)
Optimizing Drupal Performance (English)Optimizing Drupal Performance (English)
Optimizing Drupal Performance (English)
 
Installing moodle on a local machine
Installing moodle on a local machineInstalling moodle on a local machine
Installing moodle on a local machine
 
Show & tell - Who is Hugo?
Show & tell - Who is Hugo?Show & tell - Who is Hugo?
Show & tell - Who is Hugo?
 
Blogging for family historians
Blogging for family historiansBlogging for family historians
Blogging for family historians
 

Ähnlich wie Introduction into Drupal site building

Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
Emma Jane Hogbin Westby
 

Ähnlich wie Introduction into Drupal site building (20)

Top 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeTop 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies make
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakes
 
Drupal Development Tips
Drupal Development TipsDrupal Development Tips
Drupal Development Tips
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
 
Upgrades and migrations
Upgrades and migrationsUpgrades and migrations
Upgrades and migrations
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
 
Off the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your OrganizationOff the Treadmill: Building a Drupal Platform for Your Organization
Off the Treadmill: Building a Drupal Platform for Your Organization
 
Drupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating ModulesDrupal - Introduction to Drupal Creating Modules
Drupal - Introduction to Drupal Creating Modules
 
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
Anton Faibyshev - Drupal 8: lazy builder. What we need to build a house - we ...
 
Decoupling Drupal mit dem Lupus Nuxt.js Drupal Stack
Decoupling Drupal mit dem Lupus Nuxt.js Drupal StackDecoupling Drupal mit dem Lupus Nuxt.js Drupal Stack
Decoupling Drupal mit dem Lupus Nuxt.js Drupal Stack
 
Hacking core
Hacking coreHacking core
Hacking core
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
 
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
 
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal introEdTechJoker Spring 2020 - Lecture 7 Drupal intro
EdTechJoker Spring 2020 - Lecture 7 Drupal intro
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
 
Omega From Download to Layout in 45 min
Omega From Download to Layout in 45 min Omega From Download to Layout in 45 min
Omega From Download to Layout in 45 min
 
Drupal Now! - Introduction to Drupal
Drupal Now! - Introduction to DrupalDrupal Now! - Introduction to Drupal
Drupal Now! - Introduction to Drupal
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 

Kürzlich hochgeladen

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Kürzlich hochgeladen (20)

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 

Introduction into Drupal site building

  • 1. Introduction into Drupal site building Iztok Smolič, Drupal camp Alpe-Adria, Ljubljana 2013 Thursday, August 29, 13
  • 2. ‣ Started as graphic designer (before we called ourself UX, IA, etc designers) ‣ Drupal developer from Drupal 6 ‣ Working as a independent consultant, and running Drupal dev team AGILEDROP. ‣ Organized meetups in Ljubljana, co-founded Drupal Slovenia Association, co-organizing this camp. Twitter: @iztok Skype: iztok.smolic Email: iztok@agiledrop.com ABOUT THIS FELLA Thursday, August 29, 13
  • 3. DIGG IN AND START BUILDING? THINK AGAIN. Thursday, August 29, 13
  • 4. SERVER/HOSTING ‣ System requirements Apache, Nginx, or Microsoft IIS MySQL 5.0.15+, PostgreSQL 8.3+, SQLite 3.3.7+ PHP 5.3 Any popular hosting service should do. Important: Try to get PHP's memory_limit 64MB or more. ‣ Access to the server (SSH, SFTP, FTP) to manage web server’s files. ★If you have SSH access to the server and you are hardcore checkout Drush, thank me latter... Thursday, August 29, 13
  • 5. RESEARCH. “Though no one can go back and make a brand-new start, anyone can start from now and make a brand-new ending.” ― Carl Bard ‣ The practices you get on your first project are hard to forget. ‣ Using concepts from other CMS or framework is usually a bad idea. Learn from resources like drupalize.me or buildamodule.com. Official documentation is usually not rookie friendly. Thursday, August 29, 13
  • 6. RESEARCH. ‣ If its your first project be ready to rebuild it from ground up over and over again. ‣ Use IRC to quickly crowd source the architectural solution. (drupal.org/irc) ‣ Don’t look for a module, look for a solution. In Drupal you don’t get a module for a feature, you can get modules to build your feature. Thursday, August 29, 13
  • 7. INSTALLING EXTENSIONS There is no words to describe how important the following instructions are... ‣ When installing extra modules or themes put them in: ‣ sites/all/modules/contrib/[all your modules] ‣ sites/all/theme/[all your themes] ‣ Never move, change, edit... (hell, don’t even look at them!) files and folder you got from Drupal.org. This goes to Drupal core, modules and even themes. I can’t haz my files? But how can I change this [put your wish here] to look like I want it to look? Thursday, August 29, 13
  • 8. INSTALLING EXTENSIONS Drupal core Drupal Core Modules Drupal Core Themes Drupal Contributed Modules Drupal Contributed Themes Custom Drupal (sub)theme Custom Drupal module with overrides Subtheme inherits all template files and CSS from the parent theme. We can keep any theme untouched and so make it upgradable. Developers are able to hook into module’s functions to alter how they work. There is no need to change the original code in modules. Modules can be upgraded with no surprises. Thursday, August 29, 13
  • 10. BUILDING BLOCKS ‣ Content types ‣ Example: Event, Page, Blog, Article, Forum post ‣ Taxonomy vocabularies ‣ Tags, Category, Forums ‣ Users ‣ All of those are fieldable. This is the true power of Drupal. Thursday, August 29, 13
  • 11. BUILDING BLOCKS ‣ With fields we can attach properties to entities ‣ eg: Text, File, Image, Address ‣ With fields like Term reference and Entity reference we link diff entities (tyeps )together. ‣ Try to use fields as much as posible, to keep your data semantic. Thursday, August 29, 13
  • 12. BUILDING BLOCKSEXTRAS ‣ Queries ‣ Views module One and only UI tool for building queries. ‣ Page managing / layouts I encourage you not to use default Block system. ‣ Context module ‣ Panels module ‣ Logic ‣ Rules module Thursday, August 29, 13
  • 13. THEMING ‣ Never change code in downloaded themes. Instead make your own subtheme: http://drupal.org/node/225125 ‣ Don’t use custom page.tpl.php to alter layouts for each subpage (eg page--node-1.tpl.php for “about us”). Use Panels or Context. ‣ Ideally you wont need any extra .tpl files. Trust me. ‣ Love your markup? It took me 2 years to embrace Drupal’s HMTL output... Thursday, August 29, 13
  • 14. LIVE DEMO EXAMPLE ‣ We assume we have installed the following must have modules to your server: ‣ Views (with Ctool as a dependency module) ‣ Panel ‣ Have I mentioned where you need to put them? Thursday, August 29, 13