The Digital Workplace – More than just an intranet

The Digital Workplace – More than just an intranet

by Katya Linossi, Managing Director@ClearPeople

We are all feeling the impact of the pace of change in the world of technology. An increasing demand for global collaboration and a need for a seamless experience across multiple devices is paramount as so much of our day to day lives has become digitised.

Organisations are witnessing this demand like never before, needing to satisfy not only their own paying customers but also their internal customers (employees) too through digital tools such as the intranet, wikis, instant messaging and search. The term “Digital Workplace” is hence being used more and more frequently to describe the way in which organisations need to work.

So what is Digital Workplace, and more specifically the Digital Workplace Maturity Framework?

A Digital Workplace is more than just an intranet or technology. It is defined by working in a more collaborative, engaging and productive way that enables individuals to work from any place in the world at any time. This is advantageous not only for an organisation in terms of cost savings and increased productivity, but also for their external customers who expect an efficient and timely service. As demand for this increases, some of the tools and processes required for organisations to improve efficiency and share knowledge are now more readily available and easier to use and implement.

When doing research on intranet maturity models, it came to my attention that many of them were either outdated or did not satisfy our clients’ requirements. So I decided to use the best elements of these models to create a more relevant illustration of digital workplace maturity – aptly named the ClearPeople Digital Workplace Maturity (DWM) Framework. This is predominantly based on the Razorfish Intranet Maturity Framework (2006).

Digital Workplace Maturity Framework

The ClearPeople DWM Framework is by no means perfect nor academic. However, it is a useful way to understand what your organisation’s digital workplace is achieving right now, and more importantly, identify what you want it to achieve in the future. The model can also be used to help recognise what tools, technology, processes and people you may need for each stage as the digital workplace grows to have more strategic value within your business. The stages are not necessarily sequential.

Stage 1 – Information Publishing

Traditionally, Stage 1 is your classic intranet, focused on primarily meeting the most basic of employee needs such as the dissemination of news, providing an organisation chart and relevant templates for each department. It has a low level of resources and a very low degree of management is required. For organisations that currently have no digital workplace, this stage can easily be bypassed and they can progress along the maturity scale instantly given that many technologies such as SharePoint for example, include out-of-the-box collaboration and other relevant features.

Stage 2 – Interaction

This is the stage where employees are provided with information and services that enable them to better manage their work. They can now contribute to the digital workplace through available tools like wikis and discussion forums. This stage provides easily measurable benefits that reduce employee overhead, streamline business processes and could result in a more paperless organisation.

Stage 3 – Collaboration

This is where the true Digital Workplace starts by typically incorporating collaboration and social tools so that employees have a single interface through which they can communicate, collaborate and share knowledge with one another via multiple devices, rather than a variety of tools from which to do so. The focus of this stage is collaboration while continuing to improve communication, information-sharing and self-service components.

Stage 4 – Dashboard

This stage includes all features and functionality from preceding stages but is fundamentally concerned with displaying business information (often of a confidential nature) through an intranet interface to specific users (mostly senior level employees). These dashboards give new significance by not only empowering employees to communicate, collaborate or conduct business tasks but also assess the performance of their business units.

Stage 5 – Consolidated Workplace

Unlike the earlier stages, the Digital Workplace responds to the way employees accomplish tasks in the workplace. This stage includes integrating legacy applications into one single, consolidated and dynamic interface. Very few organisations achieve Stage 5 owing to the dramatic organisational and technical changes as well as the investment required.

As aforementioned, the progression through the model is not necessarily sequential, and moving from one stage to the next does not mean that what is done in an earlier stage is no longer required in later stages. For example, the provision of information does not move out of focus once an organisation advances to another stage, but should also be moved to the next stage in its evolution.

In conclusion, the ClearPeople Digital Workplace Maturity Model, like most models of its nature, reflects the broad nature of the Digital Workplace and the changing world of work in general. As businesses aim to satisfy the growing demands of their internal and external customers as technology advances and raises expectations, the Digital Workplace needs to evolve. There is no “one size fits all” approach as all organisations have different requirements and priorities. I believe the model is an excellent guideline in seeing the art of the possible but it is by no means definitive; a detailed discovery phase and user requirements gathering is essential to pin down an organisation’s current situation and future planning.

Posted in Customer Experience, Digital Workplace, Intranet | Tagged , , | Leave a comment

Did your agency build your website CMS? 6 reasons why in 2014 this isn’t a great idea!

Did your agency build your website CMS?
6 reasons why in 2014 this isn’t a great idea!

by Brad Smith, Commercial Director@ClearPeople

I’ve noticed that a lot of businesses I talk to about their website and intranet development projects work with ‘agencies’ who deliver solutions built on a content management system that they have developed themselves.

It got me thinking about the pros and cons of such a relationship, and also about the benefits of working with an agency that is agnostic in its approach to technology.

It may sound a bit weird coming from a technology agency, but here at ClearPeople we believe that technology is secondary – i.e. it’s not about the website, it’s about the experience.

For us, a digital project begins with a deep understanding of your business and not with a ‘one size fits all’ technical solution.

That’s why I have come up with 7 reasons why I think there is an inherent risk in working with a company that puts its own technology first. Let me know if you agree.

1. You’re locked into a technology for a long time…

Market experience tells us most businesses expect to get between 3 and 5 years out of their investment in their chosen content management system (CMS). However due to budgetary constraints and the need to prove an ongoing ROI, many organisations actually try and push this nearer to 5 to 7 years. That’s a long time to use one technology that may or may not be keeping up to date with currents market trends and your business objectives.

2. If you fall out with the agency who built your CMS, you’re stuck with a technology nobody else understands…

I’m sure the relationship would have been sold to you with the key benefit of working with one supplier, but in reality how many technology companies have truly managed to deliver exceptional technology and a superlative delivery capability?

3. Your user requirements don’t come first, the technology does…

Proven technologies have proven implementation partners. Companies like Microsoft, IBM and Sitecore don’t have in-house delivery teams implementing their products for their customers. Why? Because technology moves at such a pace that priority needs to be given to continuous development and improvements of a product, and working to satisfy client’s requirements will get in the way.

4. A jack of all trades is actually a master of none…

I’ve never met an agency that has won awards for producing the best design, best processes, best delivery capability and the best content management platform in the industry. There’s a reason for this.

5. You don’t want the same website as everybody else…

Customisations to the product that the client requests that don’t enhance or drive forwards the CMS platform will be ignored because it takes away from investment in the CMS itself. If your customisations are not agreed to you’ll have to settle for the same as everybody else.

6. The solution may look nice on the surface but often is only skin-deep…

Many agencies with their own platform use proprietary or bespoke solutions, sometimes built 7 or 8 years ago, and sprucing them up so that they appear on face value to have a form of depth, but when you dig behind the scenes it’s evident that the capability of the product is very limited.

When talking to businesses about this I often ask them to imagine building a new home from scratch. You’ve hired a fantastic architect who has drawn up some inspirational designs. His skills lie in putting the overall vision down on paper. But you wouldn’t expect him to build the foundations and get his hands dirty with the bricks and mortar. You wouldn’t seek him out to fix your plumbing and your electrics, or glaze your windows. You would choose the right people, with the right skillsets for the job, who recommend appropriate products to complete your dream home.

The same can certainly be said for your digital projects. Hire an agency that has a specialised team of experts in their distinct disciplines to bring your vision to life. They will help you choose the right design and the right technology to create an exceptional user experience.

Drop me a line if you’d like to talk through this approach in more detail

Posted in Content Management, Website Design | Tagged , , | Leave a comment

How to install MiniProfiler in Sitecore

How to install MiniProfiler in Sitecore

by Sergio Gisbert, Senior .Net Developer@ClearPeople

The problem to solve

Sitecore has some tools for performance profiling that we can use out-of-the-box, like /sitecore/admin/stats.aspx or the Debug mode in the Page Editor. But, in my opinion, they’re useful when you already know you have a problem, and even then, they’re not really straight-forward to use. But how can we detect in real-time that we have a performance problem? I suggest using MiniProfiler

 The tool that will solve it

MiniProfiler is a light-weight plugin for ASP.NET applications that add live profiling capabilities to our application. Apart from the basic plugin (ASP.Net WebForms), there are also several extensions for MVC, EF, Ruby, Node.js, etc. MiniProfiler will add an unobtrusive layer on the top left side of the website with the time taken to render it. Then we can open it to see the whole breakdown of steps.

image1

image2

This way we can easily see if a concrete page is taking more time than necessary, and then try to dig deeper in the components that conform that page, using Sitecore profiling or our own methods. Please refer to MiniProfiler documentation at http://miniprofiler.com/ or check the sample project at GitHub (https://github.com/MiniProfiler/dotnet/tree/master/Sample.WebForms) to see how you can wrap your own profiled sections in your code, and see them at the output layer.

How to install MiniProfiler in Sitecore

As MiniProfiler is deployed through Nuget, it seems that getting it up and running in Sitecore should be something easy. But there are a couple of things to do before this comes true.

Installing MiniProfiler plugin

The first step is to get the MiniProfiler package to our website. To do so, we will open the “Package Manager Console” in Visual Studio and select our Website project in the “Default project” dropdown.

image3
We can use MiniProfiler capabilities in other projects that are part of the solution (data layer, services, etc.), where it will probably make more sense than in the top layer website. Then we will need to install the package in those projects as well. In this case we’re installing the basic package for WebForms, as this has been tested against a Sitecore 6.6 installation. We can use the specific packages for MVC if needed.

MiniProfiler setup

We need to add three small changes to our website to have MiniProfiler running:

Global.asax.cs

We will copy the configuration from the sample website: https://github.com/MiniProfiler/dotnet/blob/master/Sample.WebForms/Global.asax.cs

I suggest modifying the method void InitProfilerSettings()  and including these lines:

ignored.Add(“.axd”);
ignored.Add(“.xml”);
ignored.Add(“.mp3″);
ignored.Add(“.flv”);
ignored.Add(“.js”);
ignored.Add(“.css”);
ignored.Add(“.gif”);
ignored.Add(“.png”);
ignored.Add(“.jpg”);
ignored.Add(“.woff”);
ignored.Add(“.ttf”);

// Sitecore specific URLs
ignored.Add(“sc_mode=edit”);
ignored.Add(“~/media”);
ignored.Add(“~/icon”);
ignored.Add(“/sitecore/”);

So we avoid messing up with static files and Sitecore specific urls timing.

Web.config

1. Make sure the <modules> section looks like this:
<modules runAllManagedModulesForAllRequests=true“>

2. Edit the “IgnoreUrlPrefixes” setting, and add the following url, /mini-profiler-resources.

It should look like:
<setting name=IgnoreUrlPrefixesvalue=“/mini-profiler-resources|/sitecore/default.aspx|/trace.axd|…/>

Default layout

Finally, we must add the frontend resources (CSS/JS) that render the layer in the site. To do so, we have to add the following line to our main layout, at the end, just before the </body> tag:
<%= StackExchange.Profiling.MiniProfiler.RenderIncludes(useExistingjQuery:false) %>

This is the WebForms syntax. Please refer to the documentation if you’re using MVC.

Conclusion

MiniProfiler is a widely recommended way to include basic profiling in our website projects, and it’s really helpful to have your code under control.

The main trick to get it working with Sitecore was adding the MiniProfiler url to the ignored Urls by Sitecore, so Sitecore doesn’t think it’s an item path and return a 404 error.

This has been tested with Sitecore 6.6, but it will probably work as well with newer versions.

This post is an update from the original post in Spanish at my personal blog: http://www.sergigisbert.com/blog/como-instalar-miniprofiler-en-sitecore-cms

Posted in Front End Development, programming, Sitecore, Uncategorized | Leave a comment

Introducing the Sitecore Workflow Manager module

Introducing the Sitecore Workflow Manager module

by Alan Yip, Senior Sitecore Consultant@ClearPeople

The Workflow Manager module came about when I was looking for something to start assigning workflows to existing items in my content tree. Surprisingly enough, there were loads of scripts and bits of code on the web that dealt with this and in the past, I created a standard ASPX page to deal with this (The quickest option I had back then in my disposal!)

But the issue I had was that I had to manage this process separately like not deploying the page to production, develop it enough to run it once and get rid of it which sometimes was missed out and in some cases, content migration would be involved and workflow was left till the end.

So an idea crept into my head when I had a bit of spare time to create a tool which managed your workflows for you without having to write up any code.

What can it do?

The module comes with 2 main features:

  • Managing workflow for your templates
  • Managing workflow on content

When I talk about managing workflow, I mean adding and removing workflow from your Sitecore items. It is as simple as that because as we all know, that is exactly all we need to do (other than maybe set up the workflow itself!) But we’re not discussing the details here.

Managing workflow for your templates

The module allows you to add or remove workflows to templates and you can choose which workflow you want to assign to these templates.

The actual work is processed on the standard values of the template and only the default workflow field is populated.

As you can see, there is no need for the developer to learn everything there is to know about workflows on templates which can sometimes be complicated when you start delving into the details.

workflow manager

Managing workflow on content

You can also add and remove workflow to items in the content tree or wherever you see fit. You can set the workflow, the status of the workflow, omit any templates that you don’t want to assign workflow to like folders.

This feature gives you the flexibility to manage probably the most important part of the process, especially when you’ve already got lots of content items that need workflow adding to them.

The removal of workflow from content items is a little more brutal. It will simply get rid of workflow from all descendants of the selected content root and itself. This was created this way initially for me to be able to remove workflow quickly.

workflow manager 2

Where do I get this?

You can download this module from the Sitecore Marketplace or click here to go directly to the module to download it.

This is an initial release and I can see extensions or improvements being made to it, e.g. re-writing it in SPEAK, but I hope it can help some who may be interested in it.

Have a play with it, use it and I welcome any feedback that you may have with the module.

Posted in Sitecore, Sitecore Modules | Tagged , , | Leave a comment

Introducing Luke Smith, Cloud Services Manager

Introducing Luke Smith, Cloud Services Manager

by Ricky Wallace, Marketing Manager@ClearPeople

In the week that ClearPeople was announced the first Microsoft UK Partner to be awarded Cloud Platform Gold Competency for Microsoft Azure, we also welcomed a new addition to the team – Luke Smith, as our Cloud Services Manager.

He knows his stuff – with over 15 years’ experience in the industry and Microsoft certifications coming out of his ears – I caught up with Luke to get the low-down on all things Cloud.

Luke Smith

Hi Luke, and welcome to the team!

Thanks, it’s great to be here. I’m really excited to get stuck in.

What are your first impressions of ClearPeople?

It’s a modern organisation where everyone is welcoming. It’s clear that the main focus of the company is on its client relationships and creating the right solution, shown by its repeat business.

It’s a client-first, people-first business, with a Cloud-first, mobile-first approach.

Talk us through your first day…

Well, the morning didn’t start very well with the trains running late due to a signal failure at Slough! But once I finally arrived at the office and had a meeting with company founders Gabriel and Katya, they introduced me the rest of the team and I got straight down to business. I started working with the Technical Consulting Services Director, Eneko and our Alliance Director Gurmail on our Cloud strategy and I already feel part of the furniture!

So tell me, how long have you been in the industry?

Over 15 years. I’ve been working with Microsoft Technologies since MS-DOS 5.0.

Quite a while then! So you’ve been at the forefront of the latest Microsoft developments…

I certainly have. And to date, I have been working on Microsoft’s latest cloud technology Windows Azure, Office 365 and SharePoint with their associated technology stacks to it, like System Center, Lync, Windows, Exchange and TMG/UAG.

What were you doing before joining ClearPeople?

Before joining I was working for another Microsoft Partner and for Microsoft UK as an Azure P-TSP evangelising and designing Microsoft Cloud Services. I have worked with many organisations from small businesses to Fortune 500 companies, with my main focus being Microsoft Cloud services – Azure and Office 365.

What kind of projects were you working on?

I’ve worked on all kinds of projects – small to large implementations of Windows Azure, SharePoint, Office 365 and BizTalk, comprising of recommendations, design, implementation and support transition.

Additionally, I have worked with technologies including System Center, Windows Server, SQL Clustering, AD, Kerberos authentication, Third-Party solutions, Firewall, Load balancing and Office Infrastructure.

Tell me more about your new role here at ClearPeople, and what are you most looking forward to?

I head up the Cloud Services practice at ClearPeople. I’m really looking forward to working with like-minded people and continuing the success you guys have achieved so far. And I’m also really looking forward to growing the team too, and making sure that the Technical Consulting Services team hits some ambitious targets.

The term ‘Cloud Services’ is a real buzzword at the moment. For those who don’t know, what exactly is it? And what do you think is exciting about the Cloud?

Think of the Cloud as similar to a utility service such as your electricity. When you switch on the lights, you didn’t have to generate the power yourself, it’s just there – and you pay the utility company based on your consumption.

Cloud computing works in the same way. You can access an enterprise level service without having to run the infrastructure yourself. Whether you want the power of a super computer for an hour, want to store data, or share a file, you can from anywhere at any time instantly and only pay for what you use. In some instances the services are provided for free, such as OneDrive or Outlook.com.

Great analogy – making the technical simple, I like it! Can you tell me an example of the Cloud Services ClearPeople can provide?

Office 365 and Microsoft Azure are such Cloud services that ClearPeople partner with Microsoft to offer organisations globally, suitable if you’re a small start-up or an enterprise business with hundreds of thousands of users. The services give users access to the same highly available global infrastructure starting from as little as £1.30 per user for a whole month.

Last week we were announced the first Microsoft UK Partner to be awarded Gold Cloud Platform Competency. Can you tell me what this means to our customers?

Meeting such accreditation will give our existing and new customers the confidence that we understand the Cloud and can help their business to move forward to Office 365 and Microsoft Azure. It is obviously awesome that we got there first!

There are a lot of stories in the press at the minute about privacy and security due to certain photos being leaked online. What would your response be to customers who are concerned about the safety of Cloud hosting?

Microsoft Azure and Office 365 are tested to the highest security standards. These are likely to be much higher than those in your server room. The reports you hear in the press are not directly related to Cloud being unsafe, but are fairly classic attacks known as phishing. To help prevent against these types of attacks I would recommend the following action:

  • Be vigilant when responding to emails
  • Change passwords on a frequent basis
  • Have a complex password (containing numbers, characters (mix case and symbols)
  • Run up-to-date Anti-Virus software
  • Limit the number of users with elevated permissions, like administrators, to the absolute minimum

Great advice. What do you like to do for fun outside of work?

I’ve got quite a few outdoorsy hobbies like cycling, skiing and snowboarding. And I enjoy the odd bit of DIY too and spending time with the family.

Thanks for your time Luke – what’s next on your agenda after this interview?

I am just about to head into a project kick-off meeting – we are implementing a StorSimple solution for a client with lots of data and DR requirements, so it is great timing for me to get stuck in… great speaking to you Ricky.

Posted in Cloud Services, consulting, Windows Azure | Tagged , | Leave a comment

ClearPeople: Facing the challenge of leading the way with strategic Sitecore deployments

ClearPeople: Facing the challenge of leading the way with strategic Sitecore deployments

by Barry McKaine, Head of Project Management@ClearPeople

“Sitecore’s partners seem unable to deal with the increasing complexity of deployments and digital strategies.”

You can download the Gartner report here.

Gartner’s recently published report on Web Content Management Systems made some interesting observations on how Sitecore’s CMS was currently perceived in the marketplace.  Whilst on the one hand the report recognised the CMS for its ease of use and adoption within businesses, along with an openness to address key customer needs, Gartner raised concerns around some of Sitecore’s partner capabilities.

On reading the above statement, I found myself agreeing with the Gartner conclusion.  However, rather than feeling knocked by the comment, I realised I am part of a company that is already addressing this deficit with our unique integrated digital agency and consultancy offering within the market.

During 2014, ClearPeople has been reassessing our positioning within the digital space.  Building on our heritage of providing both digital services and technical consulting, I have been working with other members of the Senior Leadership Team to invest in strategic hires and processes to further strengthen our offering across these areas with the objective of remaining at the leading edge of delivering complex Sitecore projects.

Yes, there are many agencies out there that can “do Sitecore builds”. In fact if this is all an organisation is looking for, then it is probably best for them to offshore this somewhere in the world other than the UK to save on costs.

What I am increasingly finding however is that companies are seeking more than just development build houses that can deliver a sound CMS build or re-platform.  As the importance and maturing of the digital channel – and indeed the digital workplace – begins to take hold across organisations it is digital strategy, rather than business or functional requirements or a specific technology platform that is, and rightly so, driving expenditure and commitment to investments in business change.

The change and the challenge we have committed ourselves to at ClearPeople is to continue to ensure our proposition and service offering meets the needs of the ever shifting digital landscape.  We see ourselves as a ‘Consultagency’ a hybrid breed of business offering both strategic digital services and technical consulting, meaning we can provide clients with a ‘best of both worlds’ approach.

So whilst some Sitecore partners struggle to deal with complex digital strategies and deployments, I believe our Consultagency ethos strongly positions ClearPeople to address the challenges that Gartner have identified within the Sitecore ecosystem in this area. Watch this digital space!

 

A Certified Sitecore Solution Partner since 2005, ClearPeople is also recognised as a leading Microsoft Gold Certified Partner and Cloud Accelerate Partner within the UK.  In October 2014 ClearPeople was first Microsoft UK Partner to be awarded Cloud Platform Gold Competency for Microsoft Azure.

Posted in consulting, Sitecore | Tagged , , , | Leave a comment

Building your own module for Sitecore Marketplace

Building your own module for Sitecore Marketplace

by Alan Yip, Senior Sitecore Consultant@ClearPeople

1. Why build a module in the first place?

I was always bought into the idea that the Marketplace was an area where other developers could show off their amazing development talent by creating some fantastic module that would help someone or some business with some every day problem. This could simply be a diagnostic tool or even a development tool like Sitecore Rocks.

In your everyday life as a Sitecore developer, you tend to create small modules to help with a problem but you would never do anything with it. It’s more of a throw away piece of software, until now!

Why create something that helped you and not share this out to someone else that may have the same issue as well? You simply wouldn’t, but we essentially do it either subconsciously or simply there is no time for anything else.

That is why when writing this blog, I would’ve released a Workflow Manager module to the marketplace which you can download here and install and hopefully it will help you as much as it has helped me with some of my projects.

2. The problems I faced

When you start to think about uploading a module to the Marketplace, there are certain things that you can sometimes forget about because we feel that our fellow developers will be able to download this module, install it and it will work like a charm!

The answer is NO!

I’m a great believer of usability of a system and that also covers development as well. How can I build something for someone else to use and make it as easy to install, develop, use, extend, etc.?

Below are some of the things I found useful to think about before uploading my module and trust me, I’m no expert at this, but thought it would be useful for someone else.

Sitecore versions

Think about which Sitecore versions your module will work on. Will it go back as far as version 5? I think 6.6 is a good start but essentially 7.2 is where most people will probably be at, but covering as much range is always good.

Installation issues with existing folders

I created a Modules folder for one of my configuration settings item which may also exist for other modules so think about how you will package this so that it doesn’t simply overwrite someone else’s folder on their solution.

How many installations before it is perfect?

I found myself installing, re-installing, deleting, and removing for long periods of time. Don’t feel that this is a complete waste of time, it isn’t! Trust me, every time you install and re-install, you always find issues so make sure the installation is perfect before pushing this out.

Do I include the code in Github?

Well, this is for the more advanced users. I always think that if I want others to contribute or extend my module, then throw it up onto Github or some other collaborative revision control.

Christ! My code doesn’t look that nice!

This is more of a POC concern than anything else. If someone was really bothered about coding design patterns or code standards, then they should be looking for the source code and redesign it to fit into their architecture. For this purpose, this is a module that helps others but everyone’s coding style is different.

Test against other modules

I always install another module alongside my one and see if it breaks when installing my module against theirs. It helps iron out the simplest of issues which could arise with others trying to install your module in their solution.

Be there to help!

Finally, I’ve sometimes found that when I download someone else’s module and I have an issue, I don’t get a response when I ask for help or leave a comment. I’m always supportive with others just as Sitecore is with you. So always support where possible because you could be getting some good constructive feedback for your module so I hope that I do as well!

Posted in Sitecore, Sitecore Modules | Tagged , | Leave a comment

My learnings from Sitecore Symposium Barcelona 2014 – From placeholders to Sitecore 8 and the experience database

My learnings from Sitecore Symposium Barcelona 2014

by Vicent Galiana, Senior Sitecore Developer@ClearPeople

First conclusion: Sitecore is not a (web) content management system.

“What did you drink?” you’ll be thinking… but this is one of the key concepts the Sitecore guys managed to convince me of: Sitecore is a marketing platform, which includes a (very good) CMS. If you think about it, it makes sense…

  1. Yes, Sitecore has been one of the best CMS in the market, since they began, even patenting the concept of “placeholders” in the U.S.A. (I would have never imagined that, but they showed us the documents).
  2. When was last time you saw a demo or presentation by Sitecore about CMS capabilities? It’s always about personalisation, about personas, about goals, point, etc.
  3. Why DMS? Why “Digital Marketing Suite” and not just “analytics”?
  4. Why ECM (Email Campaign Manager), integrations with CRMs, integrations with different eCommerce platforms?
  5. Why are most of these terms related to marketing and not technology?

The answer is easy, because Sitecore abandoned the focus on the CMS years ago, and they changed their focus in transforming the CMS into a complete marketing platform, not only able to deliver content for the web, but to deliver the proper content, at the proper time, in the proper channel, for each user.

How has Sitecore achieved it? Of course, it has not been easy, but the concept is pretty simple; track every single interaction of the users with the system, and weigh it against different goals.

  • The architecture of the system, allowing different topologies and a huge scalability to support heavy loads of usage. CM,CD, different databases, in different servers, etc.
  • The data structure implemented by Sitecore was great to support any data structure of the content
  • Storing user interactions with OMS and then DMS, a relation database able to store structured data, per user, content, goal, etc. This was the core of the “personalisation engine” as for the different reporting tools.
  • Adding new channels to the suit: Email, eCommerce, social networks, CRM, etc

This is Sitecore 6, this is the past and the Sitecore most of us know and are comfortable with, but it was not enough to keep up to date with the new demands of the era: so Sitecore had to step up to the next level, this is Sitecore 8, this is the future:

Even though Sitecore already supports IaaS with Azure and Amazon, and has specific tools to support PaaS on Azure, Sitecore will soon support SaaS, supporting all the different architectures commonly used today. First problem solved: Take it to the cloud.

The extremely customisable data model was limiting the capability to manage huge amounts of data, so with Sitecore 7 the concept was changed. The data is still stored in databases and tables, but now the focus is to use it from indexes by taking the old and simple implementation of Lucene, to a provider model, with a much more powerful API, supporting not only a newest version of Lucene, but a much more scalable SOLR. Second problem solved: Manage any amount of content.

Sitecore 7.2 came as a treat for developers, with some of the features the community had been demanding, like parallel publish.

What problem will Sitecore solve next? How to store huge amount of user’s interactions and process it quick enough to provide that perfect piece of content, in that right moment. The solution? The experience database coming in Sitecore 7.5: A combination of a mongoDB database, moving from the relational database of DMS, to a NOSQL database where to store massive amounts of data quickly and really fast read access to the original document (yes to the original document no more mappers). This data is queued and processed, with the well known pipelines that we can (must) extend to transform this to a data warehouse for reporting services. We will be able to manage our own experience database, but Sitecore will provide the option to host it for us (Apparently on Azure).

The next challenge: make it look good. The desktop, content tree, etc. was an amazing UI years ago, but completely outdated nowadays. With Sitecore 7, SPEAK came to life, and Sitecore 8 has been a rebuild on top of it, providing a new fresh, modern UI, with a real API, following the latest patterns and practices. So there´s no doubt, we need to learn SPEAK and we have to do it now.

More?

  • Personalised content is based on predefined rules (for this type of user, use this data), but that means marketers must guest who theirs users are, and explicitly decide what content to show. Now with the Skynet project, Sitecore is able to process all that amount of data of the experience database and use the latest Machine learning system and data models to automatically suggest and apply new rules. This means, finally Sitecore will decide on the fly the perfect content for the each user at this specific moment.
  • A/B testing: every time for everything. Testing your content is not trivial anymore. Sitecore is moving towards a culture of testing everything, and learning from the test and from the different editors to predict the results and improve the personalisation. Editor will be ranked based on their predictions, not only to make it funnier, but to include these results in the learning models. Do not test for a certain amount of time of visit, now you can test until the system is sure that the results are valid, letting you decide “how much sure”.
  • Understanding the actions of your users is vital to guide them toward your goals. The new path analyser implements an event sequence analyser model integrated with Machine learning services to represent graphically the different actions of clients, representing the common paths and their values through the content, helping you to understand your users and implementing the necessary changes to guide them towards your goals.
  • Dynamically segmented recipient list for ECM. Forget about sending emails to everybody in a recipient list or having to filter them manually, or with custom code. The next version will use the new power of Sitecore to let you segment your recipient list on the fly.
  • eCommerce integration  usually based on an eCommerce platform having to integrate their API with the Sitecore API, so when you have to implement it and extend it, it means you have to use both of them, the best you can. Sitecore has changed this, introducing the Sitecore commerce connector. Now Sitecore provides a commerce provider definition, which the different eCommerce solutions have to follow to integrate with Sitecore, meaning that no matter which solution you use, it will be managed with the same API.

Are you not convinced yet Sitecore is not just a CMS?

What if I tell you that you can use all the power described above to track and inject content or functionality into any other website? No matter if it’s a static html, java, php, .net… with the new Federated experience manager and the experience editor, you’ll be able to edit any site, and use it to track users and fill the experience database and learn from them, inject content, inject personalised content, etc. and just with a line of JavaScript.

One thing is clear, we’ve a big challenge ahead of us: NoSQL databases, indexes, reporting services, cloud computing, machine learning services, event sequence analysers, data models, MVVM, JavaScript. Are you ready to take it?

Posted in Customer Engagement Platform, Sitecore | Tagged , , | Leave a comment

9 things I learnt from the Sitecore 8 Symposium in Barcelona

9 things I learnt from the Sitecore 8 Symposium in Barcelona

by Alan Yip, Senior Sitecore Consultant@ClearPeople

The symposium showcased a lot of new features in Sitecore 8 and I was privileged to be part of the devoted crowd witnessing something of a new age in the CMS platform.

The main focus of Sitecore 8 is around experience, and this covers all aspects of experience from the developer through to the content editor – and of course an even more improved experience for the end user.

I want to share some of this insight with you that focuses on the main highlights that were covered in the sessions I attended, from a developer’s perspective.

1. Building the Sitecore Experience Platform

This covered areas in how Sitecore was built; where 7.5 was about laying the foundations of the data storage Version 8 focuses on the functional foundation.

The highlighted points:

  • Sitecore Commerce Server with Commerce Connect. This would be the main eCommerce connector which other third-party eCommerce partners like uCommerce would use to integrate into the new experience platform
  • Sitecore Print Experience which is the next version of APS (Adaptive Print Studio).
  • Sitecore Social which is powered by the newly acquired Komfo
  • Sitecore Federated Experience which enables the ability to personalise external sites not powered by Sitecore
  • Sitecore 8 focuses on 3 main experience areas for the editor: Experience collection; management; and optimisation

2. Developers aren’t marketers, but how can we coexist?

Marketers and developers have always worked closely together and it is often the case that we are always restricted by either the technology or fulfilling marketing requirements to its full potential.

This session focused on how we could use the technology to enhance this:

  • Personas and profiles are created by marketers and there is always some kind of assumptions being made about these
  • Create a tool which can analyse data in the Experience database (also known as xDB)
  • Compare profiles created by the marketing team against data stored in the xDB
  • Expose new profiles where a match is not found

3. Extending the experience profile

One of the most important aspects of the DMS in previous versions of Sitecore was the profile of a user. There was never enough data collected out-of-the-box which made the build phase time consuming.

Sitecore 8 now collects all this information a lot easier and even better, there is so much of this data that the new experience framework allows you to easily expose this new information.

This session focused on how we can extend this profile:

  • Easily segment and personalise the experience profile
  • Configure the service layer together with custom aggregation of data and expose this
  • Bind your data to a UI of your choice easily
  • Fully customisable views built via pipelines or even JSON

sitecore symposium

4. Sitecore 8 – New reporting services and custom aggregations

The symposium released a mobile site during its launch which we could all access via our mobiles and start to personalise our schedules for the sessions ourselves. What we didn’t realise was that it was built on the xDB platform.

The following is a list of highlights that inspired the build:

  • The site was built on the Sitecore MVC framework, xDB and jQuery HTML5 mobile framework
  • The theme of the mobile site was to collect, connect, analyse and utilise
  • Information collected via social data, on-site interactions, device detection interactions, etc.
  • The site connected with sources like scans made against our badges, custom aggregation of browser detection, social interaction returning information back into the session, etc.
  • Analysed traffic, social interactions, links, etc.
  • Utilise all this information and feed this back into the analytics database, used to further enhance the site by using the new Experience Optimisation tool, etc.

5. Sitecore X-Developer class 101

This was an overview of how you would develop against the all-new Sitecore 8 platform and this session covered the following areas for a hypothetical scenario:

  • A report was needed with a load of pretty charts
  • The REST API was used to pass JSON to the client and then using dc.js, render this into beautiful charts
  • A showcase of how easy it is to build experience analytics
  • An overview of the Path Analyzer which details pages that a visitor visited and a traffic light like system showing how engaged a visitor is during their journey

6. Skynet will change the way you work with content

This session was probably the most complex which covered the Experience Optimisation dashboard and how the underlying framework works. The following areas were covered:

  • Always test everything
  • Workflow approval step which includes testing
  • Integrate with Machine Learning
  • The engine is built upon statistical rules, intelligence engine, pipelines, etc.
  • Experience Optimisation dashboard gave the ability for users to check whether authors made a good guess on how successful a piece of content would be
  • Tuning and configuring the engine with statistical rules, algorithms, etc.
  • Automating personalisation rules

sitecore sym 1

7. The power of a single customer experience

This was an overview of the whole basis of where Sitecore 8 came from and how it evolved. It covered such areas like:

  • Interaction with brand engagement, predicting your customer and knowing your customer
  • The problems faced which included things like multiple channels, the experience database
  • Where the system would engage, e.g. social, web, email, offline, etc.
  • Customer experience based on goals
  • xDB is to collect, aggregate and analyse data

8. Tracking your users activity on your non-Sitecore sites

This is FxM (Federated Experience Manager) which enables us to track and personalise external websites not on the Sitecore platform. It covered the following areas:

  • The analytics is essentially the same analytics that Sitecore sites run against
  • The ability to attach button events to track click events
  • The ability to add placeholders on the external site and add your own sublayout to these
  • Personalise this content in the same way as you would any Sitecore site
  • Redesign and personalise parts of the site via the Page Editor

9. Understanding the Sitecore Architecture

This session covered the Sitecore architecture and how it has evolved and how the underlying structure doesn’t need to change much even with such huge changes elsewhere. The following areas were covered:

  • Architecture is based on a layer perspective
  • Modules can be installed via places like the Marketplace
  • 4 core layers covering the render engine, analytics data, CMS application layer and the data layer
  • Same architecture is used for an MVC site, a mobile site and the backend UI
  • The experience database which is released with Sitecore 7.5 which laid the foundations for capturing large amounts of data
  • Scalable architecture based on the ability to scale content, analytics and delivery

You can download the Sitecore 8 whitepaper ‘Simplifying the extraordinary’ here.

Posted in Customer Experience, Sitecore | Tagged , | Leave a comment

Pro-active approach to provide support for Sitecore applications

Pro-active approach to provide support for Sitecore applications

by Ravikiran Gokaraju Senior Sitecore Developer@ClearPeople

Monitoring Sitecore applications is an absolute necessity if we need to pro-actively deal with issues that occur on applications before the client reports them. Sitecore does log everything to log files using Log4Net, which is really useful for monitoring the application health. But the issue is we need to somehow automate the log files analysis to find the right information from the logs which are quite descriptive and provide a way to send alerts to the support team when it finds any errors. Also it should be easy to configure the tool so that it gets the exact information we would like to see.

The list tasks the monitoring tool should perform at a bare minimum to monitor the Sitecore applications are:

  • Analyse the Sitecore logs to get the list of all log entries
  • Group them based on the Log level
  • Ability to only analyse the log files within a certain time range, as there might be several log files
  • Ability to configure what log level to look for

For example, we should be able to configure the tool to get all the Errors that occurred within the last two hours and send alerts to a configurable list of persons.

The alerts could be just normal e-mail alerts (in case of intranets, these are not publically visible) or a web page highlighting the recent errors that occurred (we can then configure tools like PingDom, Periscope etc., to look for particular text on the Error page and send alerts).

Diagnostics Module:
I have been working on creating a Sitecore module for monitoring Sitecore applications to try to achieve this. The module is available on Sitecore Market Place (https://marketplace.sitecore.net/Modules/CP_Diagnostics_-_Log_Analyzer_Scheduled_Task.aspx) and the source code is available on GitHub (https://github.com/RavikiranGokaraju/Sitecore.Diagnostics/)

This module enables the easy setup of a Sitecore scheduled task which will analyse the Sitecore log entries created during a time frame and sends an email with the log entries found with a specific log level to recipients. The time frame, log level, recipients are all configurable.

Follow these steps to setup the module:

  • Download and Install the Sitecore package
  • Rename the config file from “CP.Diagnostics.Sitecore.LogAnalyzerTask.config.example” to “CP.Diagnostics.Sitecore.LogAnalyzerTask.config”.
  • Update the config file with settings appropriate to your Sitecore instance (See comments in the config file for more detail)
  • Restart the Sitecore application

I am still working on improving this module to add more functionality, to allow filtering the log entries based on a regular expression which might be helpful if you are looking for a specific entry and add an Error listing page which can be used by other web monitoring tools and for getting the required information from Sitecore logs easily.

I will keep you posted on any improvements for this module.

Posted in Sitecore, Sitecore Modules | Tagged , | Leave a comment