Commerce · Sitecore · Sitecore 9 · Sitecore Commerce · Uncategorized · Upgrade

Sitecore Commerce FUN: Installing XC 9

Right after I came back from the Symposium 2017, I listed all the reasons to be excited about Sitecore XC9 on my company blog post – http://www.verndale.com/insights/blog/2017/november/while-awaiting-sitecore-commerce-9/

Well, the much awaited Sitecore XC 9 finally released in January 2018, and I finally got to install my very first Sitecore XC9 instance. In this post I am sharing what FUN it has been!J

First, you need Sitecore installed. Follow my blogposts below to get that out of the way! J

My Sitecore Commerce XC9 installation has Sitecore 9 Update 1, but I followed the posts for Sitecore 9 installation just fine.

  1. Getting ready – https://davehetal.wordpress.com/2017/11/01/sitecore-9-fun-1-getting-ready/
  2. Setting up Solr – https://davehetal.wordpress.com/2017/11/03/sitecore-9-fun-2-setting-up-solr/
  3. Installing Sitecore XP 9 Site – https://davehetal.wordpress.com/2017/11/21/sitecore-9-fun-3-installing-sitecore-xp-9-site/

Sitecore Commerce Installation

Before you begin your Sitecore XC9 installation and setup, create the folder C:/Deploy/Assets.

Download Sitecore PowerShell Tools to C:\Deploy\Assets folder. – https://marketplace.sitecore.net/en/Modules/Sitecore_PowerShell_console.aspx

Download Sitecore Experience Accelerator to C:\Deploy\Assets folder –https://dev.sitecore.net/Downloads/Sitecore_Experience_Accelerator/16/Sitecore_Experience_Accelerator_16_Initial_Release.aspx

MS Build Microsoft Visual Studio Web targets Nuget: https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets/

Extract the downloaded Nuget package and then in the extracted folder navigate to C:\SitecoreInstaller\XC9\msbuild.microsoft.visualstudio.web.targets.14.0.0.3\tools\VSToolsPath\Web.

Copy the file Microsoft.Web.XmlTransform.dll to the C:\Deploy\Assets folder.

Sitecore Commerce Release Package: https://dev.sitecore.net/Downloads/Sitecore_Commerce/90/Sitecore_Experience_Commerce_90_Initial_Release.aspx

  • Download the package to any folder you like. I downloaded it to C:\SitecoreInstaller\XC9.
  • Extract the package to C:\SitecoreInstaller\XC9\Sitecore.Commerce.2018.01-2.0.254.

Copy all extracted files from C:\SitecoreInstaller\XC9\Sitecore.Commerce.2018.01-2.0.254 to C:\Deploy.

Now, in the Deploy folder, extract following files in their own folders. I use 7-Zip that makes things easy for me.

  • SIF.Sitecore.Commerce.1.0.1748.zip
  • Sitecore.BizFX.1.0.572.zip
  • Sitecore.Commerce.Engine.SDK.2.0.1922.zip

Example:

You can then delete the ones in red boxes. Green box is the extracted folders for these files.

Copy the file C:\Deploy\Sitecore.Commerce.Engine.SDK.2.0.1922\Sitecore.Commerce.Engine.DB.dacpac to C:\Deploy\Assets.

Install the SSL certificate. Open a PowerShell Window as admin and run the following command.

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname “Sc_Xc9.CommerceEngineConnect”

Copy the Thumbprint value somewhere. You will need it for the next step.

Export the certificate to a file by running the following cmdlet:

Export-Certificate -Cert cert:\localMachine\my\BF055C200F0142B2EF72E3592B06C1666E2C55C5 -FilePath “C:\Deploy\Assets\Sc_Xc9.CommerceEngineConnect.cert”

This is how the completed set up would look like – with all the necessary files and packages.

Stop the xConnect Service of your Sitecore installation.

Navigate to C:\Deploy\SIF.Sitecore.Commerce.1.0.1748 and create a copy of the file – Deploy-Sitecore-Commerce.ps1. I renamed my copy as My-Deploy-Sitecore-Commerce.ps1

If you want to process some test payments, you should also set up a Braintree Sandbox account. It is easy. I documented the process of creating a Braintree Sandbox account in one of my previous posts setting up Sitecore Commerce 8.2. – https://davehetal.wordpress.com/2017/06/10/fun-with-sitecore-commerce-8-2-1-part-5-commerce-authoring-service/

Once you set up the account, you can use that information to populate Braintree parameters in the installation script.

Now, you need to make some changes to this file – some to match your own names and paths and some are corrections to some typos in the original script to match the names of the Sitecore package names correctly. Below are the parameters that you would need to verify.

I have attached the script here. Sitecore XC9 Install Script

Greens are the parts-n-pieces I modified to match my name and path changes and to match to the correct package names in the originally downloaded Sitecore packages. I got it right after few tries. Hope this will help others.J

Remember –

  • The value of the $SiteName parameter should be same as your Sitecore Install site.
  • The value of $SqlDbPrefix should be same as the prefix you had when you installed your Sitecore site.

You may get time out error in the Index rebuild step. Don’t worry. You can manually rebuild the indexes from the Sitecore Control Panel Indexing Manager. That is what I did too.

Start the xConnect service that you stopped in step 13. Follow the steps from the Sitecore Installation guide.

Sitecore creates Commerce specific roles. You can create users with these roles as necessary. I did not configure any new user accounts with these roles, as this was just a demo site installation.

  • Commerce Administrator
  • Commerce Business User
  • Customer Service Representative
  • Customer Service Representative Administrator
  • Pricer
  • Pricer Manager
  • Promotioner
  • Promotioner Manager

The complete installation will have the following components –

  • Sites


  • Databases


  • Windows Services
    • Solr Service (i.e. the name of my Solr Service is : Solr662AsService)

    • Sitecore Marketing Automation Engine Service
    • Sitecore Xconnect Search Indexer Service

 

References

This post helped me with few issues while installing.

Feel free to message me here or on Sitecore Slack, or Twitter or LinkedIn if you have questions.

Advertisements
Sitecore · Sitecore 9 · Upgrade

Sitecore 9 FUN!!!: 3 – Installing Sitecore XP 9 Site

Previously…

As I begin my journey into the new Sitecore 9 world and make headways, I will share what might help other Sitecorians or the ones who are just getting to know Sitecore!J

Also, I am a major fan of pictures. So, you will see a lot of screen shots.J

I chose to install as a OnPremise XP0 topology install. The on-premises installation of the platform takes place in the context of the Sitecore Installation Framework. The framework deploys Web Deploy Packages (WDP) by passing parameters to configuration files through a Microsoft® PowerShell module.

In my previous two posts I shared information about prerequisite software components for Sitecore 9 installation and Setting up Solr with SSL. Here are links to those posts –

This Post

In part 3, I will share my notes (and pictures) installing a Sitecore 9 instance. Finally!!! J

I installed my first Sitecore XP 9 instance with XPo topology. Below is a quick reference to Sitecore XP Topologies –

Sitecore9_Topologies.png

Downloads for XPo Topology

Download and extract the install package Sitecore 9.0.0 rev. 171002 (WDP XP0 packages).zip from here – https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/90/Sitecore_Experience_Platform_90_Initial_Release.aspx

sitecore_downloads_XPo.png

Extracting the install package will give the files below –

  1. Web Deploy packages for XPo
    • sitecore 9.0.0 rev. 171002 (OnPrem)_single.scwdp.zip
    • sitecore 9.0.0 rev. 171002 (OnPrem)_xp0xconnect.scwdp.zip
  2. Environment Configuration Files
    • sitecore-solr.json
    • xconnect-solr.json
    • xconnect-createcert.json (for developer environments)
    • sitecore-XP0.json
    • xconnect-xp0.json



Install Sitecore Installation Framework (SIF) Modules

  1. Open a PowerShell command window as admin and then run following commands.
    • Register the Sitecore repository.
      Register-PSRepository -Name SitecoreGallery -SourceLocation https://sitecore.myget.org/F/sc-powershell/api/v2 
    • Install SitecoreInstallFramework module.
      Install-Module SitecoreInstallFramework 
    • Install SitecoreFundamentals module.
      Install-Module SitecoreFundamentals 

Install Sitecore XPo Instance

  1. Jump to page 35 (Section 5.2.1) of the installation guide. You will see a PowerShell script. This script will basically take care of all Sitecore install steps instead of running each step separately.
  2. Create a PowerShell file named SC9_Install.ps1 and copy the script in this file, or copy it from below –

    #define parameters
    $prefix = "xp0"
    $PSScriptRoot = “C:\resourcefiles” 
    $XConnectCollectionService = "$prefix.xconnect" 
    $sitecoreSiteName = "$prefix.sc" 
    $SolrUrl = "https://localhost:8989/solr" 
    $SolrRoot = "C:\Solr-6.6.1" 
    $SolrService = "Solr-6.6.1" 
    $SqlServer = ".\SQL 2016" 
    $SqlAdminUser = "sa" 
    $SqlAdminPassword="Password12345"
     
    #install client certificate for xconnect
    $certParams = @{ 
    Path = "$PSScriptRoot\xconnect-createcert.json" 
    CertificateName = "$prefix.xconnect_client" 
    } 
    Install-SitecoreConfiguration @certParams -Verbose
    
    #install solr cores for xdb
    $solrParams = @{
    Path = "$PSScriptRoot\xconnect-solr.json" 
    SolrUrl = $SolrUrl 
    SolrRoot = $SolrRoot 
    SolrService = $SolrService 
    CorePrefix = $prefix 
    } 
    Install-SitecoreConfiguration @solrParams
    
    #deploy xconnect instance
    $xconnectParams = @{ 
    Path = "$PSScriptRoot\xconnect-xp0.json" 
    Package = "$PSScriptRoot\Sitecore 9.0.0 rev. 171002 (OnPrem)_xp0xconnect.scwdp.zip" 
    LicenseFile = "$PSScriptRoot\license.xml" 
    Sitename = $XConnectCollectionService 
    XConnectCert = $certParams.CertificateName 
    SqlDbPrefix = $prefix 
    SqlServer = $SqlServer 
    SqlAdminUser = $SqlAdminUser 
    SqlAdminPassword = $SqlAdminPassword 
    SolrCorePrefix = $prefix 
    SolrURL = $SolrUrl 
    } 
    Install-SitecoreConfiguration @xconnectParams
    
    #install solr cores for sitecore
    $solrParams = @{ 
    Path = "$PSScriptRoot\sitecore-solr.json" 
    SolrUrl = $SolrUrl 
    SolrRoot = $SolrRoot 
    SolrService = $SolrService 
    CorePrefix = $prefix 
    } 
    Install-SitecoreConfiguration @solrParams
    
    #install sitecore instance
    $xconnectHostName = "$prefix.xconnect" 
    $sitecoreParams = @{ 
    Path = "$PSScriptRoot\sitecore-XP0.json" 
    Package = "$PSScriptRoot\Sitecore 9.0.0 rev. 171002 (OnPrem)_single.scwdp.zip"
    LicenseFile = "$PSScriptRoot\license.xml" 
    SqlDbPrefix = $prefix 
    SqlServer = $SqlServer 
    SqlAdminUser = $SqlAdminUser 
    SqlAdminPassword = $SqlAdminPassword 
    SolrCorePrefix = $prefix 
    SolrUrl = $SolrUrl 
    XConnectCert = $certParams.CertificateName 
    Sitename = $sitecoreSiteName 
    XConnectCollectionService = "https://$XConnectCollectionService" 
    } 
    Install-SitecoreConfiguration @sitecoreParams
  3. Now, create a directory named “resourceFiles” under your C:\ root, and copy all files and save the install script to that directory. If you read through this script, you will notice references to install configuration json files and web deploy packages.
  4. Copy following Sitecore installation files to C:\resourceFiles directory.
    • SC9_Install.ps1
    • All Sitecore XPo configuration files
    • Sitecore XPo web deploy packages
    • Your Sitecore license file

    resourceFiles

  5. Open PowerShell ISE as admin.

    PowerShell ISE

  6. In the command window under the powershell editor window change the directory to C:/resourcefiles and import SIF modules. Run following commands.
    cd C:\resourcefiles
    Import-Module SitecoreInstallFramework
    Import-Module SitecoreFundamentals 

    installCommands

  7. Open the SC9_Install.ps1 file in the PowerShell editor and update the script based on what you need to change. You can keep all default values if you want. However, you may need to change the following parameters as I did.

    #define parameters

    $prefix = “<Prefix of your Sitecore 9 installtion>”  This prefix will apply to everything – your Sitecore Site, your xConnect site, your Sitecore databases etc.

    $PSScriptRoot = “C:\resourcefiles”

    $XConnectCollectionService = “$prefix.xconnect”

    $sitecoreSiteName = “$prefix.sc”

    $SolrUrl = “<URL of your Solr instance with the port you are running Solr on>”  i.e. https://localhost:8984/solr

    $SolrRoot = “<Location of your Solr instance>” i.e. C:\Solr-6.6.2

    $SolrService = “<Name of your Windows Service for Solr>” i.e. Solr662AsService

    $SqlServer = “<Name of your SQL Server Instance>”

    $SqlAdminUser = “<You can keep the user sa or create a new user if you like.>”  i.e. SitecoreUser

    $SqlAdminPassword=”<Password of the SqlAdminUser account you will be using.>” i.e. My SqlAdminUser name is SitecoreUser and password is password.


    SC9_Install_Script

  8. Save and run the script. It could take about 5-7 minutes. It felt like forever!!!J

    SC9_Install_Script_Run

 

Review Installation

Once the installation completes, following components will be installed as your Sitecore 9 XPo setup.

  1. Sitecore XP Website & Sitecore xConnect Website (IIS)

    websites.png

  2. Databases

    databases.png

  3. Windows Services

    windows_services.png

  4. Solr cores for Sitecore XP 9 – browse to your Solr admin site > Cores. You will see the Solr Cores for your Sitecore 9 instance.

    solr_cores

  5. Browse the xConnect site. You may get prompted to select a SSL certificate. Select the one that is applicable and click OK. I selected the localhost cert.

    ssl_prompt.png

    You will get this result – meaning your xConnect component is installed correctly.

    P.S. – The time stamp will vary! J

    xConnect_browse.png

  6. Browse to your new Sitecore 9 site! Well, nothing much is changed here. J

    sitecore_site_browse.png

Post Installation Steps (almost there!)

Follow the post installation steps as per the installation guide Chapter – 6…or continue below! J

  1. Open SQL Server Management Studio, click on new query and set Query mode to SQLCMD.


  2. Rebuild the Search Indexes and the Link Databases. – you know the drill! J OR follow the instructions in the Installation Guide – Section 6.2 (page 40).
  3. Deploy Marketing Definitions – instruction in the Installation Guide – section 6.3 (page 41)

     

  4. Copy the following script and make sure to verify and update highlighted value as per your installation.
  • I only needed to change the DatabasePrefix based on the prefix I had configured in my SC9_Install.ps1 script.
  • You can verify the UserName and Password variables in the connectionstrings.config file of your xConnect website. i.e. C:\inetpub\wwwroot\xp090.xconnect\App_Config\ConnectionStrings.config
  • Run the script.
:SETVAR DatabasePrefix xp090 
:SETVAR UserName collectionuser 
:SETVAR Password Test12345 
:SETVAR ShardMapManagerDatabaseNameSuffix _Xdb.Collection.ShardMapManager 
:SETVAR Shard0DatabaseNameSuffix _Xdb.Collection.Shard0 
:SETVAR Shard1DatabaseNameSuffix _Xdb.Collection.Shard1 
GO 

IF(SUSER_ID('$(UserName)') IS NULL) 
BEGIN 
    CREATE LOGIN [$(UserName)] WITH PASSWORD = '$(Password)'; 
END; 
GO 

USE [$(DatabasePrefix)$(ShardMapManagerDatabaseNameSuffix)] 
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'$(UserName)') 

BEGIN
    CREATE USER [$(UserName)] FOR LOGIN [$(UserName)] 
    GRANT SELECT ON SCHEMA :: __ShardManagement TO [$(UserName)] 
    GRANT EXECUTE ON SCHEMA :: __ShardManagement TO [$(UserName)] 
END; 
GO 

USE [$(DatabasePrefix)$(Shard0DatabaseNameSuffix)] 
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'$(UserName)') 
BEGIN 
     CREATE USER [$(UserName)] FOR LOGIN [$(UserName)] 
     EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(UserName)' 
END; 
GO 

USE [$(DatabasePrefix)$(Shard1DatabaseNameSuffix)] 
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'$(UserName)') 
BEGIN 
    CREATE USER [$(UserName)] FOR LOGIN [$(UserName)] 
    EXEC [xdb_collection].[GrantLeastPrivilege] @UserName = '$(UserName)' 
END; 
GO

 

5. Rebuild the Search Indexes and the Link Databases. – you know the drill! J OR follow the instructions in the Installation Guide – Section 6.2 (page 40).

6. Deploy Marketing Definitions – instruction in the Installation Guide – section 6.3 (page 41)

DONE!!!



Sitecore · Upgrade

Sitecore 8.1 Package Installation Error with the packageinstalled:ended event

Recently I was working on an upgrade from Sitecore 8.1 Update 2 to Sitecore 8.2 Update2.

I was trying to install the Update Installation Wizard

And I ran into this exception – One or more exceptions occurred while processing the subscribers to the ‘packageinstall:ended’ event.

Ugh…I turned to Google and found a few posts/responses, listed below. I sifted through all of them to no avail.

The site I was upgrading had it all!!! You name it –

  • Sitecore (Of course)
  • Insite Commerce
  • WFFM
  • Commerce Connect
  • Coveo
  • PowerShell Tools

I finally gave up and was about to open a Sitecore ticket. But before I did that I looked into the logs (which I should have done FIRST!) J

The logs were filled with exceptions from Coveo. So, I decided to give it a one last try before I open a ticket with Sitecore. Here is what I did –

  1. Logged into Sitecore > Control Panel > Coveo Search section > Configuration.
  2. Few steps to clear any config issues with Coveo. Most likely it was related to the not matching API/Secret key.

  3. And then ran the Coveo diagnostic page and made sure all was green.

And, I tried installing the package again!!! ALL WELL!!!

…and then…I an into the link below from Coveo Support, and…OH WELL!!!
J

https://answers.coveo.com/questions/7188/sitecore-81-update-1-package-install.html


Sitecore · Sitecore 9 · Upgrade

Sitecore 9 FUN!!!: 2 – SETTING UP SOLR

Previously…

As I begin my journey into the new Sitecore 9 world and make headways, I will share what might help other Sitecorians or the ones who are just getting to know Sitecore!J

Starting with setting up my first Sitecore 9 site. I followed the Installation guide and based on that, I crafted this series. Hence, every now and then you will see excerpts and references from the Installation Guide.

Also, I am a major fan of pictures. So, you will see a lot of screen shots.J

I chose to install as a OnPremise XP0 topology install. The on-premises installation of the platform takes place in the context of the Sitecore Installation Framework. The framework deploys Web Deploy Packages (WDP) by passing parameters to configuration files through a Microsoft® PowerShell module.

For more, refer to my Previous Post: Sitecore 9 FUN!!! : 1 – Getting READY!

This Post

In part 2, I will share my notes (and pictures) setting up Solr for Sitecore 9.

Refer to Sitecore documentation site for more information on Search & Indexing.

Sitecore says: If you want to use a search index that works in both Analytics and Content Search, we recommend that you use Solr.

Just a refresh on Sitecore 9 topologies before we start with recommendations for Search setup –

Let’s start!

By default, the Sitecore Experience Platform is secure, therefore you must enable SSL for Solr. For local testing and development, you can set up a self-signed certificate.

I’ve switched the order of steps a little different from the installation guide…just a little! 🙂

Install JRE (Java Runtime Environment

  • You will need JRE (Java Runtime Environment) version 8.8 or later. Little refresh from my previous post on installing JRE.

    If you have JRE installed, check your Java version with either command prompt window or by going to the installed programs in your control panel.

    OR

    Run the following command in command window –

    Java -version

    If you need to install Java Runtime Environment, you can download it from here – https://java.com/en/download/manual.jsp

  • After you download and install JRE, make sure to check for or add or update the “JAVE_HOME” environment variable.

    The value of this variable is where you have JRE installed – i.e. C:\Program Files\Java\jre1.8.0_144

  • Add the JDK Keytool utility on your PATH. Follow along the screen shots below.

And then OK, OK …until it’s done. J

Install SOLR

  • Copy Solr-6.6.2 folder from the extracted zip to C:\ or root directory on your machine.

OpenSSL

You need OpenSSL for Solr SSL setup.

And download the highlighted file –

  • Create a new directory C:\Program Files (x86)\OpenSSL

    Extract the content of the downloaded zip into this directory.

  • Add OpenSSL to the environment variable “PATH”. Follow along the screenshots below.

And then OK, OK …until it’s done. J

Generate Self-Signed SSL certificate

  • Generate self-signed certificates to enable SSL for SOLR. Open a power shell command window as admin and switch to the Solr server/etc directory.

cd C:\solr-6.6.2\server\etc

keytool -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:127.0.0.1 -dname “CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country”

Notice that we set that password to “secret” in the previous command. See highlighted in yellow above. You can set a different password of your liking when you run this command. Make sure you remember it! J

This command will generate a file named solr-ssl.keystore.jks in the directory C:\solr-6.6.2\server\etc.

  • Convert the JKS keystore into PKCS12 format using keytool. Run the following command next in the already open PowerShell window –

 

keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

You will get a prompt asking for keystore password. Enter the password you set in the previous command. Also, when you type the password, you will notice as though nothing is changing on the screen – you won’t see the password letters nor the dots that you typically see while typing a password, and that is OKAY! 🙂

Just hit enter after you enter the password.

You will be asked to enter the password two more times. Enter the same password.

  • Now using OpenSSL convert the generated key into PEM format. The JKS keystore needs to be converted to PEM format, which cURL understands (cURL cannot use JKS formatted keystore). – Hence, all these steps!

    Run the following command next –

    openssl pkcs12 -in solr-ssl.keystore.p12 -out solr-ssl.pem

    You will be prompted to enter the password / pass phrase. Enter the same password you entered before.

    This will generate a SSL certificate in the current directory.

  • Import the certificate into your local user’s certificate store. Follow along the screen shots. J

    When asked for the certificate password enter the same password you used in previous steps.

    • Run MMC command.

  • Add Snap-In for Certificates for Current User.

REMEMBER TO SAVE THE THUMPRINT VALUE.

Set common SSL-related system properties

  • You will updating C:\solr-6.6.2\bin\solr.in.cmd file. Open the file with an editor of your choice (i.e. Notepad++) and uncomment properties starting with SOLR_SSL

Setup Solr as Service

I prefer to use Non-Sucking-Service-Manager to install Solr as windows service.

  • Open a Windows command prompt window as admin and navigate to the NSSM directory above.

 

cd C:\nssm-2.24\win32

nssm install Solr662AsService

Use following in the parameters’ window. I used port

  • Path: C:\solr-6.6.2\bin\solr.cmd
  • Startup Directory: C:\solr-6.6.2\bin
  • Arguments: start -p 8984
  • Display Name: Solr662AsService_PORT_8984

  • Open Services snap-in and start the service.

 

PHEW!!! Next…Installing Sitecore 9 – FINALLY!!! J


Sitecore · Sitecore 9 · Upgrade

Sitecore 9 FUN!!! : 1 – Getting READY!

As I begin my journey into the new Sitecore 9 world and make headway, I will share what might help other Sitecorians or the ones who are just getting to know Sitecore!J

Starting with setting up my first Sitecore 9 site. I followed the Installation guide and based on that, I crafted this series. Hence, every now and then you will see excerpts and references from the Installation Guide.

Also, I am a major fan of pictures. So, you will see a lot of screen shots.J

I chose to install as a OnPremise XP0 topology install. The on-premises installation of the platform takes place in the context of the Sitecore Installation Framework. The framework deploys Web Deploy Packages (WDP) by passing parameters to configuration files through a Microsoft® PowerShell module.

Below is a table explaining Sitecore OnPremise topologies. I copied it directly from the Installation Guide – Section 3.1.1

What my local environment looks like –

  • Windows 10
  • SQL Server 2016
  • Visual Studio 2015

Bookmark these links!

Initial Downloads

Start by downloading these from the Sitecore 9 downloads page – https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/90/Sitecore_Experience_Platform_90_Initial_Release.aspx

  • SitecoreFundamentals.1.0 rev. 170922.zip
  • SitecoreInstallFramework 1.0 rev. 171003.zip
  • Installation-Guide-SC90.pdf
  • Sitecore-Installation-Framework.pdf

Check for & install Prerequisites

  • Operating Systems – mine was Windows 10.
    • Windows Server 2016
    • Windows Server 2012 R2 (64-bit)
    • Windows 10 (32/64-bit)
    • Windows 8.1 (32/64-bit)
  • Database
    • Microsoft SQL Server 2016 SP1 – Only supported version for xDB (Experience databases)
    • Microsoft SQL Server 2014 SP2 – Only supports XM databases. xDB databases not supported.
  1. Visual Studio 2015 or later
  • Browsers
    • IE11 (Compatibility view not supported)
    • FireFox 54-56
    • Chrome 60, 61
    • Edge 40
    • Safari 9-11
  1. IIS 10.0 / IIS 8.5 – Enabling IIS on your computer

    Note: You must use the version of IIS that your operating system supports.

    NOT SUPPORTED:

  • IIS Express
  • Mono Web Server
  • Multiple IIS websites pointing to same Sitecore Web Root
  1. .NET 4.6.2 or later

    NOT SUPPORTED (for xDB)

  • MongoDB
  • Oracle
  1. Microsoft PowerShell® version 5.0 or later – PowerShell usually comes installed with your Windows OS. Check for the PowerShell install and version before you download and install.

    If you already have PowerShell installed, open a powershell window and run the following command –

    $PSVersionTable.PSVersion

  • Install following using Web Platform Installer
    • Web Deploy 3.6 for Hosting Servers (Install using Web Platform Installer)
    • URL Rewrite 2.1 (Install using Web Platform Installer)

  1. Microsoft SQL Server Transact-SQL ScriptDom – Select for VS 2015 or VS 2017

  2. Run the following SQL Query to enable Contained Database Authentication. Refer to installation guide for more information.

    sp_configure ‘contained database authentication’, 1;

    GO

    RECONFIGURE;

     

    GO

  3. Java Runtime – required for SOLR set up

    You will need Java Runtime Environment(JRE) 1.8 or later.

    If you have JRE installed, check your Java version with either command prompt window or by going to the installed programs in your control panel.

    OR

    Run the following command in command window –

    Java -version

    If you need to install Java Runtime Environment, you can download it from here – https://java.com/en/download/manual.jsp

    After you download and install JRE, make sure to check for or add or update the “JAVE_HOME” environment variable.

    The value of this variable is where you have JRE installed – i.e. C:\Program Files\Java\jre1.8.0_144

  4. OpenSSL – you will need OpenSSL for Solr SSL setup.

    I had to look for the exact file download for OpenSSL, which I found from here – https://wiki.openssl.org/index.php/Binaries

    And download the highlighted file –

    Download OpenSSL and extract the zip into a new directory – i.e C:\Program Files (x86)\OpenSSL

    Add OpenSSL to the environment variable “PATH”. Follow along the screenshots below.

  5. Permissions
    Make sure the app_pool identity account that you use for your Sitecore 9 installation has permissions to all of the following locations. In my case it was my domain/AD account. And I just configured FULL access.

    Make sure following locations have FULL/MODIFY permission for the account that you plan to use for app_pool identity for your Sitecore 9 set up.

  • C:\Windows\temp\
  • C:\Windows\Globalization\
  • C:\ProgramData\Microsoft\Crypto

NOT SUPPORTED: UNC Share

  • Search Indexing
    • Solr 6.6.1 – default search provider for Xpo and XP1 topologies
    • Lucene – default search provider for XM1
    • Azure Search – supported for Azure Cloud PAAS set up only

PHEW!!! Next…Setting up Solr!

Image result for minion need coffee transparent


Sitecore · Upgrade

My 2 Cents on upgrading Sitecore

Complexity translates to FUN for me. More complex the challenge…more the FUN! And with every challenge completed there is so much learning.

I recently upgraded a quite complex Sitecore solution from 8.x to 8.2 (Update 2). Now, 8.2 has more to offer than previous 8.x versions – that comparison, some other day.

I am sharing what I think worked for me to get the BEST results for –

  • Clean upgraded Website
  • Clean upgraded solution

We all want just that after an upgrade – don’t we all? J

  1. Before diving into upgrading your Sitecore instance, stop and think of the SCOPE of your upgrade. What are the other modules and/or packages you would need to upgrade.
  2. Make sure to follow upgrade and installation guides. They exist for a reason. J

The process that worked for me has two-part upgrade that comes together in the end.

  1. Upgrade the Sitecore CMS system – the databases, which in return would also update your Sitecore Admin interface.
  2. Upgrade the solution – the code – your Webroot.

    Upgrade the Sitecore CMS system

    1. Back-up all your Sitecore databases.
    2. Install a clean instance of the current Sitecore version you have for your Sitecore site.
    3. Install all packages, modules with the same as current version you have. I.e. WFFM, Coveo-for-Sitecore, Powershell Extension Tools etc.
    4. Now, read this carefully – point the connection strings of your clean Sitecore instance to the instance that you are upgrading.
    5. Now, start upgrading your Sitecore instance with necessary update/upgrade packages. i.e. if you are upgrading from Sitecore 8.1 Update x to Sitecore 8.2 Update x, you can download the required update package
      from the download page of the version you are upgrading to.

      This worked so well for me. I got NO ERRORS while installing all updates, which was AMAZING!!!

DO NOT TRY TO TEST YOUR SITE AT THIS POINT. Remember, you are just upgrading the Sitecore CMS and not the Site.

You now have upgraded databases and upgraded Sitecore Interface. Time to upgrade the solution.

Upgrade the solution

It is hard to bind this process in few steps, as things could vary wildly from solution to solution. But this should help anyway.

Part 1: The Code

  1. Upgrade/update .NET framework for all projects if necessary and/or if you want.
  2. Upgrade/update all Sitecore references for all projects where ever applicable.
  3. Upgrade/update all references to any other software components. i.e. Commerce references, or any other custom Sitecore modules.
  4. Build your solution and make sure you get a clean build.

Part 2: The Webroot

  1. Create a copy of your site and name the folder something like <YourSite>.Pre-Upgrade.<Date>.
  2. Install a Sitecore instance of the new Sitecore version that you are upgrading to.
  3. Install all packages with their versions compatible to the new Sitecore version.
  4. Now, go back to your Site that you are upgrading and delete everything from the Website folder.
  5. Now, copy everything from the clean Sitecore instance Website folder to the Website folder of your site that you just wiped out.
  6. Now compare and perform necessary merge from the Pre-Upgrade copy you created in Step 1 into your Site’s website folder (which has the clean Sitecore install with clean packages/modules installed.)
  7. Publish your site.
  8. Clean out the Links table in the Core database. (That way rebuilding your link databases will not take too long.)
  9. Rebuild indexes.
  10. Rebuild Link databases.
  11. Test any other processes/jobs you may have running.
  12. Review logs to verify that there is nothing you need to worry about.

…AND THERE YOU HAVE IT! NEW, UPGRADED SITECORE SITE.

Uncategorized

FUN with Sitecore Commerce 8.2.1 Part 6: FINAL BITS!!!

It has been a great experience and tons of FUN working with Sitecore all these years!!! I started with Sitecore version 5.3…and love this platform more every day!!! J

This is the final part of my Sitecore Commerce FUN series. (For now that is…J)

Here are the instructions for the final bits – http://commercesdn.sitecore.net/SitecoreCommerce/DeploymentGuide/en-us/index.html#Concepts/c_SC_FinalConfigurations.html

In these last few steps, you merge the commerce specific configuration into your Sitecore XP web.config. The only thing to be careful of is the order of the profile providers. Make sure it is in the order as below –

Publish your site. I published mine with following options –

  • Smart Publish
  • All Languages (why not??!!!) J

Make sure to start the Commerce Server Staging Service, or your Index rebuild will fail.

Rebuild all Sitecore Commerce Indexes.You can also rebuild just the following indexes, if you do not want to rebuild all.

  • sitecore_core_index
  • sitecore_master_index
  • sitecore_web_index
  • commerce_products_master_index
  • commerce_products_web_index

…and you are done.

Some additional pointers –

…and so ends the initial FUN with Sitecore Commerce series. I will post more as I explore. J

Happy coding!!! J