FUEL CMS 0.9.3 Released!

We are happy to announce that FUEL CMS 0.9.3 has been released on GitHub. This release includes several major additions including CKEditor™ support, precedence sorting, linking fields and more.

CKEditor™ + markItUp! = Super Editor

Since FUEL CMS went open-source, one of the biggest requests has been to include a WYSIWYG editor (What You See Is What You Get). With previous versions of FUEL CMS, markItUp! was used for text fields that needed HTML content. We are big fans of markItUp! and think it's a nice way to cleanly insert HTML into your pages because what you see truly IS what you get. However, markItUp! is not a true WYSIWYG editor and actually displays the HTML code you are inserting which can be a little intimidating for users not familiar with HTML. In the past, to get around this we've used the markdown or auto_typography functions so the client does not need to worry about inserting HTML into their pages. Sometimes though, that is not enough and what is needed is a true WYSIWYG editor.

With FUEL CMS 0.9.3 we've fixed this problem by integrating the popular WYSIWYG CKEditor™. Not only can you set which of the two editors you want to use at both a global and per field basis, but anytime you view source with a field using CKEditor™, it switches you to markItUp!... you get the best of both worlds.

With this improvement comes two new parameters that can be set in your fuel/application/config/MY_fuel.php file:

  • $config['text_editor']: options are 'markitup' OR 'ckeditor'. The default is markitup
  • $config['ck_editor_settings']: allows you to set CKEditor™ config values

Additionally, you can set the special trigger CSS class wysiwyg on your textarea form fields which will change the field to use CKEditor™ (if your FUEL configuration is set to markItUp! by default).

Remember, the default setting for a $config['text_editor'] at this time is markitup. To use CKEditor™ you must change the $config['text_editor'] value in fuel/application/config/MY_fuel.php to ckeditor.

If you are experienced with creating CKEditor plugins and would like to contribute, we have a few plugin ideas in mind that we could use some help on so please if you are interested.

Precedence Sorting

Have you ever needed to create a field to capture the order you want to sort your data? FUEL 0.9.3 introduces a feature we call "precedence sorting" which makes it easy for you to rearrange your data into the order you want. Simply create a field called precedence, and you'll now see a new Rearrange button in your module's list view. Click that button and your list view can now be rearranged by dragging the rows into the order you want. This eliminates the need of clicking into each record to edit. To change the name of the column used for storing the sorting information, you can set the precedence_col value in your module's config.

Linked Fields

Sometimes when creating a model you will have fields that are related or linked to each other. For example, when creating a blog entry, you usually need to set a slug value and often times you want that value to be related to another field like the title. To make this easier, we've added a property to the model called linked_fields. The value of linked_fields is an associative array with the key being the field to be linked (e.g. "slug"), and the value being either a string value of the name of the field to act as the source (e.g. "title"), or an associative array, with the key being the source and the value being the name of the function to apply to the source data before mapping it to the linked field (e.g. array("title" => "url_title"). The url_title() function is the default function applied if the source value is a string. This linking will perform live javascript field updates if the javascript function is available, and if not, will ajax in the new value. By default there is a javascript version of url_title, strtolower, and strtoupper functions. To add your own, you can configure your module to include a javascript file that includes your own transformation functions.

public $linked_fields = array('slug' => array('name' => 'url_title'));

public $linked_fields = array('slug' => 'name');

Note that each javascript function must have a PHP equivalent that can be used on the server side upon saving the module data.

Popup Page Viewing

To speed up page viewing from the CMS, we've implemented a popup window that will display your page preview instead of taking you to another page. Returning back to the admin is now just a matter of closing the popup window, keeping you in your current editing state.

Uploading of Views and Blocks

The Pages and Blocks modules have always allowed you to upload content. However, to do so required you to be editing the page or block and they needed a corresponding view file named a certain way to trigger the upload notification. Now you can upload your files without needing them to follow a specific naming convention and you can do it from either the list or item view.

Demo Site

Along with this release, we have updated the demo site used in the blog tutorials. It is under the branch "demo" on GitHub and we will be keeping it up to date alongside the master branch. This will eventually replace the 0.91 branch currently on GitHub.

Other Updates

There are a few other updates we'll mention below:


It is recommended that you use Git to do any updates. For general instructions on how to update FUEL CMS with your projects, follow this link to a forum thread on the subject.

Localization Updates

The last release, v.0.9.2, was a major step towards localization. When it was released, we asked the community to help with translations. Since then, a couple community members have answered the call and contributed language files for both Czech (Lukas Sojka) and Spanish (Jose Manuel Lucas). We love to see this kind of help so thanks guys. If anyone else is interested in helping with localization efforts, you can find the language files on GitHub.

Need Help or Found a Bug?

As always, if you are have a question or suggestion about FUEL CMS, stop by our forums or pop-in to the #fuelcms IRC channel. Lastly, if you've found a bug, please submit a ticket on GitHub. Happy Coding!


All sounds great!
The CK editor will be a great addition.

Nick, Mar 15, 2011

Just updated my staging server. Everything seems functional. Loving the rearrange and fckeditor.

Keep up the great work!

Daniel Smith, Mar 15, 2011

Great work as usual! Not a fan of wysiwyg, so am glad you’re keeping markitup :)

jorge, Mar 15, 2011

what data type does the precedence column need to be? int?

Boaz, Apr 13, 2011


David McReynolds, Apr 13, 2011

Comments have been turned off for this post.

  Back to Top