thehatrack

Overview of Some New Features in Mura 5.5

mura, coldfusion 0 comments

We've been waiting for a while, and finally Mura 5.5 is available! Tons of cool new features include the all-new Form Builder, Display Object Configurator, CF Static integration, and more! Most of the topics I'm covering in this blog have been covered in the Mura Show, but I figured it wouldn't hurt to gather it all in one place. I'm not going to cover everything on the feature list, but I did have time to grab three of my new favorites!

Form Builder

To put it bluntly, the CK Editor based form builder sucked. The only redeeming feature was the ability to plug into Mura's built-in validation schemes - in every instance where we used the form builder, we would hand code the form, drop the source into the CK Editor window, then go back and plug in the validation. Those days are gone now, with the release of the new and improved Form Builder.

This thing is pretty awesome by itself, and even better when compared to the previous form builder. It really is just as simple as point and click. There are a couple things to note before you start using it, though:

Labels

If you want your labels to behave like labels(you click on them and the form field is then targetted), you have to give each form element an ID(Advanced tab) that matches the name field(Basic tab).

File Uploads

BlueRiver snuck the file upload field in at the last minute - really cool addition, but there were several people in today's Mura Show that had some questions. Questions such as, "OK, so what happens to the file?" The files do not appear to be e-mailed once they've been uploaded, which - in my opinion - is a good thing. According to Matt from BR, the files are placed into Mura along with the other "first class" (read: not uploaded via CK Editor/CK Finder) site assets.

"Bugs"

I put a quote around this because although it is technically a bug, it's really pretty minor. If you create a new radio group, checkbox group, or select element and do not create any options, Mura will error when trying to display the form. Never fear though, there is an open issue on Github for this! Honestly though, who doesn't add options to their form elements?


CF Static

I have never worked with CFStatic prior to this, so please bear with me as it becomes readily apparent that I have no idea what I am doing!

There are no instructions from Blue River yet as to how to properly use CFStatic(come on guys, it's been at least 24 hours since release already!), so I just pieced together my solution based on the implementation in the new (and improved with HTML5) Merced theme and the CFStatic wiki pages.

The first thing you need to do is run through your CSS and JS files and add some JavaDoc style comments to give some metadata to CFStatic such as file dependencies, IE version restrictions, and media specifications(i.e. @media print). I'm only using four stylesheets on this site, and none of them are for IE or print, so I just added dependencies to each of my files:

/**
 * Base styles.
 *
 * @depends /core/bootstrap.css
 */

Easy enough, right? The default Mura implementation of CFStatic will combine and minify your CSS files on a per-package basis. In my case, I have two stylesheets for the site and two for SyntaxHighlighter, so I created two packages(directories) under my /css folder - /core and /syntaxhighlighter. You can also include files on an individual basis, like I did with my Javascript. Here's what it looks like in my html_head.cfm:

<cfset $.static()
		.include("/css/core/")
		.include("/css/syntaxhighlighter/")
		.include("/js/jquery-1.6.2.min.js")
		.include("/js/jquery-ui-1.8.16.custom.min.js")
		.include("/js/syntaxhighlighter/shCore.js")
		.include("/js/syntaxhighlighter/shAutoloader.js")
	/>

So there we are, my CSS and JS have all been passed over to CFStatic for it to have its way with. Now all I need to do is render the files and I am good to go!

<!--- html_head.cfm --->
#$.static().renderIncludes("css")#

<!--- footer.cfm --->
#$.static().renderIncludes("js")#

Yes, it's really that easy. To finish it up, just wrap your renderIncludes() calls in <cf_CacheOMatic> and you are good to go! I'm sure there's a ton more functionality you could squeeze out of it, but that's all I had the heart for tonight.


Mura Stack Trace

This is really cool and really really easy to use. All you need to do is log in as an administrator and then add ?showTrace=true to the URL. The stack trace will appear at the bottom of each page(for administrators only) until you add ?showTrace=false to the URL. As simple as it is, this is one of my favorite new features. It's going to be great for debugging and tracking down slow running templates - that's right, the number in the parentheses next to the template name is the time it took to execute!

One very minor note, and I am incredibley embarassed to admit that I discovered this the hard way: If your template does not have a closing </html> tag, the stack trace will not render. Yes, that is correct, I failed to include closing </html> tags on my site. Moving on.


Final Thoughts

I think Blue River is definitely moving in the right direction with the improvements in Mura 5.5. They've been very proactive in listening to what the community wants and taking steps to accomodate the requests. There were some bugs in the release(as there always are in any product), and it was great to see the Blue River team working quickly to track down and fix the errors.

My thanks go out to Blue River and the community behind Mura, keep up the good work!

Comments

No one has posted anything yet. Be the first to tell me what you think!

Post a Comment
  1. Leave this field empty

©2014 theHATRACK