SlideShare a Scribd company logo
JS, CMS, UNTANGLE THE MESS
Chris Ward
@chrischinch
DISCLAIMERS
I’m more of a PHP guy

My JS use is fairly ‘traditional’
See, i’m even using Keynote!
WHY USE A CMS?
•

Ideal for a particular job

•

Existing systems

•

Familiarity
JS, CMS, untangle the mess
THE PROBLEMS
•

Conflicts

•

Page weight

•

Non specificity
WHAT’S AVAILABLE
Lots…
JS, CMS, untangle the mess
WE WILL FOCUS ON
•

Drupal

•

Wordpress

•

Joomla!

•

Expression Engine
JS, CMS, untangle the mess
DRUPAL JS OVERVIEW
•

Started with ‘generic’, settled on JQuery

•

Currently D7 ships with JQuery 1.4.2 / UI 1.8

•

Can easily (and often is) upgraded to latest

•

Used for UI enhancements, ajax DOM manipulation
etc…

•

All js is aggregated (if turned on)
OTHER OPTIONS

Umpteen UI modules (carousels, selectors,
Modals), JSON processing, Dynamic forms,
Responsive, Masonry, Modernizr, AngularJS,
Backbone, NodeJS and many many more…
ADDING JS
drupal_add_js() - The path to your js code + some parameters.
These allow to pass settings, how JS is to be rendered, where/when
it’s to be loaded
Four sets of arrays can be passed var Drupal = Drupal || { 'settings': {},
'behaviors': {}, 'themes': {}, 'locale': {} };
MORE INFORMATION

drupal.org/node/121997
JS, CMS, untangle the mess
WORDPRESS JS OVERVIEW
•

Currently ships with JQuery 1.11, Backbone,
TinyMCE and a few other scripts

•

Can easily be upgraded to latest

•

Used for UI enhancements, ajax DOM manipulation
etc…

•

Can be aggregated through plugins
ADDING JS
wp_register_script( $name, $url,
$dependencies, $version,
$load_in_footer );
wp_enqueue_script()
wp_dequeue_script()
wp_localize_script()
OTHER OPTIONS

Umpteen UI modules (carousels, selectors,
Modals), JSON processing, Dynamic forms,
Responsive, Masonry, Modernizr, AngularJS,
Backbone, NodeJS and many many more…
MORE INFORMATION

codex.wordpress.org/Using_Javascript
JS, CMS, untangle the mess
JOOMLA! JS OVERVIEW
•

Currently ships with JQuery 1.81, Bootstrap, JQuery
UI 1.8.23 and Mootools/Joomla JS

•

Can easily be upgraded to latest

•

Used for UI enhancements, ajax DOM manipulation
etc…

•

Can be aggregated through plugins
ADDING JS
$document =
JFactory::getDocument();
$document->addScript(‘script');
JHTML::script('sample.js',
'templates/custom/js/');
OTHER OPTIONS

Umpteen UI modules (carousels, selectors,
Modals), JSON processing, Dynamic forms,
Responsive, Masonry, Modernizr,* AngularJS*,
Backbone, NodeJS and many many more…
MORE INFORMATION

docs.joomla.org/Adding_JavaScript
JS, CMS, untangle the mess
EXPRESSION ENGINE JS
OVERVIEW
•

JQuery v1.6.2?

•

Can’t be upgraded

•

Used for UI enhancements, ajax DOM
manipulation etc…

•

Assume it has JS aggregation
ADDING JS
{exp:jquery:script_tag}
plugin=
ui=
effect=
file=
ee()->cp->add_js_script(array('plugin' =>
'dataTables'));
ee()->javascript->output();
ee()->javascript->compile();
OTHER OPTIONS

Hmm…
MORE INFORMATION

ellislab.com/expressionengine/user-guide/modules/jque
SUMMARY

Each CMS handles and utilises JS in it’s specialised way.
THANKS!
Chris Ward
@chrischinch
chrischinchilla.com

More Related Content

PPTX
Modular & Event driven UI Architecture
PPTX
Frontend architecture design for large(r) team final
PPTX
Week01 jan19 introductionto_php
DOCX
jQuery Code Testing
PDF
Front-End Performance Optimization in WordPress
PPTX
jQuery - Web Engineering
PDF
Use SVG to Bring the Web to Life (Quinton Jason Jr)
Modular & Event driven UI Architecture
Frontend architecture design for large(r) team final
Week01 jan19 introductionto_php
jQuery Code Testing
Front-End Performance Optimization in WordPress
jQuery - Web Engineering
Use SVG to Bring the Web to Life (Quinton Jason Jr)

What's hot (20)

KEY
Sugarcoating your frontend one ViewModel at a time
DOCX
код презентации
PDF
Multi-tenant Database Design for SaaS
PPTX
Unobtrusive javascript
PDF
Week 1 - How the Web Woks + Wordpress 101
PPTX
DevNexus 2016
PPTX
SharePoint Ribbon Deep Dive
PPTX
Hammersmith fundamentals html fundamentals
KEY
Developing for the mobile web
PDF
jQuery - Boston IxDA
PDF
JClouds at San Francisco Java User Group
PPTX
Presentation on php and Javascript
PPTX
Практическая оптимизация сервер сайд: современные реалии
PDF
Евгений Самоненко - Практическая оптимизация сервер сайд современные реалии
PDF
How to Make and Maintain a Successful Installation of WordPress Multisite
PPTX
Backbone introduction
PDF
Develop plugin for Mozilla Firefox and structure a JS-based application
PPTX
WordPress Theme Development Workflow with Node.js, Ruby, Sass, Bower and Grunt
PPS
MySQL Optimization from a Developer's point of view
PPTX
Advance java session 9
Sugarcoating your frontend one ViewModel at a time
код презентации
Multi-tenant Database Design for SaaS
Unobtrusive javascript
Week 1 - How the Web Woks + Wordpress 101
DevNexus 2016
SharePoint Ribbon Deep Dive
Hammersmith fundamentals html fundamentals
Developing for the mobile web
jQuery - Boston IxDA
JClouds at San Francisco Java User Group
Presentation on php and Javascript
Практическая оптимизация сервер сайд: современные реалии
Евгений Самоненко - Практическая оптимизация сервер сайд современные реалии
How to Make and Maintain a Successful Installation of WordPress Multisite
Backbone introduction
Develop plugin for Mozilla Firefox and structure a JS-based application
WordPress Theme Development Workflow with Node.js, Ruby, Sass, Bower and Grunt
MySQL Optimization from a Developer's point of view
Advance java session 9
Ad

Viewers also liked (9)

PDF
PPTX
Why your image of the world could be wrong
PPTX
Jquery mobile
PDF
14.08021403
PPTX
Building mobile apps with PhoneGap and Titanium appcelerator
PDF
Tax free bonds - 2013
PPTX
Power your mobile app with Drupal - Melbourne Mobile, July 2013
PDF
A Documentation Crash Course, LinuxCon 2016
Why your image of the world could be wrong
Jquery mobile
14.08021403
Building mobile apps with PhoneGap and Titanium appcelerator
Tax free bonds - 2013
Power your mobile app with Drupal - Melbourne Mobile, July 2013
A Documentation Crash Course, LinuxCon 2016
Ad

Similar to JS, CMS, untangle the mess (20)

PPTX
jQuery - the world's most popular java script library comes to XPages
PPTX
Going Offline with JS
PPTX
Wheel.js
PPTX
Going offline with JS (DDD Sydney)
PPTX
Become a Successful Web Developer in Web development Field in 2017
PPTX
Starting with jQuery
KEY
Single Page Applications - Desert Code Camp 2012
PPTX
Introduction to node.js by jiban
PDF
Seven Versions of One Web Application
KEY
A nodejs application
PDF
Module, AMD, RequireJS
PDF
Building Real-World Dojo Web Applications
PDF
JavaScript Modules Done Right
PDF
jQuery: The World's Most Popular JavaScript Library Comes to XPages
PPTX
Javascript & Jquery
PDF
Javascript fatigue, 자바스크립트 피로
DOC
Partha_Sr._PHP_Drupal_UI_Developer
PPTX
ME vs WEB - AngularJS Fundamentals
PDF
jQuery 1.9 and 2.0 - Present and Future
KEY
Developing High Performance Web Apps - CodeMash 2011
jQuery - the world's most popular java script library comes to XPages
Going Offline with JS
Wheel.js
Going offline with JS (DDD Sydney)
Become a Successful Web Developer in Web development Field in 2017
Starting with jQuery
Single Page Applications - Desert Code Camp 2012
Introduction to node.js by jiban
Seven Versions of One Web Application
A nodejs application
Module, AMD, RequireJS
Building Real-World Dojo Web Applications
JavaScript Modules Done Right
jQuery: The World's Most Popular JavaScript Library Comes to XPages
Javascript & Jquery
Javascript fatigue, 자바스크립트 피로
Partha_Sr._PHP_Drupal_UI_Developer
ME vs WEB - AngularJS Fundamentals
jQuery 1.9 and 2.0 - Present and Future
Developing High Performance Web Apps - CodeMash 2011

More from Chris Ward (19)

PDF
Electron - Solving our cross platform dreams?
PDF
Automate your docs, automate yourself
PDF
Back to the future with static site generators
PDF
Building Cross Platform Apps with Electron
PDF
Android Programming without Java
PDF
The past, present and future of swift, Voxxed Belgrade 2016
PDF
Always Listening User Experience
PPT
Why you should come to DrupalSouth
PPTX
Extend Drupal with a CRM, DrupalGov 2013
PPTX
Drupal DevOps - Melbourne DevOps July 2013
PPTX
Removing Barriers in Engagement - Melbourne Geek Night, July 2013
PPTX
Tweak, Test and Debug your mobile apps from Web directions code 13
PPTX
Take your drupal sites offline
PPTX
Green Renters' Giant Green Games
PPTX
Customising civicrm
PPTX
Drupal - Melbourne cryptoparty
PPTX
HP Lovecraft, laneway learning
PPTX
CiviCRM and Wordpress
PPTX
Blogging with drupal
Electron - Solving our cross platform dreams?
Automate your docs, automate yourself
Back to the future with static site generators
Building Cross Platform Apps with Electron
Android Programming without Java
The past, present and future of swift, Voxxed Belgrade 2016
Always Listening User Experience
Why you should come to DrupalSouth
Extend Drupal with a CRM, DrupalGov 2013
Drupal DevOps - Melbourne DevOps July 2013
Removing Barriers in Engagement - Melbourne Geek Night, July 2013
Tweak, Test and Debug your mobile apps from Web directions code 13
Take your drupal sites offline
Green Renters' Giant Green Games
Customising civicrm
Drupal - Melbourne cryptoparty
HP Lovecraft, laneway learning
CiviCRM and Wordpress
Blogging with drupal

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
MIND Revenue Release Quarter 2 2025 Press Release
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The AUB Centre for AI in Media Proposal.docx
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
sap open course for s4hana steps from ECC to s4
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
MIND Revenue Release Quarter 2 2025 Press Release

JS, CMS, untangle the mess

Editor's Notes

  • #4: A content management system, been around since the 90s
  • #8: Umbraco, .netNuke, Movable Type - .net Drupal, Joomla, Wordpress - PHP Plone - Python Refinery - Ruby Alfresco - Java Expression Engine - PHP SiteCore - ASP
  • #9: All PHP, two open source, two proprietary and ones I know the best. I wanted to add more proprietary options, but it’s really hard to find information.
  • #10: Drupal, PHP CMS, popular with large, complex sites and is thus quite complex itself.
  • #11: At the same time, module developers were starting to incorporate advanced effects libraries like Dojo, moo.fx, and prototype
  • #13: In modules and themes, things can just be fudged in of course… Settings behaviours to be acted upon - This is so Drupal is also aware of what is going on / DOM changes and can react / cache properly theme - Adds ability for client side DOM elements to be properly styled locale - Translations
  • #17: Even official docs mention adding into <head> / header.php… ‘Official’ way Name (required, string): The name of the script. URL (required, string): Dependencies (optional, array): Version (optional, string): Load in Footer (optional, boolean): There are specific enqueue functions for front / admin / login pages
  • #18: Notice how this is exactly the same…
  • #21: Mootools is deprecated
  • #22: Joomla is more MVC based, so JS can be added in various front end locations, out of scope for this talk.
  • #23: * Note quite ‘native’ plugins.
  • #27: Into templates File to load something other than JQuery 2nd - Modules
  • #28: Not saying there aren’t any, but it’s not made very clear or easy to find.
  • #30: Wordpress and Joomla quickly and for fairly one shot Drupal more complex allowing for more flexibility that may not be needed.