Sitecore 8 Federated Experience Manager pt. 2 – Pushing renderings to non Sitecore sites

What has always intrigued me with some of the new functionality of Sitecore 8’s Federated Experience Manager is how content is pushed to other sites. This post will explore this concept.

Following on from my first post regarding capturing analytic information from non Sitecore sites, I wanted to see how easy (or difficult) it is to add content to external sites

For this, I will set up a basic Title and Text component and see how we can utilise this rendering on a non Sitecore site. The site I’m going to add this too is the basic default ASP.NET MVC site I configured in part 1 – it is important to point out that the technology behind the site really doesn’t matter (which is cool in itself!)

Setting up a Rendering Component for this test (ascx)

Just to briefly show how the component is set up, below is the markup:

One observation I made when testing this was that the component itself needs to be surrounded via a containing element. Beforehand, my component didn’t contain a surrounding DIV and all that was being rendered was the H2 – so ensure that your component has a containing element and you should be fine.

Below is the Datasoure Template used for this component:

titleandtextdatasourcetemplate

Now, if we open up the Federated ExperienceManager, click on our site and click the “Open in Experience Editor” button, you will open the external site in the Experience Editor ready for personalising.

You will notice that on the Ribbon there is a botton marked “Add Placeholder”. This will allow you to provide an anchor point on the page where the components can be inserted.

When you click onthe “Add Placeholder” button, you’ll notice that all other buttons are grayed out. What you can do now is to click on any element from within the page and a list of options will appear.

addplaceholder

Notice that the selection will display the element that you want to interact with, the “up left” arrow allows you to fine-tune your selection to ensure that the correct element in the DOM is selected.

You will also have three options:

  • Add Before – allows you to add a component before this element
  • Replace – Replace this element entirely
  • Add After – Gives you he option to add components after this element

In this experiment, I’ll select “Add before” and give the placeholder then name of “promo-panel” and select “Test Site” as the parent element.

addplaceholderdialog

Now that we have a placeholder on the page we can select this placeholder to insert our Title and Text component

addtoplaceholder

From this point, you will have the same level of functionality as the standard Experience Editor – so add your component (in my case the Title and Text component and associate a Datasource with it in the standard manner

Once this is done, publish the changes. Now let’s look at our site:

personalisedsite

As you can see, our new component is being rendered onto the page of our non Sitecore site. Pretty clever eh?

How does this look in Sitecore?

Lets inspect the backend of Sitecore and see how this is acheieved. The settings for this are stored in /sitecore/system/Marketing Control Panel/Federated Experience Manager

LocationinSitecore

You’ll notice that our “promo-panel” Placeholder is here. Let’s have a look at that:

promopaneldata

You’ll notice that there is a Selector field. This indicates exactly where in the DOM to insert the content – and the above “Position” field signifies to insert content before this selector.

Now all that’s missing is “what” is inserted into this Placehlder. This is defined in the Presentation Details of the Placeholder:

placeholdersettings

Pretty clever stuff eh? 🙂

From here is should also be possible to provide Personalisation and DMS based rules to the Presentation in the same manner as any other Presentation in Sitecore. I’ll be looking to explore this in a future post.

Hope you have fun with this.

Advertisements

One thought on “Sitecore 8 Federated Experience Manager pt. 2 – Pushing renderings to non Sitecore sites

  1. Hi,

    Am trying out a similar implementation. Adding a rendering component on a simple vanilla ASP.Net page. Am able to see all the changes from Sitecore experience editor. But when i access the external site, i dont see the contents added through the Sitecore FXM(Experience Editor).

    I have looked at the response of the request and i see the content is being returned. However the content is not added on to the page. Have you faced this kind of an issue or any pointers would be of a great help. Am posting the response here for your reference.

    {“ContactId”:”5552d7fd857c4db588f63c605614f969|False”,”SessionId”:”up03wmqvdcii5qhy3p1cgeb2″,”ContactExpires”:”2017-11-11T16:54:48.0950679″,”SessionPath”:”/FXMTest.aspx”,”ElementMatches”:[{“RenderedContent”:”Sitecore Experience PlatformFrom a single connected platform that also integrates with other customer-facing platforms, to a single view of the customer in a big data marketing repository, to a completely eliminating much of the complexity that has previously held marketers back, the latest version of Sitecore makes customer experience highly achievable. Learn how the latest version of Sitecore gives marketers the complete data, integrated tools, and automation capabilities to engage customers throughout an iterative lifecycle – the technology foundation absolutely necessary to win customers for life.\r\nFor further information, please go to the Sitecore Documentation site“,”RenderedPosition”:”{FDBF46B4-5B52-4C7A-A254-B588EC52944E}”,”Selector”:”#ReplaceThisDiv”,”MatchType”:”content”,”Id”:”{DA8918CD-F826-4F5A-92EA-DF1F3C982B90}”}],”Id”:null,”Url”:null}

    Can you compare this with the response from the request that is working for you and help me know if am missing anything.
    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s