SlideShare a Scribd company logo
The Chaos Tools SuiteDrupalCon Paris, Sep 2009
WTF?Considered a sub-core by many.Not as well-tested as core, but more agile.I don’t have to argue over shed colors.Collection of important API tools developed based upon the needs of Views and Panels.Starting to get a small cadre of devs who are helping patch and expand the tools.Two pieces went into core.
Form wizardsAJAXModalsExportablesCollapsible DIVCSS caching and sanitizationPlugins
Form WizardsStart off with an array to describe the formEach step within the form is a completely independent form.Uses server side caching to keep data between steps.Handles Back, Next, Finish and Cancel buttons for you.http://www.nicklewis.org/using-chaos-tools-form-wizard-build-multistep-forms-drupal-6
The Chaos Tools Suite
The Chaos Tools Suite
The Chaos Tools Suite
Individual stepsEach step is a normal FAPI form…almost.The submit handler on each step should build up data on the $form_state.No permanent storage should happen here.Order of steps can be changed during submit handler by changing $form_state[‘clicked_button’][‘#next’]
AJAX FrameworkLinks and forms can be AJAXified by adding classes.AJAX callbacks use a macro language to tell the server how to handle the returned data.Macro language is extensible so that you can add commands if you need to do something it does not already do.
WTF?<a href=“/my/ajax/thing” class=“ctools-use-ajax”>Click to do something ajaxy</a>ctools_include('ajax'); $commands = array(); $commands[] = ctools_ajax_command_replace('#page-manager-list-pages', $table); if (!empty($replace_form)) {   $commands[] = ctools_ajax_command_replace('#page-manager-list-pages-form', $form); }ctools_ajax_render($commands);
CTools ModalBuilds on the AJAX framework.Uses ctools-use-modal class to trigger modal loading.AJAX framework command to dismiss the modal: ctools_ajax_modal_dismiss()Automatically supported by the wizard.inc tool by adding ‘modal’ => TRUE and ‘ajax’ => TRUE to the form state.
The Chaos Tools Suite
The Chaos Tools Suite
The Chaos Tools Suite
Collapsible DIV
The Chaos Tools Suite
CSS CachingFilter CSS from user input to remove dangerous itemsStore generated CSS in temporary files in the files directory. Similar to CSS aggregation.

More Related Content

KEY
Leveraging the Chaos tool suite for module development
PDF
phpWebApp presentation
PPTX
SPA using Rails & Backbone
PPTX
ASP .NET MVC - best practices
PDF
Working with Javascript in Rails
PPT
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
PPTX
Ruby on Rails + AngularJS + Twitter Bootstrap
PPTX
SPCA2013 - SharePoint Hosted Apps and Javascript
Leveraging the Chaos tool suite for module development
phpWebApp presentation
SPA using Rails & Backbone
ASP .NET MVC - best practices
Working with Javascript in Rails
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
Ruby on Rails + AngularJS + Twitter Bootstrap
SPCA2013 - SharePoint Hosted Apps and Javascript

What's hot (19)

PDF
Ch. 9 jsp standard tag library
PDF
Using Angular with Rails
PDF
Ch. 8 script free pages
PDF
RailsAdmin - Overview and Best practices
PDF
FreshBooks API
PDF
Ch. 7 beeing a jsp
PDF
Streamlining Your Applications with Web Frameworks
PPTX
Introduction to ASP.NET MVC
PPTX
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
PPTX
Building a dashboard using AngularJS
PDF
Being a jsp
PDF
Oleksandr Masovets. Forms in Drupal. Drupal Camp Kyiv 2011
PDF
RoR 101: Session 2
PDF
Rails course day 7
PDF
A Practical Guide to Hypermedia APIs
KEY
Molly Holzschlag - How HTML 5 is Going to Completely Change your Web App
PPTX
Build a Better Editing Experience with Advanced Custom Fields - #WCTO16
DOC
WebAPI Odata Knockout
PDF
Handout for Metadata for Visual Resources
Ch. 9 jsp standard tag library
Using Angular with Rails
Ch. 8 script free pages
RailsAdmin - Overview and Best practices
FreshBooks API
Ch. 7 beeing a jsp
Streamlining Your Applications with Web Frameworks
Introduction to ASP.NET MVC
Mortal Kombat! ASP.NET MVC vs ASP.NET Webforms – ASP.NET MVC is amazing
Building a dashboard using AngularJS
Being a jsp
Oleksandr Masovets. Forms in Drupal. Drupal Camp Kyiv 2011
RoR 101: Session 2
Rails course day 7
A Practical Guide to Hypermedia APIs
Molly Holzschlag - How HTML 5 is Going to Completely Change your Web App
Build a Better Editing Experience with Advanced Custom Fields - #WCTO16
WebAPI Odata Knockout
Handout for Metadata for Visual Resources
Ad

Similar to The Chaos Tools Suite (20)

PDF
Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016
PPT
WordPress and Ajax
ODP
Exploring Symfony's Code
ODP
Practical catalyst
PPTX
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
PPT
Php frameworks
PDF
Intro To Mvc Development In Php
PDF
Laravel 8 export data as excel file with example
PPTX
WordPress Structure and Best Practices
PPT
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
ODP
RoR 101: Session 6
PPTX
Usability AJAX and other ASP.NET Features
PPT
Useful Rails Plugins
PDF
Create Home Directories on Storage Using WFA and ServiceNow integration
PDF
Rich Portlet Development in uPortal
PDF
WebGUI Developers Workshop
PDF
Jsf Ajax
PDF
Laravel tips-2019-04
PPT
How to learn to build your own PHP framework
PPT
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Ajax on drupal the right way - DrupalCamp Campinas, São Paulo, Brazil 2016
WordPress and Ajax
Exploring Symfony's Code
Practical catalyst
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
Php frameworks
Intro To Mvc Development In Php
Laravel 8 export data as excel file with example
WordPress Structure and Best Practices
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
RoR 101: Session 6
Usability AJAX and other ASP.NET Features
Useful Rails Plugins
Create Home Directories on Storage Using WFA and ServiceNow integration
Rich Portlet Development in uPortal
WebGUI Developers Workshop
Jsf Ajax
Laravel tips-2019-04
How to learn to build your own PHP framework
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Ad

More from merlinofchaos (7)

PPTX
Semantic views
PPTX
The panels family
PPTX
Drupal 7 advanced ajax
PPTX
Panels, Panels Everywhere
PPT
User Experience
PPT
Panels 2 and Nodequeue 2
PPT
Drupal 6 Theming
Semantic views
The panels family
Drupal 7 advanced ajax
Panels, Panels Everywhere
User Experience
Panels 2 and Nodequeue 2
Drupal 6 Theming

Recently uploaded (20)

PPT
Data mining for business intelligence ch04 sharda
DOCX
Business Management - unit 1 and 2
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PDF
A Brief Introduction About Julia Allison
PDF
Chapter 5_Foreign Exchange Market in .pdf
PPT
Chapter four Project-Preparation material
PDF
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
PDF
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PPTX
Probability Distribution, binomial distribution, poisson distribution
PDF
Ôn tập tiếng anh trong kinh doanh nâng cao
PDF
Training And Development of Employee .pdf
PDF
Nidhal Samdaie CV - International Business Consultant
PPTX
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
PDF
Deliverable file - Regulatory guideline analysis.pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
PPTX
5 Stages of group development guide.pptx
DOCX
Euro SEO Services 1st 3 General Updates.docx
PPTX
Dragon_Fruit_Cultivation_in Nepal ppt.pptx
Data mining for business intelligence ch04 sharda
Business Management - unit 1 and 2
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
A Brief Introduction About Julia Allison
Chapter 5_Foreign Exchange Market in .pdf
Chapter four Project-Preparation material
Traveri Digital Marketing Seminar 2025 by Corey and Jessica Perlman
Dr. Enrique Segura Ense Group - A Self-Made Entrepreneur And Executive
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
Probability Distribution, binomial distribution, poisson distribution
Ôn tập tiếng anh trong kinh doanh nâng cao
Training And Development of Employee .pdf
Nidhal Samdaie CV - International Business Consultant
AI-assistance in Knowledge Collection and Curation supporting Safe and Sustai...
Deliverable file - Regulatory guideline analysis.pdf
Laughter Yoga Basic Learning Workshop Manual
ICG2025_ICG 6th steering committee 30-8-24.pptx
5 Stages of group development guide.pptx
Euro SEO Services 1st 3 General Updates.docx
Dragon_Fruit_Cultivation_in Nepal ppt.pptx

The Chaos Tools Suite

  • 1. The Chaos Tools SuiteDrupalCon Paris, Sep 2009
  • 2. WTF?Considered a sub-core by many.Not as well-tested as core, but more agile.I don’t have to argue over shed colors.Collection of important API tools developed based upon the needs of Views and Panels.Starting to get a small cadre of devs who are helping patch and expand the tools.Two pieces went into core.
  • 4. Form WizardsStart off with an array to describe the formEach step within the form is a completely independent form.Uses server side caching to keep data between steps.Handles Back, Next, Finish and Cancel buttons for you.http://www.nicklewis.org/using-chaos-tools-form-wizard-build-multistep-forms-drupal-6
  • 8. Individual stepsEach step is a normal FAPI form…almost.The submit handler on each step should build up data on the $form_state.No permanent storage should happen here.Order of steps can be changed during submit handler by changing $form_state[‘clicked_button’][‘#next’]
  • 9. AJAX FrameworkLinks and forms can be AJAXified by adding classes.AJAX callbacks use a macro language to tell the server how to handle the returned data.Macro language is extensible so that you can add commands if you need to do something it does not already do.
  • 10. WTF?<a href=“/my/ajax/thing” class=“ctools-use-ajax”>Click to do something ajaxy</a>ctools_include('ajax'); $commands = array(); $commands[] = ctools_ajax_command_replace('#page-manager-list-pages', $table); if (!empty($replace_form)) { $commands[] = ctools_ajax_command_replace('#page-manager-list-pages-form', $form); }ctools_ajax_render($commands);
  • 11. CTools ModalBuilds on the AJAX framework.Uses ctools-use-modal class to trigger modal loading.AJAX framework command to dismiss the modal: ctools_ajax_modal_dismiss()Automatically supported by the wizard.inc tool by adding ‘modal’ => TRUE and ‘ajax’ => TRUE to the form state.
  • 17. CSS CachingFilter CSS from user input to remove dangerous itemsStore generated CSS in temporary files in the files directory. Similar to CSS aggregation.