SlideShare a Scribd company logo
Panels 3:
The Power of
Chaos Magic
          Matt Cheney
       October 17th, 2009
        BADCamp 2009
in a galaxy far far away..

 Panels 2 - Tips and Tricks (BADCamp 08)
Panels is our Best Hope
•   Marshall Content

•   Drag & Drop Layout

•   Configurable in the UI

•   Views 2 + CCK Integration

•   Killer API

•   Exportable Elements

         “what do you want in your CMS?”
What Does it Do?
What Does it Do?
A Little History....
             Panels 1 (5.x)
A Little History....
Panels 2 (5.x)                      Panels 2 (6.x)




                 the long road...
A Little History....
   panels 3.0 released
         9.19.09
The Panels Paradigm
No Blocks   Every Page is a Panel
A Tour of Panels
                                 Mini Panels
          Panel Pages
                                          OG
                          Panel Nodes
          Layouts
                             Views 2
         Node Overrides
                             Field Placement

          Panel Styling
                                 Blocks
Panels and Chaos Tools
                   Chaos Tools
               a shared suite of APIs and tools
              to allow for wizardly development
                  drupal.org/project/ctools


                        Panels
                a system of layout and pane
               control to create your website

                 drupal.org/project/panels
The Panels/CTools API
    /**
     * Implementation of hook_ctools_plugin_directory() to let
     * the system know we implement task and task_handler plugins.
     */
    function module_name_ctools_plugin_directory($module, $plugin) {
      return 'plugins/' . $plugin;
    }



              module/plugins/content_types/
              module/plugins/layouts/
              module/plugins/contexts/
              module/plugins/arguments/
              module/plugins/tasks/
Extending Panels: Panes
      hook_ctools_content_types()

          A recipe for a custom panel pane...

    module_custompane_ctools_content_types()
                       +
    module_custompane_content_type_render()
                       +
   module_custompane_content_type_edit_form()
                       +
module_custompane_content_type_edit_form_submit()



  more information in the ctools_plugin_example module
Extending Panels: Layouts
   hook_panels_layouts()
  A recipe for a custom panel layout...

            layout_name.css
                    +
             layout_name.inc
                    +
          layout_name.tpl.php
                    +
            layout_name.png
Content Creation in Panels

  •   Panels “Content Types”:
      Not Just for CCK!

  •   Create Content:
      Images/Feeds/Embeds


             status:
  http://drupal.org/node/451928
Front Page Scheduling

•   Add Date Field to Panel
    Node Content Type

•   Create Custom Callback to
    Find Current Page

•   return node_view($node)!
                                                 status:
                               http://drupal.org/project/panels_scheduler
panels-pane.tpl.php
Variables available:
 * - $pane->type: the content type inside this pane
 * - $pane->subtype: the subtype, if applicable. If a view
it will be the view name; if a node it will be the nid, etc.
 * - $content->title: The title of the content
 * - $content->content: The actual content                         status:
 * - $content->links: Any associated links              http://drupal.org/node/583172
 * - $content->more: An optional 'more' link                  (now in Panels 3.1!)
 * - $content->admin_links: Administrative links
 * - $content->feeds: Any feed icons or associated with
the content

 Why This Matters?

 <div class="panel-pane panel-pane-<?php print $pane->type; ?>">
Node/% Overrides
•   Better Node View Control   •   The Power of Context

•   Customized Sidebars        •   Layout UI that Makes Sense
OG Panels

 •   OG + Panels = Great

 •   A model for how to
     have users manage
     groups


              status:
http://drupal.org/project/og_panels
Total Admin Control
•   Views 2 + Panels 3
    = Admin 5000

•   Flexible +
    Customizable

•   The Content
    Admin Solution

                    status:
    http://drupal.org/project/total_control
The Future Is Now
      released

More Related Content

Similar to Panels 3.0: The Powers Of Chaos Magic

10 steps to becoming a panels pro
10 steps to becoming a panels pro10 steps to becoming a panels pro
10 steps to becoming a panels pro
Green For All
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Emma Jane Hogbin Westby
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 
Drupal Panels: An Introduction
Drupal Panels: An IntroductionDrupal Panels: An Introduction
Drupal Panels: An Introduction
Chris Parsons
 

Similar to Panels 3.0: The Powers Of Chaos Magic (20)

Panels - Creating Multi Column Layouts Through The Web - Drupal Camp Vienna 2...
Panels - Creating Multi Column Layouts Through The Web - Drupal Camp Vienna 2...Panels - Creating Multi Column Layouts Through The Web - Drupal Camp Vienna 2...
Panels - Creating Multi Column Layouts Through The Web - Drupal Camp Vienna 2...
 
Drupal @ MediaCamp Athens
Drupal @ MediaCamp Athens Drupal @ MediaCamp Athens
Drupal @ MediaCamp Athens
 
10 steps to becoming a panels pro
10 steps to becoming a panels pro10 steps to becoming a panels pro
10 steps to becoming a panels pro
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
Design to Theme @ CMSExpo
Design to Theme @ CMSExpoDesign to Theme @ CMSExpo
Design to Theme @ CMSExpo
 
Features++
Features++Features++
Features++
 
Staying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHPStaying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHP
 
Rapid site production with Drupal
Rapid site production with DrupalRapid site production with Drupal
Rapid site production with Drupal
 
Intro to drupal_7_architecture
Intro to drupal_7_architectureIntro to drupal_7_architecture
Intro to drupal_7_architecture
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
 
D2 k word_format
D2 k word_formatD2 k word_format
D2 k word_format
 
DrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme DevelopmentDrupalEasy: Intro to Theme Development
DrupalEasy: Intro to Theme Development
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
 
ExtBase workshop
ExtBase workshop ExtBase workshop
ExtBase workshop
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Magento mega menu extension
Magento mega menu extensionMagento mega menu extension
Magento mega menu extension
 
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationIBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
 
Drupal Panels: An Introduction
Drupal Panels: An IntroductionDrupal Panels: An Introduction
Drupal Panels: An Introduction
 
Zend Framework 2
Zend Framework 2Zend Framework 2
Zend Framework 2
 

More from Chapter Three (6)

Drupal as a winning Web Platform
Drupal as a winning Web PlatformDrupal as a winning Web Platform
Drupal as a winning Web Platform
 
Pantheon @ Drupal Down Under
Pantheon @ Drupal Down UnderPantheon @ Drupal Down Under
Pantheon @ Drupal Down Under
 
Enterprise Drupal
Enterprise DrupalEnterprise Drupal
Enterprise Drupal
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The Cloud
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 

Recently uploaded

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Ransomware Mallox [EN].pdf
Ransomware         Mallox       [EN].pdfRansomware         Mallox       [EN].pdf
Ransomware Mallox [EN].pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
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...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
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
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
 
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
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
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...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Panels 3.0: The Powers Of Chaos Magic

  • 1. Panels 3: The Power of Chaos Magic Matt Cheney October 17th, 2009 BADCamp 2009
  • 2. in a galaxy far far away.. Panels 2 - Tips and Tricks (BADCamp 08)
  • 3. Panels is our Best Hope • Marshall Content • Drag & Drop Layout • Configurable in the UI • Views 2 + CCK Integration • Killer API • Exportable Elements “what do you want in your CMS?”
  • 6. A Little History.... Panels 1 (5.x)
  • 7. A Little History.... Panels 2 (5.x) Panels 2 (6.x) the long road...
  • 8. A Little History.... panels 3.0 released 9.19.09
  • 9. The Panels Paradigm No Blocks Every Page is a Panel
  • 10. A Tour of Panels Mini Panels Panel Pages OG Panel Nodes Layouts Views 2 Node Overrides Field Placement Panel Styling Blocks
  • 11. Panels and Chaos Tools Chaos Tools a shared suite of APIs and tools to allow for wizardly development drupal.org/project/ctools Panels a system of layout and pane control to create your website drupal.org/project/panels
  • 12. The Panels/CTools API /** * Implementation of hook_ctools_plugin_directory() to let * the system know we implement task and task_handler plugins. */ function module_name_ctools_plugin_directory($module, $plugin) { return 'plugins/' . $plugin; } module/plugins/content_types/ module/plugins/layouts/ module/plugins/contexts/ module/plugins/arguments/ module/plugins/tasks/
  • 13. Extending Panels: Panes hook_ctools_content_types() A recipe for a custom panel pane... module_custompane_ctools_content_types() + module_custompane_content_type_render() + module_custompane_content_type_edit_form() + module_custompane_content_type_edit_form_submit() more information in the ctools_plugin_example module
  • 14. Extending Panels: Layouts hook_panels_layouts() A recipe for a custom panel layout... layout_name.css + layout_name.inc + layout_name.tpl.php + layout_name.png
  • 15. Content Creation in Panels • Panels “Content Types”: Not Just for CCK! • Create Content: Images/Feeds/Embeds status: http://drupal.org/node/451928
  • 16. Front Page Scheduling • Add Date Field to Panel Node Content Type • Create Custom Callback to Find Current Page • return node_view($node)! status: http://drupal.org/project/panels_scheduler
  • 17. panels-pane.tpl.php Variables available: * - $pane->type: the content type inside this pane * - $pane->subtype: the subtype, if applicable. If a view it will be the view name; if a node it will be the nid, etc. * - $content->title: The title of the content * - $content->content: The actual content status: * - $content->links: Any associated links http://drupal.org/node/583172 * - $content->more: An optional 'more' link (now in Panels 3.1!) * - $content->admin_links: Administrative links * - $content->feeds: Any feed icons or associated with the content Why This Matters? <div class="panel-pane panel-pane-<?php print $pane->type; ?>">
  • 18. Node/% Overrides • Better Node View Control • The Power of Context • Customized Sidebars • Layout UI that Makes Sense
  • 19. OG Panels • OG + Panels = Great • A model for how to have users manage groups status: http://drupal.org/project/og_panels
  • 20. Total Admin Control • Views 2 + Panels 3 = Admin 5000 • Flexible + Customizable • The Content Admin Solution status: http://drupal.org/project/total_control
  • 21. The Future Is Now released