Dude, where's my Canvas?

Monday, Jan 5, 2009 2 minute read Tags: umbraco
Hey, thanks for the interest in this post, but just letting you know that it is over 3 years old, so the content in here may not be accurate.

Although there's been big praise for the Umbraco 4 RC release, and after I upgraded a site I'm working on to it, I had high hopes. One of the things I wanted to really play with is Canvas (formerly Live Edit).

But it wasn't to be, when ever I went to load up Canvas there was nothing happening. Well, I had a few points which I could see I needed to click on, but clicking them did nothing.
Nor was I able to see the Canvas Toolbar which is always shown in the demos.

Hmm, now that's not right...

So I whipped out the source for Umbraco, and got debugging. But oddly enough none of the break points within the associated Umbraco Canvas controls were being hit.

I had a UmbracoContext, and it was telling me Canvas was enabled. 

And I kept digging, and then I noticed the folly of my mistake.

I wasn't referencing the base Umbraco master page!

There are two options:

  1. Set your master page to have a master of /umbraco/default.master and wrap your entire master page in a ContentPlaceholder with the ContentPlaceholderID of ContentPlaceHolderDefault
  2. Inherit your master page from umbraco.presentation.masterpages._default instead of System.Web.UI.MasterPage (this is my prefered option)

There's still another bug which I am yet to find the cause of, when you have a macro which programmatically adds a file to the pages ScriptManager it doesn't work at all, the added file doesn't get added...
I'm still digging on that one...

Oh, and I noticed that the ItemEditor class inherits UpdatePanel, good thing we don't expect peak performance from Canvas :P