K2 v2.8.0 is now available to download for Joomla 1.5 to 3.x. This release improves the content management workflow and UI, is fully compatible with PHP 7.x and the latest Joomla 3.7.x, while at the same time addressing various issues from performance to UI, to bug fixes and security.
To install K2 for the first time or update your existing K2 based website, just grab the latest package here: https://getk2.org/downloads/?f=K2_v2.8.0.zip
The process to update K2 is fairly simple. If you are on Joomla 1.5, grab the zip file from the link above and install it on top of your existing K2 version. If you are on Joomla 2.5 or 3.x, go to the Joomla update manager, purge the update cache, re-check and you'll see the new release available to instantly update. If you are still on Joomla 1.6 or 1.7 or 2.5, you're seriously a bad*ss living on the edge - but why not do yourself a favour and upgrade to Joomla 3.x? It's easier than you think.
So what's been added, changed or updated in this new release in more detail?
Here's a list of the important things added, changed or updated in K2 v2.8.0.BACKEND
- New selection modals for all content entities (items, categories, tags, users) improve your workflow. From content selection to filtering to searching. E.g. before adding a new K2 item in a menu item, you can now directly make it "featured" from within the selection modal. Adding content from a K2 selection modal is now more informative and all previously used (and annoying) JS alerts have been dropped to minimize clicks.
- Improved searching accross all backend list views (from items to comments). Use double quotes with your query in the search box to search for an exact string or (as previously) use any words to search all occurences. Better still, you can now search all database fields that hold data you'd probably like to find (yes, even the image caption or the email/IP address in comments). It makes things easier, from working with content to helping you better combat comment abuse.
- Added character counters on the "meta description" blocks in the item & category forms. Additionally, all the "meta robots" fields has now been converted from a text field to a drop-down (since the options are specific either way).
- Any calendar input now uses the awesome Flatpickr datetime picker instead of Joomla's native calendar widget.
- Replaced the Joomla modal with FancyBox in the backend, allowing for better previewing of item and category images while on list views.
- Added Picozu & Gravit as online image/vector editors - no need to open a desktop app to manipulate images before uploading them to K2.
- The backend (and frontend editing) UIs are now more consistent - from the action buttons to the filters to the actual layouts. The module and menu selection parameters have also been refined. CSS has been refined to resolve visual conflicts with menu selectors in modules in Joomla 3.x.
- Font Awesome updated to its latest release (4.7.0).
- Added new plugin events (content triggers) to support Regular Labs' "Better Trash" extension.
- Improved compatibility with Regular Labs' "Advanced Module Manager" extension.
- Minor CSS and template override improvements - comparison packages will be uploaded soon...
- The frontend editing UI is now consistent with the backend UI which improves the overall authoring workflow. Item links in "Edit My Comments" will now properly link to the SEF version of a K2 item and comment pagination is now fixed (previously broken).
- Removed maxwidth (character) limitation in "K2 Tools" search option.
- Added proper check for media in the "K2 Content" module.
- You can now get the raw date value of any date extra field. Just use "<?php echo $this->item->extraFields->EXTRAFIELD_ALIAS_HERE->rawValue; ?>" instead of just "<?php echo $this->item->extraFields->EXTRAFIELD_ALIAS_HERE->value; ?>" to get the raw date value of a single (date type) extra field, anywhere extra fields are displayed in K2.
- Updated elFinder to the latest 2.1.28 release which addresses both functional and security issues.
- Updated class.upload.php to its latest release (now PHP 7 compatible)
- Updated all PHP and JS libs used throughout K2. Most third-party CSS and JS files are now version-loaded via HTTPS over CloudFlare's cdnjs.com website which is HTTP/2 ready (=improved load times).
- 3rd party libraries have been re-organized (and decoupled from K2 component files) to make updating easier in the future, while paving the way for the new modernized codebase of K2 (more about this below).
- Added index to all K2 database fields where it makes sense to have an index. This should improve performance overall, especially with large datasets.
- The usage of Joomla modals (and other similar JS widgets) has been minimized, along with reliance on legacy Mootools code. K2 v2.9.0 will completely remove these dependencies.
- Improved compatibility with PHP 7.x.
- Latest Joomla 3.7.x compatible.
- Still 100% compatible with Joomla 1.5 and 2.5.
- Many, many other bug fixes and improvements under the hood.
If you use v2.7.x already, then it is (as always) safe to upgrade to K2 v2.8.0. If you use a version before 2.7.0, refer to the 2.7.0 upgrade notes
If you already have your own K2 CSS and/or HTML template overrides then there's nothing to worry about. If you use "stock" K2 CSS and HTML template overrides, just browse your site after the upgrade to make sure nothing's misalligned. In any case, exceptions may occur but they are usually easy to resolve. If you need any help, just post about your issue in the K2 Community Forum
Since the release of K2 v2.7.0 we have added an update notification for new releases of K2 within the K2 backend (viewed only by super admins) to make it easier to spot new releases and update accordingly.
Before upgrading, it's always a good idea to get a backup of your site (just in case):
- To upgrade in Joomla 1.5, just install v2.8.0 on top of any existing K2 installation.
- To upgrade in Joomla 2.5 or 3.x, either install on top (as with Joomla 1.5) or use Joomla's extension updater (you should already see the notification for v2.8.0).
DO NOT uninstall any older K2 version first, as this will wipe out your K2 content!
HTML & CSS Template Overrides
Have a look here: https://getk2.org/documentation/tutorials/77-k2-template-override-package-comparison
The fine print
K2 v2.8.0 may not seem like a huge feature upgrade from 2.7.1 because most of the work has been done under the hood, in order to pave the way for future K2 releases. K2's codebase is being re-organized and gradually modernized in such a way so that new (significant) features can be added in upcoming releases without breaking b/c compatibility at all. This is very important to us and it's the reason why many sites that used K2 since Joomla 1.5 managed to upgraded to Joomla 2.5 or 3.x a lot easier than those using the stock "Joomla Articles" component (com_content). Careful initial design for K2 has allowed us this "luxury" to be honest and that's how K2 will continue in the future.
Which brings us to K2 v3.0. As you may have seen, that version never came out of beta. It brought a lot of great UI concepts (many of which Joomla eventually copied - which is really flattering the least), but because it was built from scratch, it also brought a lot of headaches. The use of backbone.js proved a complicating experience, especially when new JS libraries (like React or vue.js) came along that made things simpler to work with. It was a great testing playground for us and that's how we'll leave it for now.
The work that is currently being done in K2 v2.9.0 (the next update) will gradually bring the UI that K2 v3.0 meant to bring and functionality will eventually be enhanced with vue.js, a UI JS library that has proven it's here to stay. This means that we'll go from K2 2.9.0 to 2.10.0 and/or 2.11.0 before eventually ditching any pre-Joomla 3.x compatibility and moving to (the new) K2 v3.0.0.
Any new features that K2 v3.0 (beta) introduced (e.g. multiple extra field group assignment to all content entities, custom extra fields, improved ACL, content versioning, simplified template overrides etc. etc.) will still make their way to coming updates, but one at a time. Again, the important thing here is to maintain 100% backwards compatibility.
Why you may ask? Well, because nearly 400,000 websites
are actively using K2 v2.7.0 or newer, to this day. That's a huge number of websites using K2 and it continues to grow with a rapid rate, just as downloads
have passed the 3 million mark.
Yes, K2 updates have been slow in the past and, yes, K2 v3.0 (using backbone.js) never materialized to a stable release. But the fact remains
: K2 is rock-solid stable
, it has a large user base (to the count of hundreds of thousands) and its workflow still proves superior to that of Joomla's stock article system or even any other CCKs. And starting with K2 v2.8.0, you'll see updates happen a lot sooner, in 2-3 month cycles or less.
K2 remains the easiest and most flexible way to truly manage any kind of content in Joomla, without giving yourself headaches with options you don't understand or dozens of overrides that you don't need. Keeping things as simple as possible, with a workflow that makes sense and template overrides to master any layout/design you want.
Enjoy K2 v2.8.0 :)