Nicely packaged Sitecore Items

Okay, so we all love and appreciate something that has been packaged up nicely. There are some really useful features built into Sitecore package designer that can make a huge difference in the packages we create and even save us time.

04_06_11_themugpub_1

Saving & Opening Existing Packages

If you have spent time creating a package you should save it so that if you need to modify it later, you can. After you have generated and installed the package but discover you have forgotten to include something rather than go through the pain of creating a new package you can simply open the existing package. Opening a package allows you to modify the items contained in the package or add new items. This is a no-brainer. Continue reading

Handy dandy tool for sharing Sitecore instances

Often while working on projects, a team member may ask you to share your local Sitecore instance with them. Or you might even want to expose your local site to an external service for performance testing/analysis. There is a handy dandy tool that makes this really easy, ngrok. Using secure tunnels ngrok exposes local sites behind NATs and firewalls to the public internet. By connecting to the ngrok cloud service which accepts traffic on a public address and relays that traffic through to the ngrok process running on your machine and then on to the local address you specify.

There are various plans available including a free plan which supports:

  • HTTP/TCP tunnels on random URLs/ports
  • 1 online ngrok process
  • 4 tunnels/ngrok process
  • 40 connections / minute

localsitecore

Continue reading

Planning your Sitecore 9 upgrade?

With support for Sitecore 8.2 coming to an end 31st Dec 2019, several clients are planning their migration to Sitecore 9 if they have not done so already. This post describes the process and some of the tasks involved in upgrading from Sitecore 8x.

There are two main approaches when upgrading you might consider:
1. Upgrade existing instances – the upgrade is performed against the existing instances and rolled out to all environments.
Pros:

  • Additional infrastructure is not required for the upgrade

Cons:

  • Usually Requires a code freeze while the upgrade is rolled out to all environments.
  • Unanticipated Issues can arise during the upgrade that can cause delays in the development lifecycle.

2. Clean Approach – setup a clean environment and clean Sitecore instances, migrate data.

Pros:

  • Upgraded and tested in isolation of the current production instance.
  • Provides an opportunity to upgrade the OS & SQL.
  • Easily rollback if issues occur.
  • Code freeze to existing solution not required for the entire duration of the upgrade and bug fixes and new features can be rolled out and worked on in parallel to the upgrade.

Cons:

  • Additional Infrastructure is required for the new environments to run in parallel. We would need to spin up new servers to support the new environment as these would be running on different versions of the operating system and version of software to meeting the requirements of Sitecore 9.
  • We will have the additional overhead of managing two sets of environments for a period of time while.

The clean approach effectively means you a Sitecore 8x environment – current site and a brand new Sitecore 9 environment – for the upgraded site.

Once you have switched over to 9 you can decommission the old environment. Continue reading

Load Testing with JMeter Advanced

In my previous post in this series on load testing I provided an introduction to JMeter to help get you started in this post I’ll explore the following topics and provide solutions to some challenges you may come across while creating your load tests.

Continue reading

How to Prevent DEF from creating Duplicate items in Sitecore

I ran into an issue with Sitecore’s Data Exchange Framework v1.4.1 where my pipeline batches would intermittently create thousands of duplicate Sitecore items. This caused a bit of management overhead having to clean out the duplicates.  Following some investigation, I decided to add some defensive coding by introducing a Custom Resolve Sitecore Item Processor to replace Sitecore’s OOTB pipeline step and prevent duplicates from being created.

removeduplicates.jpg Continue reading

Troubleshooting Sitecore Solr Index

I’ve worked on various Sitecore implementations where the customer has often run into issues with data not being returned as expected the first thing I do now to troubleshoot is to check the Solr Index.

Check Solr Is Up

  1. If you are not sure of the address of your Solr instance you can locate the url in the following configuration file app_config/includes/Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config and the setting, for example: <setting name=”ContentSearch.Solr.ServiceBaseAddress” value=”https://localhost:8983/solr“></setting>
  2. Use Solr Ping to check the status of the master solr index http://localhost:8983/solr/sitecore_master_index/admin/ping?wt=json
  3. You should receive the following output with the status of OK:
    SolrPing

Continue reading

Handling failed messages with Deadletter Queue and Sitecore Workflow

In my last post, I implemented a message queue which decoupled our application and provided a level of redundancy for our messages. But what about messages that are not processed successfully? This could occur for a number of reasons there might be an issue with the consuming application, a network issue or even an invalid message request.

A Deadletter queue, also known as an undelivered-message queue is a holding queue for messages that cannot be delivered to their destination. They provide a mechanism for persisting your failed messages without continually trying to process the same message. The deadletter queue could then be monitored and any failed messages can be examined and appropriate corrective action taken.

deadletterqueuesitecore

Continue reading

Produce and Consume Messages with Sitecore

In my previous post, I looked at message queues and how they can be utilized in your solution architecture. In the second part of this series, I will explore how you can add messages to a Message queue (Message Publisher) and Consume messages (Consumer) from a message queue with Sitecore and AWS SQS.

Using the example of an Events Booking site where a user finds an event they are interested in complete an event registration form which gets submitted to Event Bookings Application via an API. The Booking Application is known to go down and it is not uncommon to run into connection issue with the API causing booking requests to get lost. The Booking Application is old and unreliable and occasionally goes down.

By adding a Message Queue we decouple the website from the booking application and provide a level of resilience. If an outage does occur or there is an API connection issue instead of messages being lost they will be persisted on the queue. When the booking application comes back online or connection has been restored the messages on the queue will get processed.

SitecoreMessageQueues

Continue reading

Sitecore Symposium 2018 Elevate the Experience

If you didn’t make it Sitecore Symposium or my presentation at the Cleveland Sitecore Usergroup then check out some highlights, key takeaways and discover how Sitecore Elevated my experience at Symposium!

IMG_6617

Sitecore’s CEO Mark Frost – kicked off the Opening Keynote, welcoming the 3000 in attendance representing 53 Countries.

elevatetheexperience2

Mark introduce the theme for this year’s Symposium: Elevate the Experience.

“Because it is EXPERIENCES not products customers are buying today.” Mark Frost

  • Companies and customers have realized that the experience is the product.
  • This is a shift in thinking about transactions and purchases to thinking about building lifelong relationships between brands and customers.
  • Elevating the Brand experience is no longer a nice to have it is a must-have.

Mark wasted no time in diving into how Sitecore is going to Elevate the Experience!

Continue reading