Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sitecore Technical Considerations & Partner Onboarding

2,088 views

Published on

Development features, 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.

Published in: Technology

Sitecore Technical Considerations & Partner Onboarding

  1. 1. Sitecore Partner On- Boarding & Implementation Consideration Author // Jerry Nott (jnn@sitecore.net) Version // 1.0 Language // en-gb Date // 16/02/2015
  2. 2. 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. 3. 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. 4. 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. 5. 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 – jnn@sitecore.net 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. 6. 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. 7. 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. 8. 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. 9. 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. 10. 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. 11. 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. 12. 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. 13. 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. 14. 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. 15. 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. 16. 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. 17. 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. 18. 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. 19. 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. 20. 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. 21. 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. 22. 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. 23. 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. 24. 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. 25. 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. 26. 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. 27. 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. 28. 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. 29. 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. 30. 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. 31. 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. 32. 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
  33. 33. 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.

×