Reinoud van Dalen

October 05, 2016

Sitecore Experience Accelerator – Partial Designs and Page Designs

This will hopefully be the first part of many blog posts about the Sitecore Experience Accelerator. Starting with what I think is one of the fundamentals: The Partial and Page Designs concept.

SxA, get it straight

By now you probably have heard of SxA, seen some of its capabilities and impressive features. And that’s what it is, impressive. I think the potential of this product is phenomenal and a true accelerator if, you embrace its philosophies and processes that come with it.

But first, let’s get this straight. To pronounce it right and get much respect while you let your boss choke on his first sip of coffee, because he’s not sure if he heard it right: it’s Sex’ay! That’s right, impressive right of the bat.

Now let’s get Partial and Page Designs straight

So this is one of the interesting concepts that comes with SxA. Where normally we would have preset designs or layout setups on the standard values items, SxA moves that to site level:

The idea is that you can create several Partial Designs and put them together in a Page Design. At SitecoreSYM this was demonstrated composing a Page Design out of a Header and Footer Partial plus Promo Partial:

The default installation of SxA does not contain these examples so let’s put this to the test!

Adding the Header and Footer Partial Design

Adding a Partial design is quite simple. You add a new 'Partial Design' item under the Presentation/Partial Designs node and give it a name. Then you open it in the Experience Editor and add some stuff. For this partial design I ended up with some column splitters, shared media, navigation and link list component:

The columnsplitter doesn't work!?

One thing that bothered me with the Column Splitter is that it didn’t seem to pick up the column size after I selected one. It turns out the items that have the size stored (under system/settings somewhere) need a version in the current language. In my case I was using the Dutch language so I had to add versions of those to the setting items. I will pick this up with support to get their view on this.

Adding the Promo Partial Design

Next I added another partial design and composed something a little bit different:

Adding the Combo Page Design

To put it all together I created a new Page Design and configured it to use the two new Partial Designs:

Applying the Page Design

To actually start using the Page Design you need to apply it to a Template to Design Mapping. You can do this on the ‘Page Designs’ item like so:

Or from the Experience Editor:

After that it’s pretty simple. Just create a new page of type ‘Page’ and you’ll get it prefilled with the two partial designs. I haven’t tested this as much as I’d like to yet but there are a few things good to know:

  • If you change an existing Template to Design Mapping, then all existing pages will be converted.
  • The Page and Partial Designs are fixed so you cannot change them on a Page to make exceptions.
  • At the same time this means that changes you make to the Partial Designs will be propagated to the implementing pages.

What if I want to override the Page Design?

I think that’s a valid question. At least I was wondering and the docs say you should be able to do so with the ‘Pick Page Design’ button. However, this button is disabled!?

After some digging and decompiling I found out that this function depends on a ‘Page Design’ field on the current page, but that field does not exist.

I tried adding the field myself as DropTree, which actually seems to work and stores an overriding Page Design, but it does not get applied. I searched for a Page Design field on other templates but it does not seem to exist.

This I will also pick up with support to see what’s up with that. I think this is an important feature that should be fixed.

That’s a wrap

So that’s it for now. Just playing around I feel this is a much more powerful way to manage layouts instead of the traditional standard values. Can’t wait to get my hands on a real project that wants to use SxA and see how this feature will definitely make our lives easier.

One thing I’m sure about: this is a vital part to get right when starting an SxA powered solution.

But there’s more to SxA! I’m planning to check out the Rendering Variants and creating your own Rendering next (SxA compliant).

TAGS: sitecore sxa


Comments
abhay

Hey ... I am from Valtech too .. Valtech India :P Also this is great post. I was searching for blogs on SXA