SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
SANDCamp 2013
         Beginning Drupal Development



           Meghan Sweet (@meghsweet)
          26 January 2013




Saturday, January 26, 2013
How do you learn
                                Drupal?


Saturday, January 26, 2013
Sometimes things are
                   really easy.


Saturday, January 26, 2013
Sometimes things are
                   really hard.


Saturday, January 26, 2013
Choosing Modules
       Stand on the Shoulders of Giants

        - Assess the project page

        - Read the README file (believe me)

        - Check the issue log

        - When in doubt, ask around




Saturday, January 26, 2013
http://drupal.org/project/views/
Saturday, January 26, 2013
Where does Contributed code live?
      Put all contrib modules in
        ../sites/all/modules/
      OR
      ../sites/all/modules/contrib


      Put all custom modules in
      ../sites/all/modules/custom


      Put all themes in
      ../sites/all/themes




Saturday, January 26, 2013
What do you need in your toolbox?
       HTML / CSS / Javascript / PHP

       A good code editor

       Firebug or Chrome Inspector

       Drush

       Drupal Community

       Willingness to break things




Saturday, January 26, 2013
Development Environment
       Work locally!! No more FTPing

       Use version control to push changes.

       Drush is your friend

       You won’t regret learning command line tools

       Be equipped to browser test




Saturday, January 26, 2013
Development Workflow
       Development Environment- Dev > Test > Live

       Where do your clients QA?

       Use Version control to push to production
       - great for rolling back changes
       - great for multi-developer environments

       Code vs Content, do smart migrations

       Set up a workflow to push to production




Saturday, January 26, 2013
The “Drupal Way”?



Saturday, January 26, 2013
Site Development Plan




                                  Typical Drupal Site



Saturday, January 26, 2013
A complex system that works is
      invariably found to have
      evolved from a simple system
      that worked...
       Gall's Law




Saturday, January 26, 2013
Build features zoomed
             in, then pull back and
                see how it all fits
                    together.

Saturday, January 26, 2013
Write a development plan
        Forces you to think through your architecture
        and implications of decisions

        Makes it a lot easier to build quickly- ex: grab
        all your modules at once, understand content
        and layout dependencies

        Build, then theme

        90% of the way there is often enough
        - Don’t be afraid to talk to your clients and get
        to the heart of business needs


Saturday, January 26, 2013
Structure Content
        Break up your content into the pieces you want
        control over.

        Important in mobile theming- content first

        Consider your admins and your visitors.

        Good content is user-centered
        Adopt the cognitive frameworks of your users
        -ERIN KISSANE




Saturday, January 26, 2013
Feature Development
         Its essentially three steps, rinse and repeat.

         1) Build a content type

         2) Build a view

         3) Build a layout

         (Theme)




Saturday, January 26, 2013
Slow Site?



Saturday, January 26, 2013
Common Client-side
        Performance Pitfalls
         Look for the obvious first:

         -Are you caching?

         -Are you aggregating your CSS?

         -Are the images huge?

         These are stupidly easy wins :)



Saturday, January 26, 2013
Theming!
                             Where everything can be overridden.
                               Oh the power and the danger...




Saturday, January 26, 2013
There is no "best"
                                  theme.
                                    -@rupl




Saturday, January 26, 2013
Where to start
        Develop a theming strategy and find
        a theme to match
        - ‘Starter’ themes
        - Base Themes
        - Responsive Theming
        - Click-to-Config




Saturday, January 26, 2013
Control your layout through
         configuration
           Panels, Panelizer, Panopoly

           Context

           Omega

           Display Suite




Saturday, January 26, 2013
Advancing Theming

           Its all about Overriding

           Configuration -> CSS -> PHP

           Keep it clean and organized

           Keep a custom module for small stuff




Saturday, January 26, 2013
You can give back to the
               community.



Saturday, January 26, 2013
Coding Standards
         -Don’t Hack Core! It may seems like a good idea now, but its
         not.

         - Comment heavily! You’ll thank yourself later.

         - Before you do something, consider if you can make it
         easier to understand. Writing code for yourself is a bad
         idea.

         - Use descriptive classes

         - http://drupal.org/coding-standards

         - http://drupal.org/project/coder will check for you

         - http://drupal.org/project/examples

Saturday, January 26, 2013
GIT Standards
         - Commit often, and do single-issue commits

         - Write good commit messages, use real english and
         reference outside information (ticket number, Drupal.org
         issues)

         - Remove things you don’t need with a proper commit, don’t
         just comment them out




Saturday, January 26, 2013
Pay it forward
        - Participate in the issue queue and documentation.

        - If you use a patch (regardless of whether it works or fails),
        comment on the issue.

        - If you write a patch, post it.

        - Write documentation and blog




Saturday, January 26, 2013
Learn More
            Books
                                 Camps and Cons
            Training
                                 IRC
            Documentation
                                 Spirit of willingness, giving
            Blogs                back and helping each other

            Videos

            Meetups


Saturday, January 26, 2013
Thank You!
                             @meghsweet


                              @chapter_three
Saturday, January 26, 2013

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Julien Renaux
 
Theming Your Views
Theming Your ViewsTheming Your Views
Theming Your ViewsMark Jarrell
 
Need for Speed - Gear Up Your WordPress
Need for Speed - Gear Up Your WordPressNeed for Speed - Gear Up Your WordPress
Need for Speed - Gear Up Your WordPressSiteGround.com
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Ivan Zugec
 
A beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapA beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapSunanda Bansal
 
How to improve design skills
How to improve design skillsHow to improve design skills
How to improve design skillsYun Yuan
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkOmkarsoft Bangalore
 
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015beyond tellerrand
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewDiacode
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best PracticesHolger Bartel
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersMelvin John
 
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...Cedric Spillebeen
 
WordPress Multi-Site on a Large Scale by Cole Geissinger
WordPress Multi-Site on a Large Scale by Cole GeissingerWordPress Multi-Site on a Large Scale by Cole Geissinger
WordPress Multi-Site on a Large Scale by Cole Geissingercolegeissinger
 
The Highs & Lows of Jetpack
The Highs & Lows of JetpackThe Highs & Lows of Jetpack
The Highs & Lows of JetpackKyrie Tompkins
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBas Brands
 
Refreshing Your UI with HTML5, Bootstrap and CSS3
Refreshing Your UI with HTML5, Bootstrap and CSS3Refreshing Your UI with HTML5, Bootstrap and CSS3
Refreshing Your UI with HTML5, Bootstrap and CSS3Matt Raible
 
The Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueThe Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueAlexandre Israël
 

Was ist angesagt? (20)

Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2
 
Theming Your Views
Theming Your ViewsTheming Your Views
Theming Your Views
 
Bootstrap ppt
Bootstrap pptBootstrap ppt
Bootstrap ppt
 
Need for Speed - Gear Up Your WordPress
Need for Speed - Gear Up Your WordPressNeed for Speed - Gear Up Your WordPress
Need for Speed - Gear Up Your WordPress
 
Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7Using Bootstrap in Drupal 7
Using Bootstrap in Drupal 7
 
A beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapA beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrap
 
How to improve design skills
How to improve design skillsHow to improve design skills
How to improve design skills
 
Know the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css frameworkKnow the reason behind choosing bootstrap as css framework
Know the reason behind choosing bootstrap as css framework
 
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Bootstrap 3 Basic - Bangkok WordPress Meetup
Bootstrap 3 Basic - Bangkok WordPress MeetupBootstrap 3 Basic - Bangkok WordPress Meetup
Bootstrap 3 Basic - Bangkok WordPress Meetup
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
 
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
 
WordPress Multi-Site on a Large Scale by Cole Geissinger
WordPress Multi-Site on a Large Scale by Cole GeissingerWordPress Multi-Site on a Large Scale by Cole Geissinger
WordPress Multi-Site on a Large Scale by Cole Geissinger
 
The Highs & Lows of Jetpack
The Highs & Lows of JetpackThe Highs & Lows of Jetpack
The Highs & Lows of Jetpack
 
Twitter bootstrap 101
Twitter bootstrap 101Twitter bootstrap 101
Twitter bootstrap 101
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrap
 
Refreshing Your UI with HTML5, Bootstrap and CSS3
Refreshing Your UI with HTML5, Bootstrap and CSS3Refreshing Your UI with HTML5, Bootstrap and CSS3
Refreshing Your UI with HTML5, Bootstrap and CSS3
 
The Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices CatalogueThe Drupal 7 Worst Practices Catalogue
The Drupal 7 Worst Practices Catalogue
 

Andere mochten auch

Agile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesAgile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesDuc Therry
 
NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)Nanhe Singh
 
Fictionalised biopics –
Fictionalised biopics –Fictionalised biopics –
Fictionalised biopics –lukedan33
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basicsDwayne McDaniel
 
Ejercicio 9 carta
Ejercicio 9 cartaEjercicio 9 carta
Ejercicio 9 cartaaitoor1234
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Supportmeghsweet
 
Every project is a story applying storytelling to your client interactions (1)
Every project is a story  applying storytelling to your client interactions (1)Every project is a story  applying storytelling to your client interactions (1)
Every project is a story applying storytelling to your client interactions (1)Dwayne McDaniel
 
Girişimcilik ve inovasyon sunum 135050018
Girişimcilik ve inovasyon sunum 135050018Girişimcilik ve inovasyon sunum 135050018
Girişimcilik ve inovasyon sunum 135050018muhammedkaya_21
 
Yes and! Using the rules of improv comedy to improve your communication and y...
Yes and! Using the rules of improv comedy to improve your communication and y...Yes and! Using the rules of improv comedy to improve your communication and y...
Yes and! Using the rules of improv comedy to improve your communication and y...Michael Hagesfeld
 
Set-up plant for jeans Final Project
Set-up plant for jeans  Final ProjectSet-up plant for jeans  Final Project
Set-up plant for jeans Final ProjectSuryabhan Chaudhary
 
Captulo 8 prototipacao
Captulo 8 prototipacaoCaptulo 8 prototipacao
Captulo 8 prototipacaolua alves
 
Truong-Nhat-Ha-Duyen
Truong-Nhat-Ha-DuyenTruong-Nhat-Ha-Duyen
Truong-Nhat-Ha-DuyenDuyen Nhat Ha
 
Women in ITM Workshop: Intro to HTML and CSS
Women in ITM Workshop: Intro to HTML and CSSWomen in ITM Workshop: Intro to HTML and CSS
Women in ITM Workshop: Intro to HTML and CSSShanta Nathwani
 
Pengelasan, Weld defect, Cara penggunaan Las SMAW
Pengelasan, Weld defect, Cara penggunaan Las SMAWPengelasan, Weld defect, Cara penggunaan Las SMAW
Pengelasan, Weld defect, Cara penggunaan Las SMAWNur Ilham
 
WPCampus - Sheridan CCIT Case Study
WPCampus - Sheridan CCIT Case StudyWPCampus - Sheridan CCIT Case Study
WPCampus - Sheridan CCIT Case StudyShanta Nathwani
 
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and More
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and MoreAutomating & Integrating Pantheon with JIRA, Slack, Jenkins and More
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and MorePantheon
 
We are making all of this up: improv lessons for the developer
We are making all of this up:  improv lessons for the developerWe are making all of this up:  improv lessons for the developer
We are making all of this up: improv lessons for the developerDwayne McDaniel
 

Andere mochten auch (20)

Agile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesAgile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter Sites
 
Media (5)
Media (5)Media (5)
Media (5)
 
NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)
 
Fictionalised biopics –
Fictionalised biopics –Fictionalised biopics –
Fictionalised biopics –
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basics
 
RdF - Unitranche
RdF - UnitrancheRdF - Unitranche
RdF - Unitranche
 
Ejercicio 9 carta
Ejercicio 9 cartaEjercicio 9 carta
Ejercicio 9 carta
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Support
 
Every project is a story applying storytelling to your client interactions (1)
Every project is a story  applying storytelling to your client interactions (1)Every project is a story  applying storytelling to your client interactions (1)
Every project is a story applying storytelling to your client interactions (1)
 
Girişimcilik ve inovasyon sunum 135050018
Girişimcilik ve inovasyon sunum 135050018Girişimcilik ve inovasyon sunum 135050018
Girişimcilik ve inovasyon sunum 135050018
 
Yes and! Using the rules of improv comedy to improve your communication and y...
Yes and! Using the rules of improv comedy to improve your communication and y...Yes and! Using the rules of improv comedy to improve your communication and y...
Yes and! Using the rules of improv comedy to improve your communication and y...
 
Set-up plant for jeans Final Project
Set-up plant for jeans  Final ProjectSet-up plant for jeans  Final Project
Set-up plant for jeans Final Project
 
Captulo 8 prototipacao
Captulo 8 prototipacaoCaptulo 8 prototipacao
Captulo 8 prototipacao
 
Derivadas
DerivadasDerivadas
Derivadas
 
Truong-Nhat-Ha-Duyen
Truong-Nhat-Ha-DuyenTruong-Nhat-Ha-Duyen
Truong-Nhat-Ha-Duyen
 
Women in ITM Workshop: Intro to HTML and CSS
Women in ITM Workshop: Intro to HTML and CSSWomen in ITM Workshop: Intro to HTML and CSS
Women in ITM Workshop: Intro to HTML and CSS
 
Pengelasan, Weld defect, Cara penggunaan Las SMAW
Pengelasan, Weld defect, Cara penggunaan Las SMAWPengelasan, Weld defect, Cara penggunaan Las SMAW
Pengelasan, Weld defect, Cara penggunaan Las SMAW
 
WPCampus - Sheridan CCIT Case Study
WPCampus - Sheridan CCIT Case StudyWPCampus - Sheridan CCIT Case Study
WPCampus - Sheridan CCIT Case Study
 
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and More
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and MoreAutomating & Integrating Pantheon with JIRA, Slack, Jenkins and More
Automating & Integrating Pantheon with JIRA, Slack, Jenkins and More
 
We are making all of this up: improv lessons for the developer
We are making all of this up:  improv lessons for the developerWe are making all of this up:  improv lessons for the developer
We are making all of this up: improv lessons for the developer
 

Ähnlich wie Sand camp beginner drupal development

Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingAcquia
 
Content Editing & Admin in Drupal 7
Content Editing & Admin in Drupal 7 Content Editing & Admin in Drupal 7
Content Editing & Admin in Drupal 7 Acquia
 
The Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesThe Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesVardot
 
Products = Mess - How to avoid it? By Suman Mukherjee
Products = Mess - How to avoid it?  By Suman MukherjeeProducts = Mess - How to avoid it?  By Suman Mukherjee
Products = Mess - How to avoid it? By Suman MukherjeeWebGeek Philippines
 
Views Mini-Course, Part III: How to Back Up Your Views Safely
Views Mini-Course, Part III: How to Back Up Your Views SafelyViews Mini-Course, Part III: How to Back Up Your Views Safely
Views Mini-Course, Part III: How to Back Up Your Views SafelyAcquia
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the UnknownR/GA
 
Thesispresentatie maart
Thesispresentatie maartThesispresentatie maart
Thesispresentatie maartRobin De Croon
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site buildingIztok Smolic
 
Digital 2013 - Matt McAlister, The Guardian Media Group
Digital 2013 - Matt McAlister, The Guardian Media GroupDigital 2013 - Matt McAlister, The Guardian Media Group
Digital 2013 - Matt McAlister, The Guardian Media GroupInteractive Scotland
 
Lessons along the open road - the story of n0tice
Lessons along the open road - the story of n0ticeLessons along the open road - the story of n0tice
Lessons along the open road - the story of n0ticeMatt McAlister
 
Tools for the Domino Developer - BLUG presentation version
Tools for the Domino Developer - BLUG presentation versionTools for the Domino Developer - BLUG presentation version
Tools for the Domino Developer - BLUG presentation versionKathy Brown
 
Top 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeTop 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeIztok Smolic
 
Dapper Drupal - Custom Tailored Drupal Themes
Dapper Drupal - Custom Tailored Drupal ThemesDapper Drupal - Custom Tailored Drupal Themes
Dapper Drupal - Custom Tailored Drupal Themeskilltheliterate
 
Boost your theming skills - Artem Shymko
Boost your theming skills - Artem ShymkoBoost your theming skills - Artem Shymko
Boost your theming skills - Artem ShymkoDrupalCampDN
 
Boost your theming skills
Boost your theming skillsBoost your theming skills
Boost your theming skillsArtem Shymko
 
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)Rick. Bahague
 
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...WordCamp Sydney
 

Ähnlich wie Sand camp beginner drupal development (20)

Drupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: LaunchingDrupal for Project Managers, Part 3: Launching
Drupal for Project Managers, Part 3: Launching
 
Content Editing & Admin in Drupal 7
Content Editing & Admin in Drupal 7 Content Editing & Admin in Drupal 7
Content Editing & Admin in Drupal 7
 
The Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal ServicesThe Drupal Ecosystem for Drupal Services
The Drupal Ecosystem for Drupal Services
 
Products = Mess - How to avoid it? By Suman Mukherjee
Products = Mess - How to avoid it?  By Suman MukherjeeProducts = Mess - How to avoid it?  By Suman Mukherjee
Products = Mess - How to avoid it? By Suman Mukherjee
 
Views Mini-Course, Part III: How to Back Up Your Views Safely
Views Mini-Course, Part III: How to Back Up Your Views SafelyViews Mini-Course, Part III: How to Back Up Your Views Safely
Views Mini-Course, Part III: How to Back Up Your Views Safely
 
Adapting to the Unknown
Adapting to the UnknownAdapting to the Unknown
Adapting to the Unknown
 
Thesispresentatie maart
Thesispresentatie maartThesispresentatie maart
Thesispresentatie maart
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site building
 
Digital 2013 - Matt McAlister, The Guardian Media Group
Digital 2013 - Matt McAlister, The Guardian Media GroupDigital 2013 - Matt McAlister, The Guardian Media Group
Digital 2013 - Matt McAlister, The Guardian Media Group
 
Lessons along the open road - the story of n0tice
Lessons along the open road - the story of n0ticeLessons along the open road - the story of n0tice
Lessons along the open road - the story of n0tice
 
Tools for the Domino Developer - BLUG presentation version
Tools for the Domino Developer - BLUG presentation versionTools for the Domino Developer - BLUG presentation version
Tools for the Domino Developer - BLUG presentation version
 
Top 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies makeTop 20 Drupal Mistakes newbies make
Top 20 Drupal Mistakes newbies make
 
LRMI Overview and Update, September 2013
LRMI Overview and Update, September 2013LRMI Overview and Update, September 2013
LRMI Overview and Update, September 2013
 
Dapper Drupal - Custom Tailored Drupal Themes
Dapper Drupal - Custom Tailored Drupal ThemesDapper Drupal - Custom Tailored Drupal Themes
Dapper Drupal - Custom Tailored Drupal Themes
 
Boost your theming skills - Artem Shymko
Boost your theming skills - Artem ShymkoBoost your theming skills - Artem Shymko
Boost your theming skills - Artem Shymko
 
Boost your theming skills
Boost your theming skillsBoost your theming skills
Boost your theming skills
 
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
 
Aten ntc-stories
Aten ntc-storiesAten ntc-stories
Aten ntc-stories
 
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...
There's More than 1 Way to Skin a WordPress Theme - Lachlan MacPherson - Word...
 

Sand camp beginner drupal development

  • 1. SANDCamp 2013 Beginning Drupal Development Meghan Sweet (@meghsweet) 26 January 2013 Saturday, January 26, 2013
  • 2. How do you learn Drupal? Saturday, January 26, 2013
  • 3. Sometimes things are really easy. Saturday, January 26, 2013
  • 4. Sometimes things are really hard. Saturday, January 26, 2013
  • 5. Choosing Modules Stand on the Shoulders of Giants - Assess the project page - Read the README file (believe me) - Check the issue log - When in doubt, ask around Saturday, January 26, 2013
  • 7. Where does Contributed code live? Put all contrib modules in ../sites/all/modules/ OR ../sites/all/modules/contrib Put all custom modules in ../sites/all/modules/custom Put all themes in ../sites/all/themes Saturday, January 26, 2013
  • 8. What do you need in your toolbox? HTML / CSS / Javascript / PHP A good code editor Firebug or Chrome Inspector Drush Drupal Community Willingness to break things Saturday, January 26, 2013
  • 9. Development Environment Work locally!! No more FTPing Use version control to push changes. Drush is your friend You won’t regret learning command line tools Be equipped to browser test Saturday, January 26, 2013
  • 10. Development Workflow Development Environment- Dev > Test > Live Where do your clients QA? Use Version control to push to production - great for rolling back changes - great for multi-developer environments Code vs Content, do smart migrations Set up a workflow to push to production Saturday, January 26, 2013
  • 12. Site Development Plan Typical Drupal Site Saturday, January 26, 2013
  • 13. A complex system that works is invariably found to have evolved from a simple system that worked... Gall's Law Saturday, January 26, 2013
  • 14. Build features zoomed in, then pull back and see how it all fits together. Saturday, January 26, 2013
  • 15. Write a development plan Forces you to think through your architecture and implications of decisions Makes it a lot easier to build quickly- ex: grab all your modules at once, understand content and layout dependencies Build, then theme 90% of the way there is often enough - Don’t be afraid to talk to your clients and get to the heart of business needs Saturday, January 26, 2013
  • 16. Structure Content Break up your content into the pieces you want control over. Important in mobile theming- content first Consider your admins and your visitors. Good content is user-centered Adopt the cognitive frameworks of your users -ERIN KISSANE Saturday, January 26, 2013
  • 17. Feature Development Its essentially three steps, rinse and repeat. 1) Build a content type 2) Build a view 3) Build a layout (Theme) Saturday, January 26, 2013
  • 19. Common Client-side Performance Pitfalls Look for the obvious first: -Are you caching? -Are you aggregating your CSS? -Are the images huge? These are stupidly easy wins :) Saturday, January 26, 2013
  • 20. Theming! Where everything can be overridden. Oh the power and the danger... Saturday, January 26, 2013
  • 21. There is no "best" theme. -@rupl Saturday, January 26, 2013
  • 22. Where to start Develop a theming strategy and find a theme to match - ‘Starter’ themes - Base Themes - Responsive Theming - Click-to-Config Saturday, January 26, 2013
  • 23. Control your layout through configuration Panels, Panelizer, Panopoly Context Omega Display Suite Saturday, January 26, 2013
  • 24. Advancing Theming Its all about Overriding Configuration -> CSS -> PHP Keep it clean and organized Keep a custom module for small stuff Saturday, January 26, 2013
  • 25. You can give back to the community. Saturday, January 26, 2013
  • 26. Coding Standards -Don’t Hack Core! It may seems like a good idea now, but its not. - Comment heavily! You’ll thank yourself later. - Before you do something, consider if you can make it easier to understand. Writing code for yourself is a bad idea. - Use descriptive classes - http://drupal.org/coding-standards - http://drupal.org/project/coder will check for you - http://drupal.org/project/examples Saturday, January 26, 2013
  • 27. GIT Standards - Commit often, and do single-issue commits - Write good commit messages, use real english and reference outside information (ticket number, Drupal.org issues) - Remove things you don’t need with a proper commit, don’t just comment them out Saturday, January 26, 2013
  • 28. Pay it forward - Participate in the issue queue and documentation. - If you use a patch (regardless of whether it works or fails), comment on the issue. - If you write a patch, post it. - Write documentation and blog Saturday, January 26, 2013
  • 29. Learn More Books Camps and Cons Training IRC Documentation Spirit of willingness, giving Blogs back and helping each other Videos Meetups Saturday, January 26, 2013
  • 30. Thank You! @meghsweet @chapter_three Saturday, January 26, 2013