SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
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  

Weitere ähnliche Inhalte

Was ist angesagt?

Drupal Developer Days Keynote
Drupal Developer Days KeynoteDrupal Developer Days Keynote
Drupal Developer Days KeynoteAngela Byron
 
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 DrupalCampLAJesus 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 2016Paul McKibben
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.xJoão Ventura
 
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 DistributionsThom 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
 
Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)Open event (Drupalcamp Sunderland 2015)
Open event (Drupalcamp Sunderland 2015)Jorge López-Lago
 

Was ist angesagt? (13)

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
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.x
 
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)
 

Ähnlich wie 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 fromAndrii 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 2014Peter 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 moreAcquia
 
Drupal Efficiency
Drupal EfficiencyDrupal Efficiency
Drupal Efficiencysmattoon
 
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 BluemixIBM
 
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] 2016Colin 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 MadisonHao Luo
 
Drupal contrib module maintaining
Drupal contrib module maintainingDrupal contrib module maintaining
Drupal contrib module maintainingAndrii 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 BerlinLeanIX GmbH
 
Drupal Overview For Techies
Drupal Overview For TechiesDrupal Overview For Techies
Drupal Overview For TechiesRobert 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 devtoolsKatrien 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 TechnologyDaniel Barker
 
Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011Getting startedwith noir-clojureexchange-2011
Getting startedwith noir-clojureexchange-2011John Stevenson
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Angela Byron
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

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