Mura: New ORM Tag Attribute

I have just been informed on the Google Group for Slatwall Ecommerce that the hardworking Mura team have push out a minor update recently. The change in version 5.4.4456 + allows you better integration for ORM within your Mura plugins. True to the style of BR, it's super easy to configure too.

Within your plugin config XML file just add the following attribute...

view plain print about
1<ormcfclocation>your path here</ormcfclocation>

You can also configure custom tags paths with the new tag attribute, which is cool! Greg and the ten24 team that created the Slatwall Ecommerce Plugin have been making real good use of this new feature. See for yourself by download at GitHub.

Apr20

Mura CMS - Shadowbox issues

I had a few issue this morning getting shadowbox to work within my plug-in view. Maybe below will helps other with similar issues.

  • 1) Shadowbox scripts only got added by Mura to header when logged in as an administrator.
  • 2) Shadowbox will not load pages that don't have file extensions.

Both of these issues were a simple fix. Let's look at the first problem.

Shadow Box scripts were only loaded when logged in as an administrator. This is because Mura uses these scripts for the edit page function across the top when logged in. However this meant when I was logged in as a user this edit page option is not available thus Mura does not load unnecessary scripts i.e. shadowbox.js

This is good, but in my case I needed the scripts to be included in my layout. Thankfully Mura has made loading all the necessary scripts into the page very easy.

view plain print about
1cfset $.getContentRenderer().loadShadowBoxJS()/>

See I told you it was easy! - Honest that's it! Thanks Mura :)

Second issue I then had was with Shadowbox itself, not Mura.

Because I don't use file extensions (IIS rewrite) and if I did then I think index.cfm handles the loading requests anyway at /path/. This means none of my paths actually have filenames or extension, meaning they don't get loaded in to shadow box

view plain print about
1<a href="#buildURL( 'public:widget.external' )#" rel="shadowbox" >My Link</a>

Looking at the Shadowbox.js file Mura includes I could see the following lines...

view plain print about
1ext: {
2 img: ['png', 'jpg', 'jpeg', 'gif', 'bmp'],
3 qt: ['dv', 'mov', 'moov', 'movie', 'mp4'],
4 wmp: ['asf', 'wm', 'wmv'],
5 qtwmp: ['avi', 'mpg', 'mpeg'],
6 iframe: ['asp', 'aspx', 'cgi', 'cfm', 'htm', 'html', 'pl', 'php',
7 'php3', 'php4', 'php5', 'phtml', 'rb', 'rhtml', 'shtml',
8 'txt', 'vbs']
9 }
10
11 };

The only way I could quickly solve this problem was to include a blank setting in the iframe list.

view plain print about
1ext: {
2 img: ['png', 'jpg', 'jpeg', 'gif', 'bmp'],
3 qt: ['dv', 'mov', 'moov', 'movie', 'mp4'],
4 wmp: ['asf', 'wm', 'wmv'],
5 qtwmp: ['avi', 'mpg', 'mpeg'],
6 iframe: ['asp', 'aspx', 'cgi', 'cfm', 'htm', 'html', 'pl', 'php',
7 'php3', 'php4', 'php5', 'phtml', 'rb', 'rhtml', 'shtml',
8 'txt', 'vbs', '']
9 }

Now I know this may not be the best way going forward, and it's possible that this issues has already been address in a more recent releases of shadowbox.js. For an immediate solution it works for me.

Mar16

Mura FW/1 and ValidateThis Plugin

I had a few hours today which I set aside to learn more about FW/1 and ValidateThis. I wanted to use both of these frameworks within a Mura Plug-in I had created. I have never used ValidateThis, so I wondered how hard it would be to add it into the fw/1 Plug-in. I am not saying below is the best way, it's my first attempt and I welcome ideas :)

Continue Reading

Jan31

Mura CMS URL rewriting for Windows IIS7

It has been sometime since my post on friendly URL's in Mura CMS. A lot has changed, it's now even easier to have friendly URL's. Best of all it only takes a few seconds.

Getting rid of the siteID & index.cfm

First open the config/settings.ini.cfm file. We are interested in two settings, siteidinurls and indexfileinurls. Change both of these to 0.

view plain print about
1siteidinurls=0
2indexfileinurls=0

Note: If you get rid of siteid and plan to run more than one site on the same instance of Mura, then all you have to do is change your bindings in IIS 7 to match what you have setup for each site in Mura. Doing this means you can have each site on their own domain running from one instance of Mura, cool or what?

Now, logon to your Windows Server 2008 and install the rewriting extension found here. Install either the 32bit or 64bit depending on your OS.

Once installed, open up your Mura site in the IIS 7 Manager. Then double click on the new URL "rewrite" icon. You will now see on the right hand side under actions, an option called "Select Import Rules". Click this and enter the following in the rewrite rules box and click apply...

view plain print about
1RewriteEngine On
2RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
3RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]

Lastly restart the website and then Mura. Thats it.

Jan23

ColdFusion Shopping Cart Plug-in, Project Help needed!

This post is in response to alot of emails I am getting regarding FusionSell. I cannot believe just how much need there is for an ecommerce plug-in for Mura. However, I cannot do this alone!

A total of 4 hours and no planning does not always lend it's self to a long stainable project. However, sometimes, something very small can be the start of something beautiful.

FusionSell is by no means beautiful, but after being inspired by episode 81 of CFHour I can see FusionSell becoming much more with the help of others.

In .NET I have lots of options, in ColdFusion not so many. But nothing in CF seems to combine a good CMS with a ecommerce store. Mura CMS has given us the perfect platform to create this package. It's easy, open and most importantly extendable.

FusionSell is my attempt at a plug-in I am hoping can be turned into something more, but I need your help!

My mission is to create an open source shopping cart plug-in for Mura CMS that's easy to use, follows best practice and most importantly free. Free to anyone, for any propose.

Continue Reading

Dec11

Mura: Simple Shopping Cart Plugin

I wanted to produce a very simple shopping cart (no payment gateways) for a client of ours. There are a few shopping cart plug-ins coming after Christmas like Meld ecommerce and Slatwell. However, I just wanted some thing now that's simple and fast to share with anyone who's intrested. So I produced FusionSell for Mura. It does however need a lot more work, but it's a testimony to how quickly and easily you can write a plug-in for Mura - if I can do it anyone can!

If people find this plugin useful, I will actually turn it into something more, 'ecommerce like' with payment gateways using the FW/1 framework.

Anyway, take a look at the setup video I did below if you have time. It feels like it took me longer to learn Camtasia then it did to do this plug-in. You can find the actual plug-in at RIAForge when I remeber my password! Temp files can be found at the URL below for the time being.

I only tested this plugin on CF8.

Update: on RIAForge :here

Nov26

Mura: Creating Nice Friendly URL's and remove Site ID

UPDATE: Starting in Mura 5.2 you can now simply set your /config/settings.ini.cfm siteIDInURLs attribute to 0.


The good people who created Mura have already provided a number of ways to rewrite URL's but if you have never done this within Sava finding the correct information on their website can be tedious. Below is a step by step guide taken from various posts and the readme file within the Sava download.

These instructions work on Coldfusion 8 server, I have not tested it on anything else so I don't want to comment on the other methods. For more information download Sava or visit the Sava website

Continue Reading

Feb15

Sava: no ALT Attributes in Gallery

The galleries created in Sava do not produce any alt text on the images. I dont see anywhere in Sava where you can insert alt text for the images so you will need to edit the /default/includes/display_objects/gallery/index.cfm file and add them.

You can add an empty alt attributes to the IMG elements there however that would mean the page will still not validate so the best option is to add the image summery and strip out the HTML. This works ok if you dont have a long summery for the image.

view plain print about
1alt="#REReplaceNoCase(rsSection.summary,'<[^>]*>',','ALL')#"

Is this something that will be address in Sava?

Nov01

Sava CMS Content Ratings Portal Inheritance

Before I begin....

I am really starting to enjoy Sava CMS the guys/girls are a credit to the CF community. The helpfulness on their forum is also very commendable, there were cases where I asked a question or made simple feature requests and they updated the version of Sava with fixes or the features within hours of the request.

I have decided to start making some little write ups and contribute in anyway I can. I don't fully know the system yet or make claims to be any CF guru as i am just starting out, however I like to learn so don't shoot me down straight away.

There also maybe other ways in Sava that I have not yet investigated do so some of the things I suggest here or in anyother post I make. The main problems I have found are with SEO in Sava, however I will post bits on that as I play.

Content Ratings Portal Inheritance

The first thing I wanted to write about was a simple fix on an issue I had setting up a portal and adding the content rating to it.

In Sava to stop the repetitive task of manually adding objects like the 'content rating' to every new page created under a portal you can you setup a portal with Inheritance Rules such as 'Start New Cascade', this means that anything added under that particular portal will inherit the display object(s) by default of the Portal its under.

However the portal page itself also has the display object on it when you do this. Its only the content I wanted to be rated not the actual portal page so this needed removing.

Continue Reading

Nov01

Just a Static Link Please! A Sava Website

Having now had some time to play around with Sava CMS, and even used it in the development of a couple of recent websites, I want to say a big thank you to the Sava Team.... finally a FREE Open Source CMS written in CF that I found very simple to use yet flexible enough to add complex functions (Farcry CMS not for me, sorry.)

First, very happy with the level of freedom to make complex changes without technical knowledge, and as a developer I found it straightforward to implement my own functionality as I needed.

The frontend design was simple, all the hard work had already been done. Our designer just picked the layout, edited the CSS, and the end result was one great looking site in half the normal time.

I want to start off my Sava section by writing about problems as I come across them (I have to start somewhere), so for this first post lets talk about adding static links...

There were a few times in Sava I needed to manually add a static link in the template to a page that had been created in Sava. Now I know there are a number of way I could have achieved this, but sometimes you just want to add a link, right?

view plain print about
1<a href="#application.configBean.getContext()#/#request.siteid#/account" rel="nofollow" title="User Account">Account</a>

However the above code assumes my other Sava users will not change the name of the page in the Administrator for the account page. So what I needed was a link to the page using something that cannot not change, how about the page ID (linkServId)?

view plain print about
1<a href="#application.configBean.getContext()#/#request.siteid#/?linkServId=xxxxxx" rel="nofollow" title="User Account">Account</a>

This fixed the problem of the user changing the page name, but the user could still delete the page! The only way I found to stop them doing that was to restrict the other users from deleting the page in Sava using permissions. Simple

Drawbacks: It's not very search engine or user friendly to have something that looks like a session ID in the URL. So I only used this method to link pages that I did not want to be indexed.

I have not found a better way other than writing a query to output the links directly, but in this case I just wanted to manually add a link.

Oct16

More Entries