An overview of Joomla 3 as presented to the Joomla User Group Brisbane by Andrew Eddie on 19 September 2012. It covers topics such as the new features in Joomla 3, the new Bootstrap/LESS frameworks for templates, and guidance for upgrading from Joomla 1.5 and 2.5 (to 3.0).
3. Executive summary
3.0.0 due on or about 26 September 2012
Expect some change
‣ an increment in the first number of the version allows for breaking changes
‣ major changes are in the template markup
Upgrading the site from 2.5 will be [relatively] easy
‣ but migrating from 1.5 will still be hard
Stability comparable to 2.5
‣ but bugs will still be thrown in for free
19. Bootstrap
Grand vision
‣ A means to an end, but not the end itself
‣ Rich palette of standard UI elements - the visual DNA of a Joomla site
‣ Unifies the frontend and backend experience
Why Bootstrap
‣ Popular and widely adopted standard
‣ LESS is more
‣ Responsive grid
‣ Looks great of all the good browsers, oh, and makes IE behave too
‣ Looks and performs great on multiple devices
‣ Templates available outside the regular Joomla marketplaces
20. For designers
Possible to opt out
‣ All the jdoc: tags and PHP are still available
‣ Just need to skin all the styles yourself
Icomoon font based icons
‣ 715 possible vector icons that scale and colour easily
LESS CSS
‣ Core found in /media/jui
‣ Most customisation in *.less files
‣ Compile and compress your responsibility
21. For developers
Lots to Bootstrap cheat sheets around
No need to mess around with custom template styles
‣ For those that can’t help themselves, follow the conventions
‣ Push back changes to the core for others to use
22. jQuery and Mootools are not the same, but ...
Bootstrap runs natively with jQuery
‣ Version 1.8.1 included with Joomla 3
Mootools provided for backward compatibility
‣ Long term goal is to retire Mootools support
23. Shipped templates
Frontend
‣ Protostar (pure Bootstrap)
‣ Beez3
Backend
‣ Isis
‣ Hathor (revised)
‣ Bluestork “maybe” but not out of the gate
25. A few gotcha’s
PHP 5.3 required for Joomla 3
‣ Platform updated to 12.2
‣ Old PHP 4 is starting to break
Use maximum error reporting
‣ Strict mode if possible, including testing installation of your extension
‣ Log deprecated API via the Debug plugin
Type hinting
Catching exceptions
‣ All database errors throw exceptions automatically
26. And a few more
JModel, JView, JController are now interfaces
‣ Use JModelLegacy, etc, instead
‣ Also supported in 2.5.6 to make dual-version components easier to build
Legacy and transitional issues
‣ *.toolbar.php (Joomla 1.0 style) no longer supported
‣ Module name must start with “mod_”
‣ Old plugin folder layout will no longer work
Session cookie not accessible via JavaScript anymore
28. Upgrade paths
From 2.5
‣ Upgrade automatically via Joomla! Update component
‣ Adjust “Update server” option
29. Upgrade paths
From 1.6, 1.7
‣ Why aren’t you on 2.5 already?
‣ Upgrade automatically through 2.5 using the Extension Manager
30. Upgrade paths
From Joomla 1.5
‣ No direct path to 3.0
‣ Must migrate through 2.5 using jUpgrade
‣ http://docs.joomla.org/Migrating_from_Joomla_1.5_to_Joomla_2.5
31. And what are you missing out on?
Joomla 1.6 (Jan 2011) Joomla 1.7 (July 2011)
‣ Released 10 January 2011 ‣ Automatic Joomla upgrades from 1.6
‣ Advanced access controls for viewing and ‣ Ajax installer
administrative actions
‣ Lots of multi-language improvements
‣ Customisable user groups
‣ Copy and move consistencies
‣ Nested categories
‣ Improved menu management
‣ Template styles
‣ Extension discovery and updates
‣ Time-based module publishing
‣ Save & New, Save to Copy ...
32. But wait, there’s more
Joomla 2.5 (January 2012) Joomla 2.5.4
‣ Smart search (aka Finder) ‣ Overhauled the Joomla updater (safer and
more reliable)
‣ Microsoft database support; fix database
tools Joomla 2.5.5
‣ Update notifications ‣ Copy a template
‣ CAPTCHA plugin ‣ Terms of service for user profile plugin
‣ Link a module for new menus ‣ Lock user login names
‣ Input filtering for custom groups ‣ Image preview for image parameters
‣ Manage language overrides ‣ Toggle buttons for each menu set in the
module manager
‣ User notes
‣ Multi-file upload
33. Do you upgrade?
It depends ...
‣ on if you need the features in the “next” version (be that 2.5 or 3)
‣ on if there are compatible extensions available for version 3
‣ on if you can get your template to work for 3
35. The release cycle continues
Joomla 3.x and beyond
‣ 3.1 - March 2013
‣ 3.2 - September 2013
‣ 3.5 + 4.0 - March 2014
Joomla 2.5
‣ Full bug support up to 3.0 release
‣ Full security support at least until June 2014
Joomla 1.5
‣ Technically reaches end-of-life with the release of 3.0
‣ Will phase out of JED as demand wanes (much like for 1.0)
36. Wants and needs
Volunteers
‣ Anyone can participate in the Joomla Bug Squad
‣ Developers and designers for CMS features
‣ People who can write system tests
Top feature ideas (from the ideas.joomla.org site)
‣ A code backup solution
‣ Content versioning
Documentation
‣ Great for casual contribution
‣ 2.5 help screens are not up to date
‣ New documentation needed for 3.0
Clicking the options button in any component will take you to the unified configuration page. Clicking the “Save & Close” button will take you back to the component.\n
\n
\n
Step 1\n
Step 2\n
The upper half of the Step 3 page.\n
The lower half of the Step 3 page.\n
Installation happens in one, chained process rather that piecemeal between each step.\n
\n
\n
Joomla 3 is not just about Bootstrap as a cool framework in which to work (which it is), it’s about changing the way developers do components and modules so they can have good looking output that is easily styled in a standard way.\nLESS is an extended framework for CSS allowing for variables, mixins, nested rules, functions and operators. The idea is, among other things, to maximise re-use so that changes global changes can be made in fewer places which are later compiled into regular CSS.\n
Google “less compilers” to find a list of apps and/or tools for your operating system.\n
\n
\n
\n
\n
Developing and testing with maximum error reporting (set in Global Configuration) cannot be overstressed, including testing installation of your extension.\nTurning on “Log deprecated API” will generate a log file in the normal location listing all the deprecated API that you need to take care of (note, it will be punctuated with calls to JError and JRequest that may not be your fault).\n
\n
\n
When upgrading from 2.5, you must change the “Update server” setting in the options for the Joomla! Update component. By default it will keep you on an upgrade path for the Long Term Supported versions only.\n
\n
\n
\n
\n
\n
\n
A proposed revision of the current development release cycle in shown. Under the current cycle, 3.5 would be released in September 2013, but this would allow for 6 months of regular bug fixing and possible new, minor feature inclusions (as we saw in 2.5.4 and 2.5.5). The revised cycle allows for a “3.2” to be released in September 2013 and parallel releases of 3.5 and 4.0 in March 2014. This new “3.5” is feature fixed (essentially, whatever the last 3.2.x was) and only receives security and major bugs fixes. This revised approach provides for a more stable platform for users wanting to jump from one long-term-release to the next.\n