You may well be asking "why? whats so cool about that image?"
This image popped up in a presentation from the tireless Chris Nash and in one simple picture describes what I still see as the biggest issue with new builds on Sitecore.
Quite simply, a lot of companies approach a new site with an "it's all about us, the wonderful offerings we have, look how bright and shiny out new site is, showcasing all that you should love about us!!!"
In the words of Dave Chappelle playing Charlie Murphy .. WRONG!
Here's the image again.
The image on the left, while functional, is all about the companies brand. The image on the right is all about the customer, designed to remove the irksome half inch of Ketchup (or tomato sauce as we prosaically call it in NZ) left when you get the the end of the bottle, also allowing instant full flow of tomatoey goodness without having to hold the bottle upside down and shake.
So how does this apply to Sitecore and specifically when it comes time to build that new web presence?
Same deal, about making it easier for your customer to transact with you, ideally your website should be a tailored smorgasboard of relevant options, for each individual user. This is where its tricky, in a standard site build, the pixel gimps come up with some flash larry designs and the devs then start building it. Pertinent considerations such as personas, profiles, preferences, segments and anticipated behavior so often get swept into the legendary Phase Two.
The point here is Sitecore provides magnificent tools to allow a true customer-centric approach and my blunt opinion is anyone who purchased Sitecore and is using it only for WCM (admittedly it is damn good at this too) should have probably stuck with Wordpress, sorry for the swearing.
So in summary two short messages.
Design for your customer
Design for UX, customer journey and for what the marketing department knows about your customer, not how you want them to be but how they actually are.
At the end of the day all that juicy goodness stored in xDB is your biggest tool to increase engagement, reach and conversion.
Lastly thanks to Chris Nash and if your interested in the amazingness that was SUGCON 2017 - the videos and slides are starting to turn up here:
http://www.sugcon.eu/sugcon-europe-2016/video-and-downloads/
Monday, June 19, 2017
Sunday, June 11, 2017
SUGCON Europe 2017 - But where were the marketers?
You'd be forgiven in thinking that SUGCON 2017 was a geek-fest, in between machine learning, bots, AI, JSS, Commerce and numerous technical sessions, the marketing content took a little bit of digging out.
The three sessions I did attend, however were all gems in their own right. As I kept pointing out (possibly to my own detriment), all these lovely technical toys are great and all but somehow a bit pointless if you aren't using all this cleverness to personalise and automate etc.
The three sessions I did attend, however were all gems in their own right. As I kept pointing out (possibly to my own detriment), all these lovely technical toys are great and all but somehow a bit pointless if you aren't using all this cleverness to personalise and automate etc.
Five Keys to the Successful Context Marketing Project - CHRIS NASH
Christopher Nash has been with Sitecore for almost forever and is a great advocate for the digital marketing side of things. However this one image he popped up spoke so much to what most sites gets wrong, the website is not about "look how wonderful we are" - it should be all about the customer "how we can possibly help you" - have a look below - this one image does say it all.
Here's Chris with another beautiful message, one CTA is about the brand, one is about the customer.
Chris also has some great resources available to get you rocking with xDB. Give him a yell.
Personalizing for Impact -PHIL WICKLUND
Now Phil normally looks kinda fly so when he turned up looking like a lumberjack I was intrigued. Phil's sessions was practical so the shirt was very appropriate, hopefully his session will turn up in the video and download section here:
Phil's message was all about transformation, looking beyond the easy tweaks to personalisation that will have a transformational impact across the organisation.
Master Personalization and Integration - DAVE WALKER
Dave Walker, armed only with the shiniest cape in Amsterdam launches a brave session in the face of the every restless demo gods.
Check out his slide deck here:
The video and PPT assets are turning up online here:
Two Key Takeaways
- Its about the customer visiting the site, not about crowing how great your brand is
- All the cleverness of filling that xDB with mountains of data? well it don't amount to a hill 'o beans unless you are using it to mange and shape experiences.
Wednesday, May 24, 2017
SUGCON Europe 2017 – Kiwis Can Fly
The SUGCON (Sitecore User Group Conference) is an annual
event, managed by the global Sitecore community in association with Sitecore
itself. Because it’s a community driven event, organised and attended by
passionate Sitecorians from around the world, the topics and sessions tend to
be very future-focused, developer centric and a lot less company messaging than
one might expect at say symposium.
As a New Zealander, it’s almost exactly halfway round the
world to get to Europe, the world being roughly 40,000k round and the trip
being 18,000k each way, no small undertaking. The question I got asked most –
“well was it worth it?”. The answer is a resounding “hell yes”.
So, let’s start with the highlights, depending on time I’ll
try and go into depth around some of these topics in a later post.
Buzzwords of the Event
- Microservices
- Machine Learning
- Zero Deploy
- Azure PaaS
- IOT
Robbie The Robot A futuristic showcase of the omni-channel capabilities of Sitecore XP
Admittedly the demo gods didn’t smile that much but Robbie
was a big hit. Essentially the lads had wired a Rasberry Pi, Amazon Alexa,
Hololens, a camera or two together with a Sitecore instance. Why you may ask? To
really demonstrate the future of Sitecore and microservices.
Oh, and to demo it all they picked on a retired developer,
Pieter Brinkman who shall be henceforth known as the Brinkmeister for his
brilliant contribution to the Sitecore Community.
So, ask Alexa a question, voice recognition translated to a
Sitecore request where personalisation kicks in to provide a response. Correct
me if I’m wrong but it looks a whole lot like Sitecore is the AI in this
scenario and raises the idea that COGNIGY, home to former Sitecore CIO Philipp
Heltewig may play a part in this exciting future.
Let’s go one step further and send live video streams to Msoft
cognitive services, what comes back is a JSON snippet where multiple faces in the
video have been identified and senti-rated, by that I mean rated for emotional
content as shown in the returned JSON below.
Did I mention this happens in real time? Even processing a
static profile image would provide valuable information about a user that can
then be poked into Xdb against a contact and used for further fun. The possibilities,
combined with voice recognition and Sitecore personalisation are quite mind
boggling if you pause a tic to think about it.
Read more here: https://azure.microsoft.com/en-us/services/cognitive-services/
Hedgehog Zero Deploy
More great tools from the folk who brought us TDS and RAZL.
From the creators - “With ZeroDeploy you can finally test code
changes without recycling the Sitecore Application Pool reducing overall load
time by 99%!!
How?
ZeroDeploy effectively does a 'hot-swap' of the DLLs in
your web application, so the App Pool never recycles, allowing you to see your
back-end code changes immediately. No more 60-90 second wait time, while the
App Pool reloads.”
Dunno about you but wait for that App pool recycle enough
times and it adds up to a lot of down time, especially since it de-zones you, “oh
might go and check my email while the app pool recycles – 30 minutes later
ooops” – the productivity gains are obvious.
If you are interested in being a
beta tester, sign up here: https://www.teamdevelopmentforsitecore.com/Zero-Deploy-Beta
Publishing Services - What’s new in Publishing Service v2.0
As if the Publishing Services wasn’t already a giant leap,
it just got better – it’s enough to say its blindingly fast. As Stephen Pope
puts it
“There are quite a lot of changes between the initial release (1.1) and
the next version (2.0) of the Publishing Service that I think people would want
to know about. This is the first version that is 100% ready for the
cloud and we also did a lot of performance testing and have some great
graphs and data to explain all the things we did to further convince them to
try out the service”
Other Highlights
- One click, multi-instance deploys on Azure PaaS
- Azure Machine Learning
- Coveo – building automated search models based on Xdb data
- Sitecore Commerce, soon to be fully integrated – bye bye Commerce Server.
- SXA JSON, components that use a Sitecore device to output their content as JSON, hello microservices for anything.
- JavaScript Services – Using the React Framework with a few clicks for creation of Sitecore items, supporting personalisation and the Experience Editor – I must admit I was fading a bit during this session but damn it was cool “Ever wondered if you can build full fledged apps in JavaScript and leverage the best out of the Sitecore platform?“ - Alex Shyba and Adam Weber answered this with a definitive YES – also best use of an air cannon to shoot t-shirts into the crowd.
Roadmap and Philosophy
Lastly the engaging Jeppe Grue, Sitecore Senior Vice President, Product Strategy
closed out with a great overview of the future Sitecore philosophy and roadmap
delivered via an appropriate tour of Dutch art and history, what did he
promise?
- · Single Update Wizard for any version to latest
- · Brand new UI for the Sitecore client
- · Azure Marketplace and Toolkit
- · The promise of XConnect, the evolution ofthe Data Exchange Framework making it easy to push and transform data from anywhere to anywhere.
Importantly he restated
the main reason I got started with Sitecore 10 years ago, it’s fun and cool.
Naturally I couldn’t get to every single session and
there is a ton of stuff I did not cover here, but you can have a look at the
sessions at the link below.
In summary, a little
sad to be back working a view rendering, but I’m feeling incredibly excited by
the future of Sitecore and champing at the bit to apply some of the futuristic
stuff to new projects
Labels:
Azure,
microservices,
PaaS,
Sitecore,
SUGCON 2017,
SXA
Tuesday, April 18, 2017
Redirects In Sitecore SXA
Again the wonderful Sitecore support comes to the rescue with details on using the Redirect functionality that is out of the box with Sitecore Experience Accelerator, until the full documentation is complete I thought I would share this with the community.
>> If a user goes to our site with a url like http://sitename/en/our-exports/exporting.aspx
This will redirect any request to a page under /products to /anotherpage:
This example uses tokens:

Tokens are regex expressions inside parentheses. There are two tokens in the input string above:
>> If a user goes to our site with a url like http://sitename/en/our-exports/exporting.aspx
>> We wish them to be redirected to a sitecore item for example http://sitename/exports
>> How is this done using the SXA redirect item please?
You can use the Redirect Map functionality. You need to create a redirect item under /sitecore/content/[Tenant]/[Site]/Settings/Redirects and specify the mapping between URLs:

Important note: the exporting item must not exist. Redirection will be performed only if Sitecore XP can't find a matching item, just before the user is redirected to a 404 page.
If you want to redirect from existing item, you can use the method described in the article you mentioned. For example, you can insert a redirect item named OldContact, which will redirect to the /Contact page:

>> Also does it support wildcards and regex? If so how is this done?
Redirect Maps support regular expressions. General rule for a regular expression in the redirect mapping: it must start with ^ and end with $. Here is a couple of examples:
You can use the Redirect Map functionality. You need to create a redirect item under /sitecore/content/[Tenant]/[Site]/Settings/Redirects and specify the mapping between URLs:
Important note: the exporting item must not exist. Redirection will be performed only if Sitecore XP can't find a matching item, just before the user is redirected to a 404 page.
If you want to redirect from existing item, you can use the method described in the article you mentioned. For example, you can insert a redirect item named OldContact, which will redirect to the /Contact page:
>> Also does it support wildcards and regex? If so how is this done?
Redirect Maps support regular expressions. General rule for a regular expression in the redirect mapping: it must start with ^ and end with $. Here is a couple of examples:
This will redirect any request to a page under /products to /anotherpage:
Tokens are regex expressions inside parentheses. There are two tokens in the input string above:
- (.*) - matches any character
- ([1-9]+) - matches any numeric sequence
Thursday, April 6, 2017
Hiding Snippets in the Document Publisher - Sitecore PXM
Sitecore Print Experience Manager is super cool but sometimes you want text snippets to be hidden in the Document Publisher, so they still display in preview and render in the PDF, but the editors cant fiddle with them.
This solution was provided by Sitecore support and works well - Enjoy
The main idea of my approach is to extend the default P_Snippet template with an additional field which hides the entire Snippet section in the Edit Document application:
1. Navigate to the template "/sitecore/templates/Print Studio Templates/Publishing Engine/P_Snippet" in the master database.
2. Add a new Checkbox field with name "IsHidden". You can use another name, but this particular is referenced in the further JS code sample, so in case of a different name you'll have to change the code as well.
3. Make the field Unversioned and Shared.
Now you can mark any Snippet as hidden by checking the added checkbox. Further, you have to extend the function "loadSnippet" in the /sitecore/shell/client/Applications/ODG/Components/Controls/SnippetEdit.js file. Here is the sample code, I've highlighted the changes:
Please don't forget to clear your browser cache.
This solution was provided by Sitecore support and works well - Enjoy
The main idea of my approach is to extend the default P_Snippet template with an additional field which hides the entire Snippet section in the Edit Document application:
1. Navigate to the template "/sitecore/templates/Print Studio Templates/Publishing Engine/P_Snippet" in the master database.
2. Add a new Checkbox field with name "IsHidden". You can use another name, but this particular is referenced in the further JS code sample, so in case of a different name you'll have to change the code as well.
3. Make the field Unversioned and Shared.
Now you can mark any Snippet as hidden by checking the added checkbox. Further, you have to extend the function "loadSnippet" in the /sitecore/shell/client/Applications/ODG/Components/Controls/SnippetEdit.js file. Here is the sample code, I've highlighted the changes:
loadSnippet: function () {
var item = this.get("item");
if (item != null) {
if (item.IsHidden == "1")
this.SnippetAccordion.set("isVisible", false);
this.SnippetAccordion.set("header", item.$displayName);
}
else {
this.Border.set("isVisible", false);
}
this.reloadData();
},
Please don't forget to clear your browser cache.
Thursday, March 16, 2017
SXA Presentation Tips
Being very new to SXA (aren't we all) I needed to get rapidly up to speed with this new way of doing Sitecore, I found this handy snippet on http://sitecore.stackexchange.com/questions/1995/sxa-page-design-vs-page-standard-values-vs-page-branch-template
I thought it worth sharing and credit for this should go to : Alan Płócieniak
With Sitecore Experience Accelerator you can forget about previous methods, however, there is nothing that will block you from using them.
Before - NO SXA:
- you had to decide how your page will look like before you entered content (because the presentation was stored either on SV or somewhere inside different branches)
- you couldn't easily switch your presentation once you created your item with predefined presentation details. Option for doing that could be changing the template to use a different one with different presentation or manipulate presentation manually. Not so comfortable if we are talking about thousands of pages.
Now - SXA:
With SXA you can use the same approach, however, what makes it special is the fact that you can treat your items like a data storage and define presentation somewhere else.
Why is it cool?
Because when you've got your data and presentation decoupled you can easily change presentation details any time you want (there is so called design to template mapping).
Notice that all you need to do is to change the value of a single drop down to change the Design of all pages under your site.
Of course, you are not forced to define presentation details in one place and data in another. Page designs are sort of set of renderings injected onto your page but are not there in reality. You are able to add your additional renderings even that and page will render merged content at the end.
Here are key points:
Advantages:
- flexibility - you can easily switch presentation details without touching templates
- maintainability - you can build partial designs like normal pages (open Experience Editor and drop renderings), you couldn't manipulate presentation details using previous approaches
- hierarchy - data templates definition are stored under templates, where designers (presentation designers) should no go to, that's why presentation can be created on so-called Partial Designs, I think it is pretty important to keep things secure.
- re-usability - as you probably know page designs are build from partial designs. In this case, you can reuse existing presentation parts. Let's say you define single header partial design and then use it on different designs where content part or footer is different.
Tuesday, December 13, 2016
Why The Sitecore Data Exchange Framework is Important
I recently had a discussion with a colleague around how we were best going to integrate a CRM and multiple external data lookup services with Sitecore Xdb for a full experience management merry go round.
The issue was a bit of a brain melter because the CRM is in transition between platforms, the external service lookups need to run through Azure Apps and the whole back end system is undergoing alignment to get a single view of the customer internally - fun fun fun.
So you can see that there is a lot of integration pieces that need to be created and managed in an orderly modular Helix-compliant fashion.
Now initially the integration pieces (CRM of any type - might as well be a black box) and numerous external lookup services (writing to the xDB too) might be small to middle sized but undoubtedly they will get added to and hopefully not in way that adds technical debt - that would be my preference.
To my mind a lot of these processes can be built abstracted and modular and seem well suited to being implemented using Pipelines in the Data Exchange Framework.
So why, I asked myself, add another layer to this bucket brigade?
Well being only a junior dev in terms C# experience, I can see we have come along way with MVC and NuGet and other methods to keep our code modularised and re-usable etc. etc., but the Data Exchange Framework offers something that no well structured solution can.. and that is..
The ability to model and organise processes as an ETL (extract, transform and load) layer for Sitecore. The parts of a synchronization process map directly to ETL functions.
The Data Exchange Framework (DEF) allows you to model the ETL functions using Sitecore Items in the content tree and this is where it's classic Sitecore.
DEF also does other funky stuff, your Pipelines can be run on other machines with Sitecore acying as just a configuration server.
Lastly DEF is the precursor to xConnect (as I understand it), the coming integration framework for Sitecore. As such I assume it will be the Sitecore recommended approach to external integration going forward so it seems like a good plan to get on board now.
The developers guide is a good place to start:
http://integrationsdn.sitecore.net/DataExchangeFramework/v1.2/
And the full API is available here:
https://dev.sitecore.net/~/media/D47877D168AE446CA05500F24AF7D9C1.ashx
Main Sitecore page and download here:
https://dev.sitecore.net/Downloads/Data_Exchange_Framework.aspx
Subscribe to:
Posts (Atom)






