How to add https/ssl support to Sitecore 9.1 local instance?

I noticed that accidentally that by default CM application uses http not https – at least when we use installation scripts for on-premise XP0 topology.

Because I wanted to add https to my website I asked myself – “how can I do that EASILY?” I do not know how about you – but I hate to play with certificates on my local machine – very often it means many lost hours which I could spend on development of new features.

To achieve that I checked how Sitecore create and install certificates inside their scripts and I found the following task:

 Invoke-AddWebFeatureSSLTask

It took me few minutes to find final list of attributes which should be set to add certificate acceptable by services like identity server or xconnect. Final version is here:

Invoke-AddWebFeatureSSLTask -Hostname sc910.sc -SiteName sc910.sc -Port 443 -ClientCertLocation LocalMachine -OutputDirectory "C:\certificates" -RootDnsName "DO_NOT_TRUST_SitecoreRootCert" -RootCertName "root-authority"

HostName and SiteName should be values used by your website (check it in IIS configuration if you are not sure). Output directory is a place where you store your certificates. The rest of the parameters I would leave unchanged because they use default values from Sitecore’s installation scripts.

As a result of this task you should see:

  • new certificate file
  • new certificate registered in IIS
  • new binding added to your website

Because Identity Server uses http by default – please remember to update its configuration. If you do not do that – you will not be able to log in into Sitecore instance.
More details about that you will find here.

Install-SitecoreConfiguration : Failed to start service Sitecore Marketing Automation Engine

I do not know if you are so lucky as I am … but every time when I am trying to install a new version of vanilla Sitecore on my local instance I have got issues which did not appear for other developers.

This time during installation of Sitecore 9.1 which should take 10-15 minutes I noticed that XP0-SingleDeveloper.ps1 script starts and stops more or less in the middle of whole installation process with following error: 

[---------------------------------- XConnectXP0_StartServices [2] : ManageService --------------------------------------------------]
[XConnectXP0_StartServices [2]]:[Updating] sc910.xconnect-MarketingAutomationService
Install-SitecoreConfiguration : Failed to start service 'Sitecore Marketing Automation Engine - sc910.xconnect-MarketingAutomationSer
vice (sc910.xconnect-MarketingAutomationService)'.
At C:\ResourceFiles\XP0-SingleDeveloper.ps1:74 char:1
+ Install-SitecoreConfiguration @singleDeveloperParams *>&1 | Tee-Objec ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install-SitecoreConfiguration

[TIME] 00:04:07
Start-Service : Failed to start service 'Sitecore Marketing Automation Engine - sc910.xconnect-MarketingAutomationService (sc910.xcon
nect-MarketingAutomationService)'.
At C:\Program Files\WindowsPowerShell\Modules\SitecoreInstallFramework\2.0.0\Public\Tasks\Invoke-ManageServiceTask.ps1:40 char:33
+                     $instance | Start-Service
+                                 ~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommand
   Exception
    + FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand

I spent few hours trying to fix that. Based on previous experiences with Sitecore 9 and issues which I had with certificates I checked if my xConnect is accessible from the browser – it wasn’t. So I knew why I saw that error. 

Usually, when I had an issue with certificates I had to just add those certificates to the trusted list with mmc tool (more details here) but not this time. 

I started to search for solution in the internet and found following articles: 

  • https://kamsar.net/index.php/2017/10/All-about-xConnect-Security/
  • https://sitecorecorner.com/2017/10/25/sitecore-9-xconnect-ssl-and-that-403-forbidden/
  • https://stackoverflow.com/questions/26247462/http-error-403-16-client-certificate-trust-issue

The third link has been mentioned in the second link as a solution. In my case, this didn’t help but suggested the solution.

Powershell scripts were moving certificates to Intermediate Certification Authorities category – in theory it should be enough … in my case didn’t change anything so I checked what I had in this directory. 

I found out that DO_NOT_TRUST_SitecoreRootCert was added there many times. That was signal to me that it seems to be an issue. I deleted all of them before I tried install Sitecore again. And it worked! 

Currently, after installation I have got just one SitecoreRootCert. 

No data in Application Insights for Sitecore instance?

It is a short article from the series “How is it possible that I missed that rows in the configuration?”

When we use Application Insights in Azure we usually have data about:

  • Logged errors
  • Failed Requests
  • Server response time
  • Server requests
  • etc

But in my instance, I had only information about logged errors and other warnings. My charts with data about requests were empty and it was looking in the following way:

I spent a few hours on searching for the solution. I tried solutions from StackOverflow but in my case, nothing worked.

So after another few hours of checking all the configs, I found out that the issue is a missing module from web.config file.

Rows responsible for adding data to Application Insights are:

<remove name="TelemetryCorrelationHttpModule" />			<add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
			<remove name="ApplicationInsightsWebTracking" />			<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />

The bolded one (one which was missing in my configuration) is responsible for telemetry data like number or time of the requests.

The second one is responsible for the errors and logs added to the AI.

After that change, my data appears on the charts!

Sitecore Symposium 2018 – All discounts in one place!

EDIT: early-bird price has been removed – 01-08-2018
EDIT: it seems that early-bird is still available – 20-08-2018
EDIT: Sitecore Trial contest has been finished and the winner has been announced – 21-08-2018
EDIT: added information about visa invite letter – 21-08-2018
EDIT: added detailed information about hotel rooms discount
EDIT: removed early-bird price
EDIT: removed MVP code – 14-09-2018
EDIT: removed hotel discounts – 20-09-2018

Are you going to attend on Sitecore Symposium 2018 in Orlando and you still do not have tickets and accommodation? Great, this is post for you!

These days everyone complains for lack of time so I built a list of discounts which Sitecore has prepared for you this year – maybe it will let you to get tickets in better price.

I will try to continuously update that list to share with you all up to date information which I found.

Buy tickets sooner

It is nothing new – if you will buy tickets sooner you will get a better price. This year Sitecore has prepared three price levels:

  • Early-bird: 1295$
  • Advanced: 1495$
  • Regular: 1595$

It means that if you will buy tickets now (July) you will get
100$ discount
.

Use referral links from MVPs

Every MVP can prepare a special link with code which lets you to by tickets 100$ cheaper than price at the moment is. Code expires Friday, September 14, 2018.

So currently it means – 200$ off.

Click image or this link https://sitecoresymposium2018.smarteventscloud.com/portal/registration/MVPLSKOWRONSKI to use my code.

Remember, in case of any problems you can use also code directly: MVPLSKOWRONSKI

Code expires: 14 September 2018

Share your experience and get ticket
for free!

On July Sitecore has announced new trial license for developers. If you have not heard about that – check details here: https://community.sitecore.net/technical_blogs/b/technical-marketing/posts/announcing-the-global-availability-of-the-sitecore-developer-trial.

Everyone who have tried that and will share what achieved with Sitecore during 60 days of tests, have a chance to win free ticket (regular price – 1595$).

Contest closes on August 03, 2018 so you do not have too much time. Check details here: https://community.sitecore.net/technical_blogs/b/technical-marketing/posts/developer-trial-symposium-ticket-contest

The winner of this contest has been announced. The winner is Mohammad Abujaffal – congrats! Check his story here: My Sitecore story.

If you want to check Sitecore’s announcement – visit this page.

Buy tickets in group

If you are coming with the team or you just want to organize with friends you can get discounts for groups.

Currently two levels of discount are prepared:

  • 5-9 people = 75$ off
  • 10 people and more = 100$ off

Tickets must be purchased together and cannot be combined with additional discounts.

Discounted rate in Walt Disney World Swan and Dolphin Resort

As always also this year Sitecore has organized better hotel prices for all Symposium attendees.

Use that link: https://www.swandolphin.com/groupres/site18/ to start booking process.

Worth to know that this year tracks will be split between Swan and Dolphin hotels, so if you would like to see:

  • non-technical tracks – make booking in Dolphin
  • technical tracks – make booking in Swan

Cost of a hotel room starts from USD $259 + $25 daily resort fee/night plus tax, currently 12.5% – offer expires on Friday, September 7, 2018.

Save time with Disney Resorts benefits

If you are going to stay in Swan or Dolphin you can enjoy special deals which will save your time – if you will decide to visit Walt Disney Wolrd.

On the list of benefits you will find:

  • FastPass++ reservation up to 60 days in advance
  • Extra hours benefit – Walt Disney World will be open for you before and after normal working hours
  • Possibility to order Disney tickets in advance
  • and more….

Check all benefits here: https://www.swandolphin.com/aboutus/benefits.html

Save time on US border

It is possible to get visa invite letter from Sitecore. With this letter will be easier to get visa. If you want to have it – write an email with following details to SitecoreSymposium@sitecore.com :

  • invoice number (you have to buy symposium ticket first)
  • job title
  • company name
  • company street
  • company city & postcode
  • country

 

Hopefully gathered information from this post will let you to save some bucks to spend them in Orlando!

Recap of SUGCON 2018 – Berlin

I have decided to share with you my impressions from SUGCON 2018 as fast as possible to give as many details as I can about the event.

It was my second time when I had a chance to be on SUGCON and I have to say that this year it was better and bigger than year before. I believe next year it can be only better than the current one so it means that if you will decide to go there you have to be ready for enormous amount of knowledge and huge group of attendees.

Organizers of the SUGCON informed us that in these year almost 600 people have decided to join the event – so next year can be 1000! Community is growing very fast and that is the fact which also was visible during presentations – so great quality of them means that people which had been chosen to conduct presentations were the best experts in the world.

If you were not be able to be in Berlin this year – try to do everything to attend on SUGCON 2019 – date and venue were already announced – London, on 4&5 April 2019 – see you there!

But ok – what actually was so cool this year? Below you will find a list of presentations which I choosed. If you want to know more about what I experienced on SUGCON – just read on.

DAY 1

On first day very important change has been announced. Starting from now  every new Sitecore version will be published in line with following assumptions.

After the introduction Jason Wilkerson and Richard Seal told us a story about marketing automation in Sitecoreland – it was very interesting and let understand many people why Sitecore is something more than just and CMS.

After that Kam Figy showed us how JSS & GraphQL can empower frontend layer of Sitecore solutions and how we can use the GraphQL to feed other services with data from Sitecore.

Then Alexei Vershalovich made a great show during his presentation. I had never seen so many Sitecore features working together in so complex example. Marketing automation was looking so easy as never before – I have to try use more of it in the future ( I think that not only me have plan like this).

Then I went to see Rob’s Habraken presentation about GDPR – extremely important thing but not very popular topic in developers community.

Rob shared with us many good tips and starts with really obvious thing – we are developers not a lawyers – we should not be the people who decides what will be implemented – that should be defined by the lawyers and client. Check few slides from his presentation here:

At the end of the day you have to remember that:

That was my last presentation of this day.

Later we were celebrating during Hackathon award ceremony (congrats LasVegans from Poland! – Robert Dębowski, Tomasz Juranek, Wojciech Urban) and MVP award ceremony.

DAY 2

On second day I was waiting for Dmytro’s Shevchenko presentation – last year it was the best presentation on the SUGCON (in my opinion) and this year he presented like continuation of last year presentation. All attendees had a chance to know what is under the hood of xConnect.

Dmytro explained for instance what is the difference between pessimistic and optimistic concurrency control of contact updates

and why we do not have to worry about that too much in Sitecore 9

At the end of presentation he showed the summary which can help you in decision “to upgrade Sitecore or not to upgrade”.

Later I wanted to check what Sitecore Installation Extensions (SIX) will bring for developers. Robert Senktas showed us how easly we can extend Sitecore Installation Framework (SIF) and why we do not have start with extensions from scratch because we have got already an option – SIX which provides many very useful features like installation of SIF prerequisites or installation of older Sitecore versions. Check this here: Sitecore Installation Extensions (SIX).

Next presentation “White hat hacker’s guide to the internet” conducted by Mikkel Romer was very interesting. Even subject of it was so interesting that people were coming to the room with chairs which were taken from other rooms!

Mikkel showed us why we NEVER should not underestimate the value of security. Everything what is in internet can be hacked by bad people and used to do very bad things.

But for me – the biggest value of this presentations is fact that many people had started to think about security and I bet that many of them had decided to check if they used provided by Sitecore recommendations available in security hardening documentation.

After so popular topic I have decided to check something very new to me – “Sitecore & the Blockchain” – I do not sure if I understood all the information which Jason Bert was trying to share with us. Presentation was great and very interesting but I guess I just needed some additional preparation before it.

Then we had a chance to see long chain of presentations.

Kamruz Jaman & Mike Reynolds conducted funny presentation about new Forms module – I would never say that anyone will be able to use Forms with so big smile on the face – but Jammykam and SitecoreJunkie really did that.

Alex Shyba & Adam Weber showed us JSS in action and after that Pieter Brinkman closed the event and announced the time&venue of next year SUGCON.

At the end we all thanked for SUGCON organizers team for great job which they did. Event was great but we are waiting for more in next year – thank you all once more time!

PS. Sorry for the quality of the photos – it was not easy to be closer to the screen 😉