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 on Joomla! 1.6 or 1.7 then it means the economic crisis has sent way more people back into the caves. Just kidding, but make sure you upgrade to Joomla! 2.5 or 3.x now!
We also updated our downloads location to a new (better) download manager, which also indicates the total all-time number of K2 downloads (yippee!). Check it out here: https://getk2.org/downloads/
Did we mention K2 is nearing 1.7 million downloads?
So what's changed or been updated in this new release in more detail?
The big change is the switch to the InnoDB storage engine for new installations of K2. We this means better database read/write performance on websites with high traffic and/or large number of K2 items, comments etc. The switch to InnoDB does not apply to existing installations as we wanted to avoid any potential upgrade issues with folks using K2 on large websites with crappy hosts. Better safe than sorry...
Version 2.6.8 introduces several bug fixes (as reported on our GitHub repo - thank you people!), performance improvements & improved integration with Joomla! 3.2.x.
There are no template override changes compared to v2.6.7.
In detail:
- Switched database table storage engine to InnoDB for new installations. Removed all MyISAM specific indices and queries.
- Fixed: K2 Media Manager bug in Joomla! 3.2.2 (the resize & rotate option was not working)
- Updated mod_k2_stats. Optimized the "most commented items" query. This issue affected the Joomla! dashboard when this module was published or large K2 installations. By default the module will not display the "most commented items" tab when K2 is installed for the first time. But of course you can still enable it in the module's settings.
- Updated the K2 Tools module's breadcrumbs feature to take into consideration menu links to K2 items/categories before bulding the resulting path. This means better pathway navigation :)
- Updated the installer to not re-publish the K2 Finder plugin when K2 is updated and the plugin is already unpublished.
- Updated the "save" workflow for front-end editing. If a user does not have the "Publish items" permission then they cannot make a new item featured. The featured state is preserved for existing items.
- Added an error message to the comments submission to notify the user when antispam settings of K2 are not setup or have been setup incorrectly. This also stops the comment submission.
- K2 attachments URLs were incorrect when K2 Advanced SEF was enabled and "Use the item title alias" was set to "No".
- Performance optimization: Don't execute additional DB queries if K2 comments are disabled/not used.
- Performance optimization: Do not trigger the "onK2CommentsCounter" event when it is not needed.
- Small performance optimization in the listings query (component and module).
- Fixed: Extra fields editor was not working under Joomla! 3.2 (TinyMCE 4.x).
- Fixed: Extra field "calendar" under Joomla! 3.2 which was broken.
- Fixed: Can't choose default value for image type extra field.
- Updated ALL K2 messages due to Joomla! 3.2 API changes.
- Fixed: Sorting was not working in administration modals under Joomla! 3.2.
- Fixed issue regarding publishing/unpublishing of records under Joomla! 3.2.
- Fixed JS issue regarding sortable elements in K2 modules under Chrome and Joomla! 3.2.
- Fixed issue regarding the parameters appearance under Joomla! 3.2.
- Fixed PHP notices for clean installations under Joomla! 3.2.
- Fixed issue when two instances of K2 breadcrumbs modules are loaded in the same page. Also improved the performance of this to avoid duplicate queries.
- Fixed issue with users using an apostrophe in their names, as previously the HTML entities filters were applied, thus causing the name to not display properly in the frontend.
- Updated all date fields to use the time format of the default Joomla! language.
- Fixed: "Add item" link was broken when K2 Advanced SEF is enabled in the frontend.
- Fixed: Introtext was not displayed in "latest items by category/user" view under certain conditions.
- Fixed: Empty pagination div element was showing when pagination was disabled.
- Updated mod_k2_user to make use of the core users helper route in order to detect the correct Itemid for the generated links.
- Fixed searching in the Items list in the backend.
- Updated toolbar to produce valid HTML code. Removed duplicate IDs.
- Fixed: Ditched attribute "rel" for a data attribute in the rating widget. The JS code maintains backwards compatibility so you don't need to update your K2 template overrides.
- Fixed protocol for extra fields of link type.
- Fixed the prefixing of extra field links. Prefix is now applied only if a value is set.
- Fixed: Page title was incorrect in "latest items by category/user" view.
- Fixed issue regarding the extra fields validation in front-end editing.
- Fixed fatal error which occured while saving K2 items translations using Josetta under Joomla! 3.1.
You can browse a full list of all the things changed since 2.6.7 in the K2 issue tracker on GitHub: https://github.com/joomlaworks/k2/issues?page=1&state=closed
Changes coming in v2.7.0
Version 2.7.0 will be the last "feature" update for the K2 v2.x series.We will officially support K2 v2.x until June 2015, almost a year after support for Joomla! 2.5 will have ceased by the Joomla! core team.
In an effort to make sure all K2 v2.x based websites continue to operate smoothly - primarily on Joomla! 1.5 & 2.5 - we will provide compatibility and bug fixes until then. However, if you want to upgrade to K2 v3, you will first have to upgrade your Joomla! site to the 3.x series. If your site is based on Joomla! 3.x, then the upgrade process from K2 v2.x to v3.x will only be a matter of uploading the new K2 version on top of the previous one.
That being said, we'll be updating the K2 backend user interface in v2.7.0, borrowing elements from the upcoming K2 v3.x UI design. This has 2 benefits: those moving to K2 v3.x will get easily acquainted to the new interface design and those who'll stick to K2 v2.x (primarily the Joomla! 1.5 & 2.5 users) will have a new refreshed UI to work on their content. A win-win situation for everybody.
Here's a mockup of the new K2 item form in the backend...
As you can see there is now prenty of space for crafting your content and the forms are also responsive. Our aim is to patch the Joomla! 1.5 & 2.5 backends to also be responsive when a user is working in the K2 component in the backend.
This final "feature" update of K2 v2.x will come within the 30-40 days.
K2 version 3, aka content management redefined (once more)
We are soon wrapping up development and beginning extensive testing on the upcoming "big" upgrade to K2, version 3. We estimate to have a beta release out by the end of March, with the stable release being scheduled for late April 2014.As we are still developing K2 v3 in a closed repository, here'a short breakdown of what you'll see soon and how we'd like to say that content management will once more be redefined by K2 for all Joomla! users :)
New, amazing UI
When we originally built K2, we deliberately kept its backend user interface near identical to that of the Joomla! article system, so that people could easily get acquainted with the extension and start using it right away. That worked really well (and still does of course). But it's time for a change.
Here's a sneak peak of the new user interface (UI) for K2...
(the K2 v3 backend items list page)
The new UI is not only more usable compared to the old one, but it's also way faster. How faster? Think Gmail web app responsiveness inside Joomla!. By utilizing Backbone.js, a modern JavaScript MVC framework, we are able to offload the entire UI into the browser. PHP does not render the HTML anymore, JavaScript is. PHP only creates the data that is to be sent back and forth to the server - the bits and pieces that are stored on the server like your content and your static assets (images, videos etc.).
All the backend lists and forms are rendered using JavaScript which makes K2 look and feel like a desktop application instead of your typical Joomla! component. Once you enter the K2 backend, switching from the items list to the categories list to an item form and so on is instant. You no longer need to refresh your K2 items list to see the new K2 items added by your fellow content managers. The list is automatically updated whenever a new item is added. Search is near instant. Sorting K2 items or categories has been re-thought to take your category structure into account. Don't like pagination? You can easily switch to an infinite-scrolling mode. We have also simplified views like Tags or Extra Field Groups adding inline editing support in these lists. There is less visual clutter: "actions" on all lists are not visible until you select an item (or more) from a list. You then see the available actions for your selection and not EVERY action as it's commonly done in Joomla! extension development.
When you use the new K2, what you forget is "waiting" :)
Features, features, features
Of course the new UI could not be the only change in K2 version 3. After careful feedback and based on our own experience and needs (we use K2 daily as you can imagine) we have included the following new or improved features:
- Full Joomla! ACL integration into K2 for both backend and frontend editing. Simplified yet more granular control of who has access and where. There are no separate frontend editing ACL permissions for K2 anymore. This also means that the "K2 User Groups" view is no longer needed.
- Revisions in K2 items with visual content comparison.
- Multiple image galleries and videos per K2 item. The option for multiple attachments already exists since v1.0.
- There is now no limit to the number of resized images genereated by K2 for when you upload the item image. You can have 2 or 20 different dimensions created when uploading a K2 item image. It's up to you to decide and plan.
- Asynchronous file upload and processing operations. Your static assets like images, videos and attachments are uploaded in the background while you work on your content. You no longer need to wait for these files to finish uploading when you hit "save & close".
- True cloud storage support added: choose to directly upload your static K2 assets on Amazon S3, Windows Azure or Rackspace Cloud (more providers to be added). If you choose to use K2 as your primary content source for your website, then these features can make it possible for your entire Joomla! site to be hosted on a true cloud platform (e.g. Amazon's EC2, Windows Azure, RedHat Openshift, AppFog and more) as your content (your static assets & the database records) can easily be offloaded to an infrastructure that is built exactly for that. To give you a simple example, you could have your website hosted on multiple load-balanced instances on Amazon's EC2, with your database on Amazon RDS and your static content files on Amazon S3.
- Extra fields are no longer restricted to K2 items only. You can create extra fields that extend the items, categories, tags and user profiles!
- The entire extra fields system has been re-written from scratch allowing people with just basic HTML knowledge to create their own form fields to extend all K2 content beyond the default extra fields provided. You can easily and 100% create your own extra fields with pure HTML (and CSS & JS if you want to) in just 3 files! Experienced developers will be able to create more powerful solutions that extend all K2 forms, with far less code. To make all that work in a non-geek fashion, there is an extra field uploader/manager in the K2 backend, under a new "Utilities" page.
- The K2 extension parameters now include default content display options for category, tag, user, date & search item listings.
- User profiles are extended by default to include more info such as the user's social profiles.
- Comments in the frontend are now also powered by Backbone.js, allowing for comment submission & pagination without page reloads.
- Frontend editing is now more consistent with backend editing: the important bits for frontend editing (items, categories, comments) can now be entirely controlled from the frontend, using an identical UI with the K2 backend.
- Even more simplified & more responsive layouts for the frontend.
- You can now choose to extend the Joomla! user registration process with K2 user profile fields, on top of entirely intercepting that process (as it's done now). That way you'll be able to "chain" K2 user profile fields with other extensions, provided they also use K2 user plugins to extend the registration process.
- Improved performance from revamped UI design and new database schema.
- Access all-content everywhere for frontend web developers by using the "fat model" approach in K2 items (recursive content retrieval). This means that you can easily retrieve all the data e.g. from the related items listed under a K2 item, by simply calling the related data fields within your K2 template overrides. This process is optimized so that no un-needed queries are executed. E.g. if you don't explicitely call the extra fields of the K2 items in the previous example, then the database will not be queried for these additional data.
- Compatibility with existing third-party K2 plugins. Any changes that arise in the K2 plugins API will be documented extensively for developers in order to prepare for migrating their K2 extensions to support v3.
- Built-in migrator for K2 v2.x content to v3.x. Naturally...
And for K2 v3.1 we are preparing the new K2 sub-templates drag and drop interface, to allow you to build your sub-templates output entirely from the K2 backend. So if you wanted to have a different sub-template for your "Videos" category, with the video placed before the text, you'll now be able to create that sub-template in the K2 backend (with pure drag and drop), without editing a single line of K2 template overrides. How cool is that?
As we approach the launch of K2 v3.0 beta, we'll get into more detail on the upcoming features.
What next?
The coming months are very exciting. Perhaps even more since the launch of K2! Here's what we are planning:- a new responsive website for getk2.org that will also make room for the bigger community that K2 has become. We will also completely restructure the K2 Extensions Directory to make it easier for users to filter what they are looking for and discover new extensions & templates and to make it easier for developers and designers to better promote their work.
- a proper K2 documentation section written by the K2 core team in the form of an e-book
- a new official K2 addon package that adds even more premium features to K2 v3 (especially in the frontend)
- a new paid support package for professional K2 users (freelancers or agencies) that wish to take K2 to the next level
I'd really like to hear your thoughts on all the above, so please use either the comments below or the contact form to email me directly.
Thanks for reading!
Update May 5th, 2014: We're pushing the release of 2.7.0 for mid May 2014 and 3.0.0 (beta) for late May 2014.
Update June 4th, 2014: Releases pushed for July 21st, 2014.