sitecore technical considerations & partner onboarding

33
Sitecore Partner On- Boarding & Implementation Consideration Author // Jerry Nott ([email protected]) Version // 1.0 Language // en-gb Date // 16/02/2015

Upload: jeremy-jerry-norman-nott

Post on 16-Aug-2015

153 views

Category:

Technology


8 download

TRANSCRIPT

Sitecore Partner On-Boarding & Implementation Consideration

Author // Jerry Nott ([email protected])

Version // 1.0

Language // en-gb

Date // 16/02/2015

2

Sitecore Partner On-Boarding & Implementation Consideration

Contents 1. Introduction ...................................................................................................................... 5

1.1. Document Release History ............................................................................................ 5

1.2. Sitecore Overview ......................................................................................................... 5

2. Partner Overview .............................................................................................................. 6

2.1. MVPs ............................................................................................................................. 6

2.1.1. Technology MVP ........................................................................................................ 6

2.1.2. Digital Strategist MVP ................................................................................................ 6

3. Sitecore Enablement ........................................................................................................ 7

3.1. Sitecore Training ........................................................................................................... 7

3.1.1. Marketing & Content Authoring Training................................................................... 7

3.1.2. Technical Training ...................................................................................................... 8

3.2. Sitecore Support ........................................................................................................... 9

3.2.1. The support portal ...................................................................................................... 9

3.2.2. Support escalation ..................................................................................................... 9

3.2.3. Sitecore Priority Support ............................................................................................ 9

3.3. Sitecore Enablement Services ....................................................................................... 9

3.3.1. Technical Service Assistance ...................................................................................... 9

3.3.2. Full Project Review (Technical)................................................................................. 10

3.3.3. Sitecore Business Optimisation Services (SBOS) ..................................................... 11

3.4. Sitecore Resources & Documentation ......................................................................... 11

3.4.1. Sitecore .Net ............................................................................................................ 11

3.4.2. Sitecore Developer Network .................................................................................... 11

3.4.3. Sitecore 8 Developer Portal ..................................................................................... 12

3.4.4. Sitecore 8 Documentation Portal ............................................................................. 12

3.4.5. Sitecore Partner Network ........................................................................................ 12

3.4.6. Sitecore Knowledgebase .......................................................................................... 13

3.4.7. Sitecore Marketplace ............................................................................................... 13

3.4.8. Learn Sitecore – CMS University .............................................................................. 13

3.4.9. External Resources Listed on GitHub ....................................................................... 13

4. Sitecore Development Considerations ........................................................................... 14

4.1. Sitecore content version control strategies? ............................................................... 14

3

Sitecore Partner On-Boarding & Implementation Consideration

4.1.1. Team Developer for Sitecore (TDS) ......................................................................... 14

4.1.2. Sitecore Developer Toolkit ....................................................................................... 14

4.1.3. Sitecore Packages .................................................................................................... 14

4.1.4. Sitecore Courier ....................................................................................................... 14

4.2. Sitecore Rocks ............................................................................................................. 15

4.3. Sitecore setup.............................................................................................................. 15

4.3.1. Sitecore Instance Manager (SIM) ............................................................................. 15

4.3.2. Sitecore Installer ...................................................................................................... 15

4.3.3. Sitecore Rocks installer ............................................................................................ 15

4.3.4. Manually Installing Sitecore ..................................................................................... 15

4.4. Which Sitecore Framework to use? ............................................................................. 16

4.4.1. ASP.Net Web Forms ................................................................................................ 16

4.4.2. ASP.Net MVC ........................................................................................................... 16

4.4.3. XSLT ......................................................................................................................... 16

4.4.4. ASP.Net Web Forms MVP ........................................................................................ 16

4.4.5. Front End Development Technologies ..................................................................... 16

4.5. Sitecore Data Access – Manual, Item Mapper, Glass, ORM? ....................................... 17

4.5.1. Glass Mapper............................................................................................................ 17

4.5.2. Items Generator ....................................................................................................... 17

4.5.3. Domain Objects ....................................................................................................... 17

4.6. Search Providers. Lucene vs Solr vs Coveo .................................................................. 17

4.6.1. Lucene ...................................................................................................................... 18

4.6.2. Solr ........................................................................................................................... 18

4.6.3. Coveo ....................................................................................................................... 18

4.6.4. Site search ................................................................................................................ 19

4.7. Multiple Website Options ............................................................................................ 19

4.7.1. Sitecore Foundry ...................................................................................................... 19

4.7.2. Sitecore Multi-Site ................................................................................................... 19

4.7.3. Multiple Sitecore Installations .................................................................................. 20

4.8. Software Development Recommendations ................................................................ 20

4.8.1. Data Sources, Placeholders and Page Editor............................................................ 20

4.8.2. Separation of custom code from Sitecore ................................................................ 20

4

Sitecore Partner On-Boarding & Implementation Consideration

4.8.3. Patch configuration files .......................................................................................... 21

4.8.4. Don’t use the admin account .................................................................................... 21

4.8.5. Versioning and Workflow ......................................................................................... 21

4.8.6. Sitecore Config Builder ............................................................................................ 21

4.8.7. Log Analyser ............................................................................................................ 22

5. Sitecore Technology Stack ............................................................................................. 23

5.1. ASP.Net ....................................................................................................................... 23

5.2. MS-SQL ....................................................................................................................... 23

5.3. xDB & MongoDB ......................................................................................................... 23

6. Sitecore Add-ons and Resources .................................................................................... 24

6.1. Demo Sites .................................................................................................................. 24

6.1.1. Launch Sitecore ....................................................................................................... 24

6.1.2. Jetstream (for partners only) .................................................................................... 24

6.1.3. Sitecore CMS for Government Websites .................................................................. 24

6.1.4. Sitecore with MVC 4 ................................................................................................. 24

6.1.5. Request a Sitecore demonstration session............................................................... 24

6.2. Sitecore Modules and Add-ons .................................................................................... 25

6.2.1. Sitecore supported modules .................................................................................... 25

6.2.2. Sitecore Marketplace ............................................................................................... 25

6.2.3. The community ........................................................................................................ 25

7. Sitecore Environment & Infrastructure ........................................................................... 26

7.1. Infrastructure options .................................................................................................. 26

7.2. Development environments ........................................................................................ 26

7.3. Test Environments ...................................................................................................... 26

7.4. Infrastructure Requirements ....................................................................................... 26

7.5. Sitecore Server Roles................................................................................................... 26

7.6. Sitecore Infrastructure Examples ................................................................................ 29

7.6.1. 1x Management, 2x Delivery .................................................................................... 29

7.6.2. 2xManagment, 4xDelivery (2 Regions)..................................................................... 30

7.6.3. Sitecore using Azure Platform as a Service (PaaS) ................................................... 30

8. Product Names, Abbreviations & Previous Names ......................................................... 31

5

Sitecore Partner On-Boarding & Implementation Consideration

1. Introduction

This document is intended for Sitecore Partners and Developers to provide a broad overview of the

feature, technologies and methodologies that should be considered before and during the

implementation of any Sitecore project.

Due to the broad coverage this document is restricted to high level consideration and ideas. The aim of

this document is to enable Sitecore Partners to be informed and armed to make informed decisions in

pursuit of streamlined implementations that maximise profitability and customer satisfaction.

1.1. Document Release History

Version Date Author Details

1 07/Jan/2015 Jerry Nott – [email protected]

Sitecore Technical Partner Manager,

Strategic Alliances, ANZ

Initial Version

1.2. Sitecore Overview

Sitecore is the global leader in customer experience management software. The company delivers

highly relevant content and personalized digital experiences that delight audiences, build loyalty and

drive revenue. With Sitecore’s experience platform, marketers can own the experience of every

customer that engages with their brand, across every channel. More than 3,500 of the world’s leading

brands – including American Express, Carnival Cruise Lines, EasyJet, Mi9 (NineMSN), Channel10 and

AGL – trust Sitecore to help them deliver the meaningful interactions that win customers for life.

http://www.sitecore.net/

6

Sitecore Partner On-Boarding & Implementation Consideration

2. Partner Overview

Sitecore’s business strategy is predicated upon success with our Partners and their ability to deliver

valued services, including a range of strategic, creative and technical implementation value added

services. We believe Sitecore provides the highest degree of Partner loyalty in the web CMS industry

because we champion our partner’s services, and do not compete with them with any professional

services.

2.1. MVPs

Each year, the Sitecore Most Valuable Professional (MVP) Awards recognize individuals with a passion

for sharing their Sitecore knowledge and expertise through active participation in online and offline

communities. The MVP Award celebrates the most active Sitecore members from around the world

who provide valuable expertise that enriches the community and makes a difference.

There are two types of MVP, Technology MVP and Digital Strategy MVP. For details of how to apply

see: http://www.sitecore.net/Events/Public-MVP-site/Become-an-MVP.aspx

2.1.1. Technology MVP

The Technology MVP award is being awarded to individuals who are actively participating in online and

offline communities and events. They share their expertise and experience through different types of

media with other partners and customers all around the globe.

2.1.2. Digital Strategist MVP

The Sitecore Digital Strategist MVP Award is for individuals with strong experience with data driven marketing,

who have experience on how to use Sitecore Experience Platform to drive business results.

7

Sitecore Partner On-Boarding & Implementation Consideration

3. Sitecore Enablement

Sitecore enablement is covered in three ways, Sitecore Training, Sitecore online support and in person

Sitecore services. These are explained in detail in this section.

3.1. Sitecore Training

All Sitecore training is delivered by Sitecore Certified Trainers at a variety of locations around Australia

and New Zealand. Nearly all Sitecore courses include a certification test that must be passed for

certification to be granted.

Having an allocated number of Sitecore certified staff is a prerequisite for being a Sitecore Partner.

Research has shown us that Partners that utilise Sitecore training for a high percentage of their staff

produce the most successful results in terms of project ROI and customer satisfaction.

The latest information on Sitecore Training can be found here:

http://www.sitecore.net/Services-and-Support/Training.aspx

3.1.1.Marketing & Content Authoring Training

The following lists courses that are suitable for the business users such as content authors, marketers,

strategic website planners and non-technical Sitecore users:

Business Users

This group includes content authors and marketers. Courses that should be considered include Sitecore

Experience Platform Advanced User and Experience Marketing.

Advanced User

Master web content management with Sitecore CMS. Using the Sitecore Training Sample Site, learn

how to create and edit content, manage media, implement workflows, view security settings, perform

basic system maintenance, and publish. This hands-on, advanced user course features live

demonstrations, formal reviews, questions and answers, and guided student exercises.

Marketing Fundamentals

This course is designed to help you get started using the Sitecore Digital Marketing System (DMS) to

optimise your digital outcomes. You will learn about the basic tools of the DMS, how to use them and

why you should use them to optimise your digital outcomes and the processes involved in doing so. The

course features live demonstrations, formal reviews, questions and answers and guided student

exercises. Advanced User is strongly recommended before attending this course.

8

Sitecore Partner On-Boarding & Implementation Consideration

3.1.2.Technical Training

Technical - Website .Net Developer

This hands-on course is for Developers who want to create customized solutions using Sitecore CEP.

This course teaches students how to work with the Sitecore API. This is a four (4) day course where

students will achieve Sitecore 7 Professional Developer Certification.

Technical – Front End Developer

This 2 day course teaches learners how to work as an effective front-end developer on a Sitecore project

by adapting existing skills and practices to suit a content managed environment.

Advanced .Net Developer

Master advanced concepts and techniques for building winning website solutions with Sitecore CMS,

Visual Studio, and Sitecore Rocks! This Advanced .NET Developer course features live demonstrations,

formal reviews, questions and answers, guided student exercises, and a graded exam. Designed to help

you achieve mastery of Sitecore CMS advanced development practices, only Sitecore Certified Trainers

deliver Sitecore CMS Advanced .NET Developer training.

Technical - DMS .Net Developer

Master concepts and techniques for building winning marketing automation website solutions with

Sitecore Digital Marketing System (DMS) and Visual Studio 2012. The DMS .NET Developer course

features live demonstrations, formal reviews, questions and answers, and guided student exercises.

Designed to help you achieve mastery of Sitecore DMS development practices, only Sitecore Certified

Trainers deliver Sitecore DMS .NET Developer training.

Technical - System Administrator

This web delivered system administrator course features instructor led formal reviews and questions

and answers. Topics discussed include installation and configuration of Sitecore along with security

hardening and scaling as well as an introduction to integrating with Active Directory.

Sitecore Security Administrator

This course covers security concepts, tools, and tasks required for security administration. This web

delivered security administrator course features live demonstrations, formal reviews, and questions and

answers.

9

Sitecore Partner On-Boarding & Implementation Consideration

3.2. Sitecore Support

Sitecore offers all Partners and certified developers access to the Sitecore support portal and there is

additional paid-for premium support available if required.

3.2.1.The support portal

All implementation issues should be logged through the Sitecore support portal as a first step. The very

knowledgeable Sitecore support team will respond within 24hours (and often within just a few hours).

Sitecore support is accessed using your SDN email and password and can be found here:

http://support.sitecore.net/.

For information on using Sitecore support and submitting tickets see:

http://sdn.sitecore.net/support.aspx.

Sitecore is committed to responding to a help desk issues within one business day. However, the time

until a solution can be prescribed for a problem will vary, depending on the complexity of the technical

issue and/or the involvement of third party vendors and / or other factors.

3.2.2. Support escalation

Implementation issues that have been submitted to support for more than 24 hours without resolution

can be escalated to your local Sitecore Account Manager (Customer Success Manager).

3.2.3.Sitecore Priority Support

Sitecore offers priority support services. These need to be arranged and purchased through the local

Sitecore Account Manager. These include

- Sitecore Priority Support

- Sitecore 24/7 Support

3.3.Sitecore Enablement Services

3.3.1. Technical Service Assistance

Sitecore’s Proactive Support and Technical Consulting services are designed to provide Sitecore

Solution Partners with deep technical skills and experience to ensure project success. Designed to

support your project team, these services are focused on providing implementation guidance and

technical assurance via a series of reviews, checkpoints and practical assistance services. The services

10

Sitecore Partner On-Boarding & Implementation Consideration

can be carried out on site at a client’s office, partners office or remotely and is undertaken by Sitecore

Architects.

Sitecore recommends that Partners use Sitecore service during the planning, development and go-live

phases of the project. For Partners that have not completed many Sitecore projects it is recommended

to engage in a “blended team” approach where Sitecore services are used on a weekly basis for the

initial development stages of the project.

The below outlines some of the tasks that can be carried out as part of a Technical Service Assistance:

Sitecore feature integration

Sitecore module installation and configuration (Email, Print, Forms etc)

Development best practises and methodologies

Development troubleshooting

Sitecore architecture

Optimisation and performance tuning

Development assistance

A sub section of the Full Project Review (see below)

3.3.2.Full Project Review (Technical)

A Sitecore Project Review is a technical assessment of a Sitecore implementation that is carried out

over 4-5 days by a Senior Sitecore Architect. The deliverable is a comprehensive document that

contains a technical audit of the implementation; this covers technical best practises as well as health

checks and a future-proofing assessment.

Details of individual improvements are provided with a recommended solution for each that can be

given to the development team or client. The assessment is split into the following top level sections:

System Architecture

Sitecore Architecture

Solution Review

Performance

Security

DMS

11

Sitecore Partner On-Boarding & Implementation Consideration

3.3.3. Sitecore Business Optimisation Services (SBOS)

There is no doubt that the Sitecore Digital Marketing System delivers powerful marketing results - both

from a perspective of delivering vastly superior customer and brand experiences; as well as driving

bottom line business benefit. It is also true to state that this is a very different world than the traditional

planning and implementation of Content Management Systems that do not offer advanced customer

engagement capabilities.

As such Sitecore has generated a methodology for achieving excellent business results, along with a

series of consultancy based workshops that guide our customers through each step of the journey as

they evolve their websites and digital marketing capabilities towards true customer engagement,

marketing automation and business intelligence engines.

The services are aimed at both our partners, who may elect to run a “blended team” approach with

Sitecore SBOS consultants as part of client interactions; or can be delivered “standalone” to those

customers who develop and implement in-house without a partner.

Sitecore Business Optimisation Services delivers two major outcomes:

Sitecore’s Business Optimisation Services focus on enabling partners to maximize the return on

investment for their customers by enabling them to generate significant, quantifiable business

value using the Sitecore Customer Engagement Platform.

Sitecore Business Optimisation Services focusses on establishing the Digital Maturity of the

customer organisation, identifying where the customer would like to be and then developing

practical plans for achieving that vision.

3.4. Sitecore Resources & Documentation

Sitecore offers a range of resources that Partners should be familiar with. These are outlined below:

3.4.1. Sitecore .Net

Sitecore.net is the corporate website containing top level information on all Sitecore offerings. See:

www.sitecore.net

3.4.2. Sitecore Developer Network

Each of the developers who have been through, and passed the developer training will have access to the Sitecore Developer Network (SDN). This is an invaluable resource as it provides information on the various Sitecore version, products, modules and access to the Sitecore Support portal.

12

Sitecore Partner On-Boarding & Implementation Consideration

It is strongly recommended that some time is spent getting familiar with the SDN as there are many

modules that will provide out of the box access too many commonly asked for components. One such

example is the Web Forms for Marketers (WFFM) module, this module allows for the rapid development

of web forms by marketers or content authors, without the need for a developer (assuming there isn’t a

requirement for complex business logic to be applied to the form).

As a baseline, the following modules should be investigated as they either provide functionality that is often requested, or aid developers when building Sitecore related content.

Web Forms for Marketers

E-Mail Campaign Manger

SPEAK

Print Experience Manager

DMS / xDB

There are a number of other modules on the SDN, covering everything with integration to Active Directory (AD) through to generating print media from your site via Adaptive Print Studio (APS). The above modules are referenced as they represent a good starting point. http://sdn.sitecore.net

3.4.3. Sitecore 8 Developer Portal

This is the new location for developer material previously found on SDN

https://dev.sitecore.net/

3.4.4. Sitecore 8 Documentation Portal

This is the new location for Sitecore 8+ documentation

https://doc.sitecore.net/

3.4.5. Sitecore Partner Network

Sitecore runs the Sitecore Partner Network (SPN), the goal of this network is to allow you to work with

Sitecore when developing contacts, leads and working with the consulting team to build innovative

Sitecore solutions. This is also where Partners can generate Sitecore license keys.

http://spn.sitecore.net

13

Sitecore Partner On-Boarding & Implementation Consideration

3.4.6. Sitecore Knowledgebase

The Sitecore knowledgebase contains up-to-date and useful information for Sitecore developers. Know

product issues, work-arounds and commonly asked support solutions are all documented here.

http://kb.sitecore.net

3.4.7. Sitecore Marketplace

The Sitecore marketplace contains community modules that can be reused in projects. Sitecore

partners are encouraged to contribute to this site too. Several of these modules are supported by

Sitecore and marked as such.

https://marketplace.sitecore.net/

3.4.8. Learn Sitecore – CMS University

The site brings you in-depth articles and knowledge about Sitecore no matter if you are a developer,

editor, architect or server administrator.

http://learnsitecore.cmsuniverse.net/

3.4.9. External Resources Listed on GitHub

Sitecore has an enormous community and resources available for developers, marketers and managers to embrace. The following page contains links to many of these useful resources: http://sitecore-community.github.io/docs/documentation/Search/index.html

14

Sitecore Partner On-Boarding & Implementation Consideration

4. Sitecore Development Considerations

This section of the document outlines some areas to consider when embarking on Sitecore

development. The Sitecore development platform is evolving and it’s important for Partners to have

lead architects that understand and consider all of the following topics.

4.1. Sitecore content version control strategies?

Sitecore stores all content and some functionality as Sitecore Items that are persisted to a SQL

database. The process of persisting database changes into and out of source control can be achieved in

a few commonly recommended ways. See details of three of these options below.

4.1.1. Team Developer for Sitecore (TDS)

Team Development for Sitecore (TDS) brings all of your Sitecore objects into Visual Studio as serialised

items that can be stored in source control as required. This sophisticated tool provides complete

integration and a comprehensive set of tools, proves very popular with developers. TDS costs

approximately $600/seat. See: http://www.hhogdev.com/products/team-development-for-

sitecore/overview.aspx

4.1.2. Sitecore Developer Toolkit

A less complete approach to serialising Sitecore Items that TDS is achieved using the Sitecore

Developer Toolkit. This toolkit taps into Item events to manage the creation, deletion and moving of

Sitecore Items using Sitecore’s native serialisation capability. This is a free module on the Sitecore

marketplace and can be found here:

https://marketplace.sitecore.net/en/Modules/Sitecore_Development_Toolkit.aspx

4.1.3. Sitecore Packages

Sitecore packages are standardised ZIP files that can be used to export and import files, Sitecore Items

and configurations into and out of Sitecore instances. Sitecore packages can therefore be used as

mechanism for persisting Sitecore database changes. This approach is often undertaken by small teams

and does require a high level of developer due diligence. Although this approach is the easiest to setup

this approach also carries the highest level of risk.

4.1.4. Sitecore Courier

Courier lets you build Sitecore Update packages automatically, by analyzing serialized Sitecore items

and packaging only changed items. The module can be installed as a Sitecore package, or used in build

system with simple .exe runner.

15

Sitecore Partner On-Boarding & Implementation Consideration

https://github.com/adoprog/Sitecore-Courier

4.2. Sitecore Rocks

Sitecore Rocks integrates directly with Microsoft Visual Studio 2010+ and gives developers a fast &

streamlined experience. Rocks has many features that make development streamlined, including the

capability to manage Sitecore content side-by-side with code in Visual Studio.

Unlike most development option, Sitecore developers unanimously use Visual Studio and Sitecore

Rocks.

See: https://visualstudiogallery.msdn.microsoft.com/44a26c88-83a7-46f6-903c-5c59bcd3d35b/

4.3. Sitecore setup

Creation of Sitecore environment in development, testing and production can be achieved in many

ways. A fully fledged continuous integration (CI) setup is the ideal setup and the goal of all partners. The

following tools can be used as part of a CI environment and are useful initially for developer setup and

rapid Sitecore installation scenarios.

4.3.1. Sitecore Instance Manager (SIM)

SIM is a windows application that can be used to automatically setup local Sitecore instance in a matter

of minutes. SIM automates the setup of a local Sitecore instance by configuring the IIS website, making

the required configuration changes, restoring the databases and installing the modules.

See: https://marketplace.sitecore.net/Modules/Sitecore_Instance_Manager.aspx?sc_lang=en

4.3.2. Sitecore Installer

An obsolete tool for easy and rapid installation of Sitecore and modules. SIM is now used instead.

https://marketplace.sitecore.net/en/Modules/Sitecore_Installer.aspx

4.3.3. Sitecore Rocks installer

Local Sitecore instance can be installed using Sitecore Rocks. Before SIM this was the best option for

local deployments and is still widely used as Sitecore Rocks is almost always installed by developers for

its plethora of other features.

4.3.4. Manually Installing Sitecore

Sitecore can be configured locally my manually unzipping the website files, restoring the databases and

configuring the application as documented in the release notes. Most Sitecore releases also contain a

Sitecore Installer Executable that can be used in a similar manner.

16

Sitecore Partner On-Boarding & Implementation Consideration

4.4. Which Sitecore Framework to use?

One of the first considerations when starting a Sitecore project is whether to use Sitecore MVC or stick

with the traditional Sitecore Web Forms approach. Sitecore supports both MVC and Web Forms.

4.4.1. ASP.Net Web Forms

Sitecore default framework is Web Forms; and this tried and tested approach to Sitecore development

still proves popular and successful. The majority of Sitecore documentation and demonstrations are

done using Web Forms.

4.4.2. ASP.Net MVC

Sitecore v6.6 and onwards have supported MVC development. This popular and framework allows for

easy separation of logical concerns and proves most popular with developers and attracting new

developers.

4.4.3. XSLT

Sitecore supports the XSLT renderings. Many partners choose not to use XSLT, but existing projects will

often contain XSLT and an understanding of this technology is valuable. XSLT is prone to performance

issues and complicated code that can hinder maintenance.

4.4.4. ASP.Net Web Forms MVP

Web Forms MVP is a simple Model-View-Presenter framework for ASP.NET Web Forms. This approach

solves many of MVC features in a WebForms setup. This is very popular and details of this can be seen

here: https://github.com/webformsmvp/webformsmvp/blob/master/README.md

4.4.5. Front End Development Technologies

Sitecore can be successfully developed using any number of front end technologies, such as

Foundation. Bootstrap, Backbone, JQuery. Sitecore’s editing controls run server side, this needs to be

conspired when using client side tinplating (ie moustache). Running scripts in no-conflict mode is

recommended so that the front-end scripts (ie JQuery) do not adversely affect Page Editor.

17

Sitecore Partner On-Boarding & Implementation Consideration

4.5. Sitecore Data Access – Manual, Item Mapper, Glass, ORM?

Data in Sitecore is stored and accessed through Items. The code required to surface this data can be

done by requesting the relevant item and then pulling the data using a hard coded key-value

relationship. For example:

var dataSourceItem = Sitecore.Context.Database.GetItem(((Sublayout) Parent).DataSource);

string data1 = dataSourceItem[“title_key”];

There are Mappers and ORMs that model Sitecore templates and make Sitecore development more

efficient and robust. These prevent template changes from breaking the code by introduction strongly

types CRUD operations, so the code above would become:

string data1 = Model.TitleKey;

Please note that Sitecore does not support or develop any of the following ORM options/

4.5.1. Glass Mapper

Glass Mapper allows you to move your data from Sitecore and into your code seamlessly using strongly

typed objects. Glass is a popular and easily configured approach to this that also integrates with TDS.

There are many derivatives such as MVC and this is successfully implemented ORM for many partners.

http://glass.lu/

4.5.2. Items Generator

An open source initiative that allows developers to code against generated template classes.

http://marketplace.sitecore.net/en/Modules/Custom_Item_Generator.aspx

4.5.3. Domain Objects

It's a tool for Sitecore developers to make tasks relating to Sitecore data and Sitecore data storage

easier, by facilitating a "cleaner" interface between the business domain and the Sitecore domain.

https://marketplace.sitecore.net/en/Modules/Domain_Objects.aspx

4.6. Search Providers. Lucene vs Solr vs Coveo

In Sitecore it is generally very easy to switch from one search provider to another, and by developing

Sitecore search queries against the abstracted interfaces using the Sitecore Predicate builder (LINQ),

the underlying provider is abstracted from the developer. See:

18

Sitecore Partner On-Boarding & Implementation Consideration

http://www.sitecore.net/Learn/Blogs/Technical-Blogs/Sitecore-7-Development-

Team/Posts/2013/05/Sitecore-7-Predicate-Builder.aspx

4.6.1. Lucene

Lucene.Net is the default installed search provider and this is the most commonly used across projects.

Lucene.Net is wrapper for the apache lucene provider that provides fast and realiable search for millions

of sites. Some key facts:

- It is tried and tested on most Sitecore implementation

- It’s FREE

- It’s supported by Sitecore

- It does not require additional infrastructure or technology

- Lucene.Net is usually 2 or 3 major releases behind the Java base release

- There is no user interface, LUKE is the most commonly used UI tool

4.6.2. Solr

Solr powers the search and navigation features of many of the world's largest internet sites and is a

popular choice for larger Sitecore implementation. Some of the key benefits are:

- It’s a distributed search provider meaning only a single index needs to be managed

- It’s a Java app but can be run on Windows

- It’s FREE

- It comes with a basic user interface.

- It’s designed to handle large amounts of content better than Lucene

- It can be scaled independently of the delivery servers

- It’s supported by Sitecore

http://lucene.apache.org/solr/

4.6.3. Coveo

Coveo is an enterprise search provider that has deep integration with Sitecore. A reduced functionality

version of Coveo is free to all Sitecore license holders. The key benefits of the full version are

- Enterprise-grade Search UI

- Re-usable components and framework

- Faceted Search and Navigation

- Has enterprise licensing

- Early-binding security – to increase performance

- Does not have DMS integration

19

Sitecore Partner On-Boarding & Implementation Consideration

- Is Free for some Enterprise Sitecore license holders

- Has facility to comprehensively index documents (Lucene and Solr require customisation to do

this)

http://www.sitecore.net/Partners/Find-Partner/Technology-Partners/Coveo.aspx

4.6.4. Site search

Sitecore search using any of the above is Item based. Generic site search can be performed using

Sitecore search but consideration should be given to using a specific third party site search service, such

as Google Search, Microsoft Fast Search, Endeca etc.

4.7. Multiple Website Options

It is a common requirement for a project to involve the delivery of multiple websites. To achieve this

there are two solutions, have a separate Sitecore implementation for each site or to have multiple

websites with a single Sitecore implementation.

The most common reasons for using one approach over the other are licensing costs, requirements to

share data, release cycles and separation of risk. The following outlines a few of these options:

4.7.1. Sitecore Foundry

Sitecore Foundry is a Sitecore derivative that allows multiple websites to be managed within a single

Sitecore instance. The Sitecore Foundry is a forked Sitecore release that is customised for multiple

website management but does not contain all the features of a full Sitecore release.

See: http://www.sitecore.net/Platform/Pricing/Foundry-Pricing.aspx

4.7.2. Sitecore Multi-Site

Out-of-the-box Sitecore supports multiple sites. The sites are configured to have a root node in the

web.config or using the Sitecore Multiple Sites Manager module:

https://marketplace.sitecore.net/en/Modules/Multiple_Sites_Manager.aspx

There are many advantages to this approach including:

- Requires less software and hardware to maintain and license

- Data can easily and natively be shared between sites

- Releases of all sites are done simultaneously

- A single Sitecore administrator can make configuration changes to all sites.

- Single analytics database makes it easy to analyse data across multiple sites.

20

Sitecore Partner On-Boarding & Implementation Consideration

4.7.3. Multiple Sitecore Installations

Having multiple Sitecore installations has several advantages over the multi-site or Sitecore Foundry

options that include:

- Each site may release new features without requiring maintenance windows or causing

performance interruptions for other sites

- Server maintenance only affects one site and only needs to be addressed by a single

implementation vendor.

- Features may be developed with only a single site in mind.

- Each site may run on its own version of Sitecore. Upgrading becomes easier.

- Can be hosted on different hosting providers and scaled independently

4.8. Software Development Recommendations

The following items should be followed as a matter of course in any Sitecore implementation.

4.8.1. Data Sources, Placeholders and Page Editor

Sitecore components (sublayouts) should never use the Context Item but should use the Data Source of

the current item. This allows the components to be individually set to reference different data sources

and be personalised and manipulated at runtime.

To accomplish this it is often easiest to create a UserControl override as detailed here:

http://www.matthewdresser.com/sitecore/sublayout-datasource-for-usercontrol

Placeholder settings allow developers and administrators to limit the type of sublayouts that can be

added to a particular component or page in page editor. Not only do they ensure that the correct

sublayouts are added to the correct position on the page but they also simplify the editing experience

as the content author is presented with a filtered list of available sublayouts.

Sitecore websites should always be editable and personalisable using the Sitecore Page Editor. This is a

good baseline and indicator of a good implementation.

4.8.2. Separation of custom code from Sitecore

A Sitecore implementation consists of the Sitecore files (the content of the Sitecore installation

package) and the custom project files (including css, javascript, .Net files). It’s important that these two

sets of files are kept separate for the following reasons:

21

Sitecore Partner On-Boarding & Implementation Consideration

- Only the custom code needs to be in source control

- Less files to maintain

- Upgrades of Sitecore are made simpler – essentially just swap in the new Sitecore files for the

old and recompile

- Clean and maintainable

4.8.3. Patch configuration files

Custom patch configurations should be added as separate configuration include files. Splitting out the

patch configuration files into separate configs is also recommended. See this article for more

information: http://sdn.sitecore.net/upload/sitecore6/60/include_file_patching_facilities_sc6orlater-

a4.pdf

4.8.4. Don’t use the admin account

It is not good practise to use the Admin account for anything other than the development phase of the

project. The Admin account bypasses security and workflow and makes it impossible to track the author

of changes.

4.8.5. Versioning and Workflow

It is recommended to use a simple workflow so that on approval each item that is modified is versioned.

When a user creates an item, Sitecore creates a version in the current content language and initiates the

workflow for that version. After that item completes its workflow, if a user edits the item in that

language, Sitecore creates a new version and initiates its workflow. In some cases when working as a

Sitecore administrator, Sitecore does not create new versions or initiate workflows.

By strictly enforcing workflow only authorised content is sent live and an audit of changes can be

maintained for roll-back and historical reasons. The risks of not using publishing & workflow should be

identified and actively rejected.

4.8.6. Sitecore Config Builder

The Sitecore config builder is a tool that can be used to combine all sitecore configuration files

(web.config and App_Config\\*.config files) into a single normalised configuration file. This file can then

be compared to a Vanilla install version to identify the custom changes that have been made; and is

very useful when troubleshooting.

https://marketplace.sitecore.net/modules/sitecore_configbuilder.aspx

22

Sitecore Partner On-Boarding & Implementation Consideration

4.8.7. Log Analyser

The Sitecore log analyser simplifies browsing & analysis of the Sitecore (Log4Net) files. This tool is

embedded into SIM.

https://marketplace.sitecore.net/Modules/Sitecore_Log_Analyzer.aspx?sc_lang=en

23

Sitecore Partner On-Boarding & Implementation Consideration

5. Sitecore Technology Stack

Sitecore is primarily a web application framework that contains the following technologies that

Partners should become proficient using:

5.1. ASP.Net

The base framework that Sitecore is built on. See: http://www.asp.net/

5.2. MS-SQL

Sitecore uses the provider model that allows for the content to be abstracted into any data-provider,

including Oracle, File System, MySQL. However 99% of Sitecore sites use Microsoft SQL server and this

is the recommended, default and supported approach. See http://www.microsoft.com/en-au/server-

cloud/products/sql-server/

5.3. xDB & MongoDB

The Sitecore Experience Database (xDB) is the data collection and reporting engine for Sitecore in

Sitecore v7.5 and above. xDB encompasses several tasks including analytics storage, processing

services & aggregation services. xDB analytics storage is performed using MongoDB, an open-source

document database and a leading NoSQL database. See http://www.mongodb.org/

There are primarily three ways of hosting xDB:

Cloud hosted using xDB cloud, the Sitecore cloud hosted xDB offering that is hosted on

Microsoft Azure. Note this is not available in all regions as of February 2015.

Self-hosting xDB using mongo as a service, such as MongoLabs (this does not require Linux

skillset)

Self-Hosting xDB (on premise or cloud) with mongo setup / installed on windows or Linux

servers

24

Sitecore Partner On-Boarding & Implementation Consideration

6. Sitecore Add-ons and Resources

6.1. Demo Sites

Demo sites are a good way of getting a feel for how to setup a Sitecore site and how to use features

such as DMS, connectors, email campaigns manager etc.

6.1.1. Launch Sitecore

LaunchSitecore is a Sitecore demonstration site that offers two versions of itself for download. The first

is a Web Forms package and the second is an MVC package. Both packages can be installed and

examined on a new (vanilla) Sitecore v7.* version.

http://launchsitecore.net

6.1.2. Jetstream (for partners only)

Jetstream is a fictious travel company whose site has been created for the purpose of demonstrating

what can be accomplished with Sitecore CEP and how Sitecore works.

http://spn.sitecore.net/Partner%20Resources/Demo%20Systems/Jetstream%20Demo.aspx

6.1.3. Sitecore CMS for Government Websites

The Royal Borough of Sitecore demo package was created to demonstrate the specific value of Sitecore

CMS to government websites.

http://spn.sitecore.net/Partner-Resources/Demo-Systems/Royal-Borough-Demo.aspx

6.1.4. Sitecore with MVC 4

This project demonstrates how to use the ASP.NET MVC 4 with Sitecore. This is useful resource and can

be found on github.

https://bitbucket.org/brooksyd2/mvcdemo

6.1.5. Request a Sitecore demonstration session.

If you require a Sitecore demo then please make a request to your Partner manager or take a look at the

following request a demo page.

https://www.sitecore.net/Request-a-Demo.aspx

25

Sitecore Partner On-Boarding & Implementation Consideration

6.2. Sitecore Modules and Add-ons

Sitecore add-ons and modules are often installed using Sitecore Packages. Before undertaking new

integration development or functional development it’s worth checking the following resources to see if

something has already been created that can be leveraged.

For information on working and installing Sitecore Modules and Packages see

http://sdn.sitecore.net/articles/administration/installing%20modules%20and%20packages.aspx

6.2.1. Sitecore supported modules

Sitecore supports a core set of modules that can be found on SDN. These modules offer a wide range of

solutions that can be installed on top of Sitecore. All of these modules are supported by Sitecore and

have been developed with flexibility and extensibility in mind

Some of the most commonly used modules include:

PxM - Print Experience Manager (Adaptive Print Studio or APS)

ExM – Emai Experience Platform (Email Campaign Manager or ECM)

Sitecore Azure – Deployment to Azure

FxM - Federated Experience Manager

Active Directory Connector

SharePoint Integration Framework

Web Forms For Marketers

For a full list of Sitecore modules see: http://sdn.sitecore.net/Products.aspx

6.2.2. Sitecore Marketplace

Sitecore community that contains a plethora of Sitecore modules from the community. These modules

are not maintained by Sitecore, but are driven and maintained by the community.

6.2.3. The community

The community is every expanding and there is no single directory of all the Sitecore resources that the

community offers… or is that Google! But this page provides a good attempt:

http://sitecore-community.github.io/docs/documentation/Search/index.html

26

Sitecore Partner On-Boarding & Implementation Consideration

7. Sitecore Environment & Infrastructure

7.1. Infrastructure options

Sitecore has been developed and is designed to be run in multi-server scaled environments. And

because of this there are infinite Sitecore infrastructure options that can be architected to meet the

needs of different clients.

7.2. Development environments

Development is often undertaken on workstations using either a shared network database server or the

local workstation SQL server. This allows for efficient and non-intrusive development that is completely

separate from and of the test or production environments

7.3. Test Environments

It is always recommended to have at least one test environment that is an exact replica of production.

This allows developers, marketers and business users to test the system in a like-4-like environment;

this often referred to as UAT (User Acceptance Testing) environment. The need for other test

environments is also common, for example having separate UAT and SIT (System Integration Testing)

allows developer or specialist testing to be conducted in parallel with business user.

7.4. Infrastructure Requirements

There are many consideration that go into recommending Sitecore infrastructure. Some of these

include:

- Site traffic

- Quantity (amount and size) of content

- Level of personalisation and marketing automation

- Redundancy and risk

- Traffic location and server ge-location requirements

- Number of Authors

- Release Cycle rate

- Integration requirements

Generally a single delivery server can safely handle 40 page requests per second on a midsized website

with minimal personalisation.

7.5.Sitecore Server Roles

27

Sitecore Partner On-Boarding & Implementation Consideration

The following table outlines the different server options

Server Name Description Recommended

Software

Recommended

Hardware

Delivery Server

Delivery environment

which serves requested

pages and media assets

to site visitors. Collects

analytics data to

deliver a dynamic,

personalized

experience

Windows Server 2008

R2 / 2012

IIS 7 / 7.5 / 8

.NET Framework 4.5

32/64-bit OS

Dual Quad Core CPU

8GB RAM

150+ GB HDD

Management

Server

Management

environment for

content authors and

marketers to

create/edit content and

build the web

experience

Windows Server 2008

R2 / 2012

IIS 7 / 7.5 / 8

.NET Framework 4.5

32/64-bit OS

Dual Quad Core CPU

8GB RAM

150+ GB HDD

Content Database

Server

Database in which

Sitecore content and

configuration is stored

SQL Server 2008 R2 /

2012

Oracle 10g and up

Dual Quad Core CPU

8GB RAM

150+ GB HDD

Experience Database

Server

Database in which

Experience Data,

Contacts and

Interactions are stored

Mongo DB

On-premise or

Cloud hosted

options available

Aggregation

Server

Aggregates experience

data from the Sitecore

Experience database to

the reporting database

Windows Server 2008

R2 / 2012

IIS 7 / 7.5 / 8

.NET Framework 4.5

Dual Quad Core CPU

8GB RAM

150+ GB HDD

28

Sitecore Partner On-Boarding & Implementation Consideration

32/64-bit OS

Publishing

Server

Publishes content from

the Master content

database to one or

more Web content

databases

Windows Server 2008

R2 / 2012

IIS 7 / 7.5 / 8

.NET Framework 4.5

32/64-bit OS

Dual Quad Core CPU

8GB RAM

150+ GB HDD

Reporting Database

Server

Contains aggregated

analytics data for use

with reporting or

dashboards

SQL Server 2008 R2 /

2012

Dual Quad Core CPU

8GB RAM

150+ GB HDD

Session Database

Server

Stores active session

across a load balanced

environment

SQL Server 2008 R2 / 2012, MongoDB or InProc

Dependent on

technology applied

Developer

Workstation

Workstations for

developing ASP.NET,

HTML, CSS and

JavaScript code using

Visual Studio

Windows XP / 7 / 8

IIS 7 / 7.5 / 8

.NET Framework 4.5

Visual Studio 2012

SQL Server 2008 R2 /

2012 Express

Dual Quad Core CPU

4GB RAM

29

Sitecore Partner On-Boarding & Implementation Consideration

7.6. Sitecore Infrastructure Examples

7.6.1. 1x Management, 2x Delivery

This probably the most common setup for production environment. With a single Sitecore dedicated

management server and two load balanced delivery servers.

The Management server has a restricted end point (web address) and the server is the sole end point for

Sitecore authoring, management and marketing activities. The Delivery servers are locked down to

have no management capabilities and are solely used for the delivery of the sitecore websites, APIs and

data endpoints.

30

Sitecore Partner On-Boarding & Implementation Consideration

7.6.2. 2xManagment, 4xDelivery (2 Regions)

Sitecore infrastructure can be spread across multiple locations to reduce latency for visitors in different

parts of the works, to increase redundancy in disaster recovery scenarios and to handle high traffic

requirements.

7.6.3. Sitecore using Azure Platform as a Service (PaaS)

Platform as a Service (PaaS) is a Microsoft Azure hosting methodology where the Operating System

and other standardised server configurations are managed and maintained by the vendor, while the

application and data is still managed by the client. This revolutionary approach to hosting is successfully

adopted across many Sitecore and non-Sitecore web applications globally, and the feedback from IT

and Marketing is unanimously positive.

For more information on Sitecore on Azure PaaS see: http://www.sitecoreonazure.net/

31

Sitecore Partner On-Boarding & Implementation Consideration

8. Product Names, Abbreviations & Previous Names

Former Name New Name* Abbreviation

MAIN PRODUCT

Customer Engagement

Platform (CEP)

Sitecore® Experience PlatformTM Sitecore® XP

- Sitecore® Experience CloudTM xCloudTM

- Sitecore Commerce powered by

Commerce Server

SCpbCS

Coming soon Sitecore Commerce powered by

Dynamics AX

SCpbAX

DEPLOYMENT

- Sitecore® Experience DatabaseTM, Cloud

Edition

none

- Sitecore® Experience PlatformTM, Cloud

Edition

none

- Sitecore® Experience PlatformTM for

Azure

none

CHANNEL DELIVERY

Content Management

System (CMS) or Web

Content Management (WCM)

Web Experience Manager WXM

Email Campaign Manager

(ECM)

Email Experience Manager EXM

eCommerce Website

Solutions OR Ecommerce

(solution accelerator)

Commerce Experience Manager CXM

- Sitecore Social powered by Komfo SXM

Adaptive Print Studio (APS) Print Experience Manager PXM

- Federated Experience Manager FXM

CORE FUNCTIONALITY

- Sitecore® Experience ProfileTM xProfileTM

32

Sitecore Partner On-Boarding & Implementation Consideration

- Sitecore® Experience DatabaseTM xDBTM

Page Editor or

Personalization Editor

Experience Editor xEditor

Engagement Analytics Experience Analytics xAnalytics

Engagement Automation Experience Automation xAutomation

Sitecore CMS/Sitecore WCM Experience CMS xCMS

For more names and acronyms see this resource: http://sdn.sitecore.net/upload/sitecore6/60/sitecore_glossary_sc62-a4.pdf

Sitecore Partner On-Boarding & Implementation Consideration

Sitecore® is a registered trademark. All

other brand and product names are the

property of their respective holders. The

contents of this document are the

property of Sitecore.

Copyright © 2001-2014 Sitecore.

All rights reserved.