Skip to main content

The Sitecore Adventure Begins

 To be honest, my Sitecore adventure started a long time ago.  But now its time to share my adventure with you.  A little about who I am and what you can expect during this adventure.



So Who am I?

My name is Patrick Liekhus and I have been working within the software stacks for over 25 years now.  My background has been through most things .NET where I built a lot of custom software, however there was always one driving force.  You must find a way to add value and not just write code.  At the end of the day users typically don’t care what language you wrote your features in nor how well formatted your code looks.  They care about whether or not your solution fixes their problem.  And does it do so efficiently?  With that guiding light my teams have always focused on how we can utilize existing tools and frameworks to get the most value to the business as quickly as possible.  And doing so in a structured way that allows us to maintain and adjust the code as we learn more.

So how does that tie back into Sitecore?  Back in my career I stumbled upon Sitecore during one of my consulting engagements.  It was used as a simple content management platform to run our custom software.  Not ideal but it worked and it was built before I arrived.   I was brought onto the team to help with other features and not the Sitecore implementation.  But this engagement led to other Sitecore projects where I learned a lot along the way very quickly.   I have now been involved in five Sitecore projects over the last five years with my current role leading an active community utilizing Sitecore as our primary platform.

All five of my Sitecore projects have been part of marketing teams where speed to market matters and larger consulting teams have sold them on the idea of Sitecore.  And all five projects have removed the first team from the project before I was involved.  Batting cleanup and being the second, sometimes third team, we have had to figure out templates, custom code and content strategies that have been built by teams that didn’t clearly understand the business requirements and usually implemented a proprietary framework from their agency that was not the most friendly.  And then the marketing team gets frustrated enough that they were ready to move on and were typically frustrated by Sitecore. Not with Sitecore as a platform but by their Sitecore implementation that was not working for them.

Why do you care about all this?  Because what we have learned along the way may provide value to you so we decided to share our thoughts and what has worked for us. 

What to Expect

So walking into a Sitecore fire is not always the most fun, nor exciting idea.  How do you get started quickly?  And sometimes without a lot of guidance.  First you are not alone and the Sitecore community at large is a great resource to begin.  If you have not been over to https://community.sitecore.net yet I highly suggest you get involved.  There are others out there that are willing to share their ideas and practices that have worked for them.  It’s a great starting point. 

So in this adventure guide we are going to go through our ideas and concepts that worked for our implementation and what we learned and how we did it.  What?!? We’re giving away our secrets?  Well not the entire code base but we will highlight functionality and features where we can.  A lot of these ideas are not new or custom to us.  We just implemented them to fit our business and make our processes more efficient.  So here is our proposed topic list (subject to change) as I lead this tour.

  1. Laying the Groundwork – Getting to Sitecore 9.3
    1. we will discuss where we were and what decisions we made to move to where we are going. 
  2. Sitecore Experience Accelerator (SXA) – Why / Why Not?
  3. Sitecore 9.3 – Scriban Templates – Yes Please!
  4. Sitecore Scriban Templates – Custom Functions to the Recue
  5. Sitecore SXA – CSS and Creative Exchange
  6. Sitecore w/ Coveo – Huge Search Performance Increase
  7. Sitecore w/ Azure DevOps – How do we Automate these Deployments?
  8. .NET Tricks for Secure Coding – Not as Hard as You Think
  9. Sitecore Horizon – Why we Chose to go There
  10. Sitecore Security and Workflow – What You Need to Know
  11. Sitecore Securing the Site – Web Application Firewall (WAF) Implementations
  12. Sitecore Performance – Hosting Adjustments We Targeted
  13. Sitecore Cloud – Our Roadmap to Move to the Cloud and Why
  14. Sitecore Personalization – Our Ideas and Implementation
  15. Sitecore and Mobile App - Not Just a Mobile Site but Mobile App Integrations
  16. Sitecore and Voicify - Let's Add a Voice/Chatbot to Our Stack

I hope this provides a roadmap and gets you excited.  As you can see there is a lot to a Sitecore implementation but don’t let this scare you away.  These are the tools that are available and how you use them can make your website the best possible experience for your end user. 

Until next time.

Comments

Popular posts from this blog

Quick Tip - Scriban Date Formatting in Sitecore

 With the Scriban syntax being new to the Sitecore platform with v9.3 there is definitely a learning curve but well worth the time investment.  So we will post short tips on things that we struggled with.  This is to share but also I will have a place to find it again when I need it. So you've created a date field in your Sitecore template and now need to format it for display purposes.  Or even better, you have styling differences depending on if the dates and years match for start and end points.  Let's show this below. First, get the date(s) in your Scriban template from the item.  In this scenario I was looping through child objects called i_child.  Using the Scriban date.parse function I can get the date value from the Sitecore field by this:     {{         this.startDate = sc_field i_child 'Event Start' | date.parse;         this.endDate = sc_field i_child 'Event End' | date.parse;     }} Now that we have the date values you can do things to check against

Sitecore Scriban Templates – Custom Functions to the Recue

 So you jumped in head first into Scriban Templates with Sitecore.  And now you hit a wall because it doesn't do that one thing you could easily have completed in MVC forms with a controller.  Well, this is where you can build your own custom functions to work within Scriban templates.  Sitecore already provides a few of these at  https://doc.sitecore.com/developers/sxa/93/sitecore-experience-accelerator/en/the-embedded-functions-for-the-scriban-template.html . So How Do You Build Your Own? Well let's begin by discussing what we want to build.  In our project we have a need to get the nearest parent of a certain template type.  This way we can determine if the page you are viewing is part of a conference section or not.   So first, let's build the C# code that will execute when we call the function.  We decided to add a new member to the i_item to determine if we were in a conference context and allow us to call other properties as we would need. public class GetConferenceC

Sitecore 9.3 – Scriban Templates – Yes Please!

 This feature sold us on our migration to Sitecore v9.3 and using SXA.  Why was it so important in our decision?  Based purely on speed to implement.  Let's explain, but first what is Scriban? What is a Scriban Template in Sitecore? Scriban is a fast, powerful, safe and lightweight scripting language and engine for .NET, which was primarily developed for text templating with a compatibility mode for parsing liquid templates. And Sitecore SXA has has adopted this new templating system whole-heartedly.  It allows a lot of your custom HTML and MVC controls to brought into the content tree.  Why is this important?  Because now you don't have to create a custom controller and CSHTML to create a rendering.  You can create and use a Scriban template. For more information refer to the documentation found at  https://doc.sitecore.com/developers/sxa/93/sitecore-experience-accelerator/en/scriban-templates.html .  You can also find more documentation on the Scriban template itself at  htt