SlideShare a Scribd company logo
2011-06-15
              Web Treff / DUG KölnBonn
         „Webseiten und Web-Applikationen mit
                       Drupal 7“

                    drupal-6.x-–drupal-7.x –
                    „Scratching the surface“


drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
whoami


    Florian Latzel
     ●   @fl3a




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
whoami


    Florian Latzel
     ●   @fl3a → flEa




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
whoami


    Florian Latzel
     ●   @fl3a → flea




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
whoami


    Florian Latzel
     ●   @fl3a → floh




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
drupal­7.x




                                             ?

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
cat drupal­6.x­­drupal­7.x

 ●   Birdseye
 ●   Navigation / Menus
 ●   Modules
 ●   Simpletest
 ●   Fields
 ●   API
 ●   DBTNG
 ●   Theming

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Birdseye


   Size drupal-6.x (decompresed)
    ●   8.5M




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Birdseye


   Size drupal-7.x (decompressed)
    ●   22M




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Birdseye

                          4d3
   diff [1]               < blogapi
                          8a8,9
                          > contextual
                          > dashboard
                          9a11,13
                          > field
                          > field_ui
                          > file
                          12a17
                          > image
                          16a22
                          > overlay
                          19d24
                          < ping
                          21a27
                          > rdf
                          23a30,31
                          > shortcut
                          > simpletest
                          28c36
                          < throttle
                          ---
                          > toolbar
                          33d40
                          < upload
drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Navigation / Menus


   Where the f*ck is … ?




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
modules


   Some modules (and functionality) moved into core [2]
    ●   node/8
    ●   Adminrole
    ●   Poormanscron
    ●   Token
    ●   Vertical Tabs
    ●   ImageAPI, ImageCache,
    ●   RDF
    ●   ...

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
modules


   JavaScript should be compatible with other
   libraries than jQuery [3] [4]

   ((function ($) {

       Drupal.behaviors.exampleModule = {
          attach: function (context, settings) {
            $('.example', context).click(function () {
              $(this).next('ul').toggle('show');
            });
          }
       };

   }(jQuery));
drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
simpletest


  find drupal-7.x -type d -name tests
    ./themes/tests
    ./modules/update/tests
    ./modules/node/tests
    ./modules/filter/tests
    ./modules/openid/tests
    ./modules/locale/tests
    ./modules/simpletest/tests
    ./modules/file/tests
    ./modules/user/tests
    ./modules/field/modules/list/tests
    ./modules/field/tests
    ./modules/rdf/tests
    ./modules/block/tests
    ./modules/search/tests
    ./modules/image/tests
    ./modules/trigger/tests
    ./modules/aggregator/tests
    ./modules/translation/tests

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
simpletest


   Unit tests – Best tested drupal [5]:
    ●   Module [6]
    ●   Library [7]




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Fields


   Goodbye CCK – hello fields!




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Fields


   tree -d drupal-7.x/modules/field
    drupal-7.x/modules/field
    |-- modules
    |   |-- field_sql_storage
    |   |-- list
    |   |   `-- tests
    |   |-- number
    |   |-- options
    |   `-- text
    |-- tests
    `-- theme
    ●   + drupal-7.x/modules/image/image.field.inc
    ●   + drupal-7.x/modules/file/file.field.inc
    ●   - userreference, - nodereference [8]


drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
API


   API Changes (some of them) [9]
    ●   Block module now optional
    ●   db_rewrite_sql() replaced with
        hook_query_alter()
    ●   New user_cancel API
    ●   jQuery UI (1.7) was added into core
    ●   hook_perm() renamed to hook_permission()
    ●   Module .info files can have configure line
    ●   ...

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
DBTNG


   Database Layer: The Next Generation




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
DBTNG


   drupal-6.x:
   $query = “SELECT linkpath, weight
   FROM {menu_links} l
   WHERE l.'menu_name = 'menu-clone-main-menu'
   ORDER BY weight ASC“;
   $result = db_query(query);
   ...




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
DBTNG


   drupal-7.x
   $query = db_select('menu_links', 'l')
       ->fields('l', array('link_path', 'weight'))
       ->condition('l.menu_name', 'menu-clone-main-menu')
       ->orderBy('l.weight', 'ASC');
   $result = $query->execute();
   ...




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Theming

    ●   API Changes
    ●   Anatomy of theme
    ●   Naming of template files
    ●   Template variables
    ●   ...




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Theming


   API Changes, Theming (some of them) [10]
    ●   Primary and secondary links are now Main and
        Secondary menu
    ●   New html.tpl.php files
        → drupal-7.x/modules/system/html.tpl.php
    ●   Content region is now mandatory, main page
        content became a block
    ●   $closure becomes $page_bottom, new
        $page_top and hidden regions
    ●   ...

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Theming


   Anatomy of a theme
   themes/
   `-- mytheme
       |-- css
       |   `-- style.css
       |-- img
       |   |-- slider_links.png
       |   `-- slider_rechts.png
       |-- screenshot.png
       |-- scripts
       |   `-- core.js
       |-- template.php
       |-- templates
       |   |-- html.tpl.php
       |   |-- node--wassergebiet.tpl.php
       |   |-- page.tpl.php
       |   |-- views-slideshow-controls-text-next.tpl.php
       |   |-- views-slideshow-controls-text-pause.tpl.php
       |   |-- views-slideshow-controls-text-previous.tpl.php
       |   `-- views-slideshow.tpl.php
       `-- mytheme.info
drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Theming


   drupal-6.x template variables
    ●   print $header
    ●   print $content;
    ●   print $footer;
    ●   ...




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
Theming


   drupal-7.x template variables
    ●   render($page['header']);
    ●   render($page['content']);
    ●   render($page['footer']);
    ●   ...




drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
cat /usr/src


   Appendix
   [1] diff on ls -A1 drupal-6.x/modules and drupal-7.x/modules
   [2] http://www.unleashedmind.com/node/52
   [3] http://drupal.org/update/modules/6/7#javascript_compatibility
   [4] http://drupal.org/node/756722
   [5] http://qa.drupal.org/
   [6] http://drupal.org/project/simpletest
   [7] http://simpletest.sourceforge.net/
   [8] http://drupal.org/project/references
   [9] http://drupal.org/update/modules/6/7
   [10] http://drupal.org/update/themes/6/7

drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  

More Related Content

What's hot

Drupal Developer Days Keynote
Drupal Developer Days KeynoteDrupal Developer Days Keynote
Drupal Developer Days Keynote
Angela Byron
 
Migrating data to drupal 8
Migrating data to drupal 8Migrating data to drupal 8
Migrating data to drupal 8
Ignacio Sánchez Holgueras
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
Jesus Manuel Olivas
 
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
Paul McKibben
 
History of Drupal
History of DrupalHistory of Drupal
History of Drupal
Matic Čretnik
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
Joachim Neubert
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
Thom Bunting
 
Drush Aegir & Drush, Drupal Roadshow Austria
Drush Aegir & Drush, Drupal Roadshow AustriaDrush Aegir & Drush, Drupal Roadshow Austria
Drush Aegir & Drush, Drupal Roadshow AustriaIztok Smolic
 
Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.
DrupalCamp Kyiv
 
Drupal course hengl
Drupal course henglDrupal course hengl
Drupal course hengl
Tomislav Hengl
 
Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)
Jorge López-Lago
 

What's hot (12)

Drupal Developer Days Keynote
Drupal Developer Days KeynoteDrupal Developer Days Keynote
Drupal Developer Days Keynote
 
2014 hadoop wrocław jug
2014 hadoop   wrocław jug2014 hadoop   wrocław jug
2014 hadoop wrocław jug
 
Migrating data to drupal 8
Migrating data to drupal 8Migrating data to drupal 8
Migrating data to drupal 8
 
Improving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLAImproving your Drupal 8 development workflow DrupalCampLA
Improving your Drupal 8 development workflow DrupalCampLA
 
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
 
History of Drupal
History of DrupalHistory of Drupal
History of Drupal
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
 
Drush Aegir & Drush, Drupal Roadshow Austria
Drush Aegir & Drush, Drupal Roadshow AustriaDrush Aegir & Drush, Drupal Roadshow Austria
Drush Aegir & Drush, Drupal Roadshow Austria
 
Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.Oleksandr Medvediev - Content delivery tools in Drupal 8.
Oleksandr Medvediev - Content delivery tools in Drupal 8.
 
Drupal course hengl
Drupal course henglDrupal course hengl
Drupal course hengl
 
Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)
 

Similar to Drupal 6.x, Drupal 7.x -- Scratching the surface

Drupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinDrupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinADCI Solutions
 
Drupal 8 what to wait from
Drupal 8   what to wait fromDrupal 8   what to wait from
Drupal 8 what to wait from
Andrii Podanenko
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
Konstantin Komelin
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Peter Martin
 
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
DrupalCamp Kyiv
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
Acquia
 
Drupal Efficiency
Drupal EfficiencyDrupal Efficiency
Drupal Efficiency
smattoon
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
IBM
 
Automating Your Workflow with Gulp.js - php[world] 2016
Automating Your Workflow with Gulp.js - php[world] 2016Automating Your Workflow with Gulp.js - php[world] 2016
Automating Your Workflow with Gulp.js - php[world] 2016
Colin O'Dell
 
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyondAutomating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyondNuvole
 
Ditching jQuery Madison
Ditching jQuery MadisonDitching jQuery Madison
Ditching jQuery Madison
Hao Luo
 
Drupal contrib module maintaining
Drupal contrib module maintainingDrupal contrib module maintaining
Drupal contrib module maintaining
Andrii Podanenko
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
LeanIX GmbH
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
Robert Carr
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Peter Martin
 
Multi-mania: Hacking your way through website issues with F12 devtools
Multi-mania: Hacking your way through website issues with F12 devtoolsMulti-mania: Hacking your way through website issues with F12 devtools
Multi-mania: Hacking your way through website issues with F12 devtools
Katrien De Graeve
 
Architecting The Future - WeRise Women in Technology
Architecting The Future - WeRise Women in TechnologyArchitecting The Future - WeRise Women in Technology
Architecting The Future - WeRise Women in Technology
Daniel Barker
 
Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011
John Stevenson
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
Angela Byron
 

Similar to Drupal 6.x, Drupal 7.x -- Scratching the surface (20)

Drupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinDrupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton Shubkin
 
Drupal 8 what to wait from
Drupal 8   what to wait fromDrupal 8   what to wait from
Drupal 8 what to wait from
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
 
#D8 cx: upgrade your modules to drupal 8
#D8 cx: upgrade your modules to drupal 8 #D8 cx: upgrade your modules to drupal 8
#D8 cx: upgrade your modules to drupal 8
 
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
Developing a Joomla 3.x Component using RAD/FOF - Joomladay UK 2014
 
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Drupal Efficiency
Drupal EfficiencyDrupal Efficiency
Drupal Efficiency
 
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM BluemixOffline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
Offline-First Mobile Web Apps with PouchDB, IBM Cloudant, and IBM Bluemix
 
Automating Your Workflow with Gulp.js - php[world] 2016
Automating Your Workflow with Gulp.js - php[world] 2016Automating Your Workflow with Gulp.js - php[world] 2016
Automating Your Workflow with Gulp.js - php[world] 2016
 
Automating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyondAutomating Drupal Development: Makefiles, features and beyond
Automating Drupal Development: Makefiles, features and beyond
 
Ditching jQuery Madison
Ditching jQuery MadisonDitching jQuery Madison
Ditching jQuery Madison
 
Drupal contrib module maintaining
Drupal contrib module maintainingDrupal contrib module maintaining
Drupal contrib module maintaining
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For Techies
 
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
Developing a Joomla 3.x Component using RAD FOF- Part 2: Front-end + demo - J...
 
Multi-mania: Hacking your way through website issues with F12 devtools
Multi-mania: Hacking your way through website issues with F12 devtoolsMulti-mania: Hacking your way through website issues with F12 devtools
Multi-mania: Hacking your way through website issues with F12 devtools
 
Architecting The Future - WeRise Women in Technology
Architecting The Future - WeRise Women in TechnologyArchitecting The Future - WeRise Women in Technology
Architecting The Future - WeRise Women in Technology
 
Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Drupal 6.x, Drupal 7.x -- Scratching the surface

  • 1. 2011-06-15 Web Treff / DUG KölnBonn „Webseiten und Web-Applikationen mit Drupal 7“ drupal-6.x-–drupal-7.x – „Scratching the surface“ drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 2. whoami Florian Latzel ● @fl3a drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 3. whoami Florian Latzel ● @fl3a → flEa drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 4. whoami Florian Latzel ● @fl3a → flea drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 5. whoami Florian Latzel ● @fl3a → floh drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 6. drupal­7.x ? drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 7. cat drupal­6.x­­drupal­7.x ● Birdseye ● Navigation / Menus ● Modules ● Simpletest ● Fields ● API ● DBTNG ● Theming drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 8. Birdseye Size drupal-6.x (decompresed) ● 8.5M drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 9. Birdseye Size drupal-7.x (decompressed) ● 22M drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 10. Birdseye 4d3 diff [1] < blogapi 8a8,9 > contextual > dashboard 9a11,13 > field > field_ui > file 12a17 > image 16a22 > overlay 19d24 < ping 21a27 > rdf 23a30,31 > shortcut > simpletest 28c36 < throttle --- > toolbar 33d40 < upload drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 11. Navigation / Menus Where the f*ck is … ? drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 12. modules Some modules (and functionality) moved into core [2] ● node/8 ● Adminrole ● Poormanscron ● Token ● Vertical Tabs ● ImageAPI, ImageCache, ● RDF ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 13. modules JavaScript should be compatible with other libraries than jQuery [3] [4] ((function ($) { Drupal.behaviors.exampleModule = { attach: function (context, settings) { $('.example', context).click(function () { $(this).next('ul').toggle('show'); }); } }; }(jQuery)); drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 14. simpletest find drupal-7.x -type d -name tests ./themes/tests ./modules/update/tests ./modules/node/tests ./modules/filter/tests ./modules/openid/tests ./modules/locale/tests ./modules/simpletest/tests ./modules/file/tests ./modules/user/tests ./modules/field/modules/list/tests ./modules/field/tests ./modules/rdf/tests ./modules/block/tests ./modules/search/tests ./modules/image/tests ./modules/trigger/tests ./modules/aggregator/tests ./modules/translation/tests drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 15. simpletest Unit tests – Best tested drupal [5]: ● Module [6] ● Library [7] drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 16. Fields Goodbye CCK – hello fields! drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 17. Fields tree -d drupal-7.x/modules/field drupal-7.x/modules/field |-- modules | |-- field_sql_storage | |-- list | | `-- tests | |-- number | |-- options | `-- text |-- tests `-- theme ● + drupal-7.x/modules/image/image.field.inc ● + drupal-7.x/modules/file/file.field.inc ● - userreference, - nodereference [8] drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 18. API API Changes (some of them) [9] ● Block module now optional ● db_rewrite_sql() replaced with hook_query_alter() ● New user_cancel API ● jQuery UI (1.7) was added into core ● hook_perm() renamed to hook_permission() ● Module .info files can have configure line ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 19. DBTNG Database Layer: The Next Generation drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 20. DBTNG drupal-6.x: $query = “SELECT linkpath, weight FROM {menu_links} l WHERE l.'menu_name = 'menu-clone-main-menu' ORDER BY weight ASC“; $result = db_query(query); ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 21. DBTNG drupal-7.x $query = db_select('menu_links', 'l') ->fields('l', array('link_path', 'weight')) ->condition('l.menu_name', 'menu-clone-main-menu') ->orderBy('l.weight', 'ASC'); $result = $query->execute(); ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 22. Theming ● API Changes ● Anatomy of theme ● Naming of template files ● Template variables ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 23. Theming API Changes, Theming (some of them) [10] ● Primary and secondary links are now Main and Secondary menu ● New html.tpl.php files → drupal-7.x/modules/system/html.tpl.php ● Content region is now mandatory, main page content became a block ● $closure becomes $page_bottom, new $page_top and hidden regions ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 24. Theming Anatomy of a theme themes/ `-- mytheme |-- css | `-- style.css |-- img | |-- slider_links.png | `-- slider_rechts.png |-- screenshot.png |-- scripts | `-- core.js |-- template.php |-- templates | |-- html.tpl.php | |-- node--wassergebiet.tpl.php | |-- page.tpl.php | |-- views-slideshow-controls-text-next.tpl.php | |-- views-slideshow-controls-text-pause.tpl.php | |-- views-slideshow-controls-text-previous.tpl.php | `-- views-slideshow.tpl.php `-- mytheme.info drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 25. Theming drupal-6.x template variables ● print $header ● print $content; ● print $footer; ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 26. Theming drupal-7.x template variables ● render($page['header']); ● render($page['content']); ● render($page['footer']); ● ... drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel  
  • 27. cat /usr/src Appendix [1] diff on ls -A1 drupal-6.x/modules and drupal-7.x/modules [2] http://www.unleashedmind.com/node/52 [3] http://drupal.org/update/modules/6/7#javascript_compatibility [4] http://drupal.org/node/756722 [5] http://qa.drupal.org/ [6] http://drupal.org/project/simpletest [7] http://simpletest.sourceforge.net/ [8] http://drupal.org/project/references [9] http://drupal.org/update/modules/6/7 [10] http://drupal.org/update/themes/6/7 drupal­6.x­­drupal­7.x – „Scratching the surface“|Web Treff Köln|2011­06­15|Florian Latzel