My Sitecore SUGCON 2023 Takeaways – Day 1

sugcon-2023-banner

I’ve just got back from and awesome weekend in Malaga at Sitecore SUGCON 2023. If you are not aware of what it is, it’s the developer conference organised by the Community each year to bring Sitecore Developers together in Europe. I’ve been to quite a few SUGCONs over the years but I think this has been one of the best. The talks were really interesting and it was great to catch-up with everyone in the Sitecore Community.

I arrived late on Wednesday at the rather impressive Melia near Malaga – right next to the beach. I’ve certainly been to worse locations for conferences. More venue’s like this for future SUGCONs please Sitecore :-).

pool-banner

The roof top bar was particularly special – but there was some learning to do before I would be able to enjoy the pool.

> DAY TWO - you can read about Day Two here.

Day 1

I had a fairly clear idea of the talks I wanted to see and I managed to stick to it pretty well.

Opening Keynote – Steve Tzikakis and Dave O’Flanagan

dave-banner

The following day after a late breakfast I went to register and then to see Dave O’Flanagan kick off the conference and introduce Steve.

Steve couldn’t attend so was on Video link and he explained that given the Economy downturn innovations such as ChatGPT would be key for diversifying product offerings, Steve then hinted that something was in the works with an integration of ChatGPT with Sitecore.

Many companies such as SAP and Oracle have slowed down to adapt to SaaS and Headless; while Sitecore have grown a lot over the past few years. He said that Sitecore has outgrown Adobe for the past 6 quarters with around 20% growth, Sitecore are 2nd place in industry rankings and aim to catch Adobe.

steve-banner

There is an healthy 16% R&D investment and Steve set out his ambitious target of going from 40,000 Sitecore developers to 100,000 in the market. He said that he felt the tough part (moving to SaaS and creating/integrating new SaaS platforms) was now over and Sitecore are ready to move forwards. Sitecore intend to lead by innovation and partners and developers need to be onboard to continue investment and growth.

IMG_0511

Dave then took back the stage and stated that Sitecore want to lead with Composable DXP and be the best in the market. He also confirmed that DXP is not going anywhere and 10.4 is currently in the works. There are clients who are restricted geographically with what they can do with SaaS or the want full control of their data and platform so there is still a place for self-hosting with DXP.

IMG_0507

Then Dave his us with a bit of very welcome honesty. He said that the SaaS products that Sitecore have procured/integrated and built over the past couple of years are now in a good place but he acknowledged that the documentation, marketing, information on migration and features is not great and Sitecore are going to work on this ASAP. This was great to hear as I think that there is some confusion right now for current customers and potential new customers with all of the different SaaS offerings and XP/XM. I feel It’s quite tricky to understand and the messaging from Sitecore needs improving, especially around the migration path to SaaS.

IMG_0522

Dave went on to say that there are no new product announcements this SUGCON, instead Sitecore will slow down and help customers understand the new products better and explain how to migrate to them. It was good to hear that Sitecore understand there are many customers heavily invested in XP and that it’s not that easy for them to just jump ship to SaaS and that they want to know more about how they can help customers with this journey.

The discussion then turned to the Content, Engagement and Commerce clouds and the work Sitecore have done here with huge investment, especially in Content Cloud – of which XM Cloud is key part and is getting better by the day.

IMG_0510

Content Hub 1 is Sitecore’s answer to a full headless CMS and they will work on integrating it into XM Cloud to allow you to pull content into XM Cloud seamlessly. Content Hub 4.3 is the last version of Content Hub and all customers are now updated.

IMG_0512

Search is a new SaaS offering from Sitecore, it is developed on top of Discover (a SaaS platform Sitecore purchased, originally called Reflektion). It has now been developed further and is able to search all content and is powered by AI. I would learn more about this at sessions later in SUGCON.

IMG_0513

When looking at the cost of XM Cloud customers need to consider the TCO of their existing XP/XM (or other DXP platform) and not just the licence, hosting and development costs. I think it’s true that many clients probably don’t consider the ongoing maintenance costs of Azure Infrastructure / AKS / Solr / Redis etc and the cost and complexity of Upgrades, Security patches and so forth. Not to mention the cost of DevOps/Build Pipelines and other services. When you add this all up the cost may be around the same or a bit cheaper. One of the challenges here I think is different budgets in organisations that traditionally just pay for the hosting or licence etc so this may be something to navigate when it comes to the new world of SaaS.

IMG_0515

Dave then went on to talk about XM Cloud a bit further and that they do know there are challenges without having an CD instance anymore in XM Cloud (these are instead replaced by Edge Servers – experience edge which just returns the items via the layout service or GraphQL). He said that it is something they are trying to resolve and will look to the Community so potential solutions to this. This sounds interesting so I’ll be keen to follow this idea further and see where it goes.

IMG_0516

He mentioned the impressive looking Component Builder in Pages (which I also attended a session on later at SUCON). Dave also discussed that Forms in XM Cloud is something they are working on currently; they have recognised it’s very important and are listening. This is a bit of a gap in the XM Cloud offering at the moment and some clients won’t be keen to use a 3rd-party option for this, so it’s good to hear this is in progress.

IMG_0518

Another interesting statement Dave made was that the feedback from front-end developers was that JSS is Complex and not something they really want to learn, it has a lot of complexity baked in which some feel is not needed. Therefore, Sitecore are looking at how they can simplify this. I wasn’t exactly sure what was meant by this (I’ll try and find out more) but reducing complexity and barriers to entry is generally a good thing I feel.

IMG_0519

Finally Dave discussed Sitecore Connect which is one of Sitecore’s most recent SaaS offerings which allows SaaS products to be integrated via a low code / no code approach.

IMG_0524

Dave mentioned connect recipes will be provided to help customers to move to SaaS and these could be taken and customised to fit your requirements. I’d seen a bit on this and how it works from other Sitecore Developers such as this great post by Jeremy Davis. However, I was looking forward to learning more about how it all works later at SUGCON.

IMG_0525

Life at the Edge with Vercel and Next.js – Javi Velasco

IMG_0534

Next up was a partner talk from Vercel about their platform and different offerings. Javi explained how customers expect a lot more now in 2023 (faster, more dynamic & personalised) and the pandemic effectively jump technology advancements and expectations forward by two years to 2025.

He talked about how computing and innovations in compilers has improved vastly in recent years and how Edge workers can now execute code extremely fast providing similar performance to Static Page Generation as well as Edge Middleware.

IMG_0533

I’ve not used Vercel yet but I’ve heard good things about it and Next.js (which they also created) and I know that Sitecore partner with them for XM Cloud so it was interesting to learn more about it all.

Accelerate website builds with Headless SXA and XM Cloud – Martin Miles

IMG_0541

We then needed to select our talks for the afternoon. I decided to pick Martin Miles’s talk about XM Cloud and while I’ve learned a fair bit about XM Cloud in the past 4 or 5 months and spoken on it at both the Manchester and Columbus SUGs I still learned a lot from Martin’s talk.

I know Martin plans to share his slides on his blog and the slides are very detailed. So I’ve tried to pick out some key slides which I thought were really useful or had important information that I hadn’t really seen detailed elsewhere.

Auto update and upgrade information & Licensing model:

IMG_0547

IMG_0548

Some additional limitations I wasn’t aware of:

IMG_0549

Further architecture details:

IMG_0550

More details about Webhook event handlers:

IMG_0551

Some GraphQL details and limitations:

IMG_0552

More authentication and authorisation details:

IMG_0554

Some more details on Embedded Personalisation & Analytics from CDP:

IMG_0563

IMG_0564

Docker development details:

IMG_0565

Sitecore CLI details:

IMG_0567

XM Cloud folder structure, files and folders overview:

IMG_0568

I hadn’t really though about how XM Cloud deploys items but it makes sense it uses Items as Resource Files:

IMG_0570

SPE usage in XM Cloud:

IMG_0571

Some useful developer tips and tricks:

IMG_0573

Some really useful migration details for headless solutions:

IMG_0574

Two different MVC migration routes:

IMG_0575

Lastly some really useful Headless SXA details:

IMG_0577

IMG_0578

IMG_0579

Once Martin share his talk I’ll link it here as there was lots more information that was useful.

SXA MVC & Headless SXA – a MOVING tale… – Jason Wilkerson

IMG_0582

I’ve known Jason for quite a while and he’s always an entertaining speaker so I was looking forward to this one. It didn’t disappoint and Jason started with a story about Hipster developers…

IMG_0584

Being an predominantly back-end/c#/.Net developer and coming from the Microsoft stack I can really relate to this too. All this new-fangled hipster FE/Headless development is kind of ‘mind boggling’ and a big shift in thinking for those of us who’ve been around since the WebForms (or in my case classic ASP days).

IMG_0583

I’ve done some React development with Sitecore and the JSS Training course but I’m still not 100% comfortable with the shift yet.

IMG_0585

Jason’s talk was great as he showed us how you would go about building an example ‘Spotlight’ component in Class SXA/MVC and how that differs when building an JSS Headless component in React.

Here are a couple of slides from building the MVC Component, I think this is pretty well understood by most Sitecore Devs:

IMG_0587

IMG_0590

IMG_0589

There were some learnings that Json Shared with us around the differences with doing this for JSS instead:

IMG_0597

IMG_0598

IMG_0599

IMG_0601

IMG_0602

The rendering variants setup is quite different for MVC:

IMG_0607

Then the JSS variant, this looks quite a nice approach:

IMG_0609

IMG_0612

There are limitations of JSS Renderings which are that the search component of SXA are not available, also if your using SSG then you can’t use forms. There are also personalisation restrictions too:

IMG_0615

IMG_0616

IMG_0618

Lastly Jason also had some training links he shared for those new to this and need to know a good place to start.

IMG_0619

XM Cloud and Content Hub ONE Battle Royale – Rick Bauer & Richard Seal

The final session of the day for me was Rick and Richards talk which was positioned as a battle between the two platforms. It made for a pretty fast-paced and entertaining talk.

Pretty much all the info was on the slides so I’m going to just drop them all below:

IMG_0620

IMG_0621

IMG_0622

IMG_0623

IMG_0624

IMG_0625

IMG_0626

IMG_0627

IMG_0628

IMG_0629

IMG_0630

At the end there was an final summary that confirmed that XM Cloud and Content Hub one are different products and are positioned separately in the market to meet different requirements:

IMG_0632

End of Day 1

It was then time for Dinner, catching up with friends from the Sitecore Community and the MVP awards ceremony. Unfortunately the MPV awards had got stuck in Customs again (despite Tamas’s best efforts) but we got a few photos and there was an entertaining performance from Rodrigo and Sebastian and also the quiz; followed by a few well earned beers.

Fr_WawlXwAEc5-d

IMG_0634

You can read about what I learned on day two here.

Sitecore Sloth Module 1.1 Released

santa-helperA few weeks ago I wrote about how I updated Sloth to support Items as Resource files.  I’ve now got round to releasing this package on Nuget and creating Sitecore Packages for this too in case you want to install in that way instead. I’ve updated the Github readme with all the info too.

Sloth 1.1 supports being able to enable and disable the module under the settings here: /sitecore/system/Modules/Sitecore Sloth. Please ensure you enable the module and save the item after installing version 1.1.

sloth-enabled

 

 

 

 

 

 

Installing Sloth 1.1 for Sitecore 10.1+ Via Nuget

You can install version 1.1 of Sloth via Nuget like so if using Sitecore 10.1 or above:

Install-Package FluxDigital.Foundation.Sloth -Version 1.1.0

I’ve tested installing the Nuget package for Sitecore 1.1 and if installed correctly you should see the following files:

sloth-1.1-nuget-install

 

sloth-1.1-nuget-install-2

 

 

 

 

I haven’t created a Sloth 1.1 Nuget package for Sitecore 8-10 yet but I will do so when I get a minute.

Hope this helps and your enjoying using Sloth.

Please let me know of any issues you have and I’ll try and resolve them ASAP.

Have a great Christmas everyone.

Sitecore Telligent Community Integration

I AM THE ONE AND ONLYI’ve recently been working on Integrating Telligent Community with Sitecore using the ‘Telligent Community Sitecore SDK’ provided by Telligent. Before I started I managed to find one blog post on this on the whole of the internet…yep one.

So I thought I’d write up a few things I learned in case anyone else finds themselves needing to do this.

What is Telligent Community?

Telligent_Verint_Logo_ColorIn case you don’t know, Telligent Community is an .NET based Community platform which support Forums, Blogs, Media Galleries, Wikis etc and allows you to build Communities of users with Profiles and Connections, Messaging, Activity Steams etc. Before I started working with Sitecore full-time I worked with the Telligent Platform (or Community Server as it was called in the early days) for over 5 years, so know I’d like to think I know it pretty well.

You can find out more about the integration options here: https://community.telligent.com/blog/b/product/posts/telligent-community-and-sitecore-integration

I notice there is also a new section on the Telligent Website that provides some info too: https://www.telligent.com/sitecore-forums-blogs-and-community/faq/

None of this really gives you much detail as to how to do this from a development perspective though so that is the focus of this post.

How does it work?

The Telligent Community Sitecore SDK is essentially an Framework that makes integrating with Telligent Community easier. You install it and initialise it by adding an Sitecore Pipeline implementation to your Sitecore project and patch in with config (as you would any custom Pipleline). You then get access to the Telligent REST APIs which allow you to pull your Telligent Community Content into Sitecore. You don’t get any of the Telligent Widgets embedded in Sitecore or anything – just access to the Data, but in a convenient way which handles the REST API authentication flow for you.

Rest Host

A Rest Host is the Primary interaction point with the SDK. It knows about your Community Url, handles authentication and caching and provides the Rest endpoint for making requests.

You can create your own rest hosts (as we will later) and there are two Rest Hosts provided out of the box:

1) Default REST Host – uses OAuth, is the most robust option

2) Client Credentials REST Host – uses Client Secret and Id, designed to be used for utility applications.

You can read more about Rest Hosts here: https://community.telligent.com/community/10/w/developer-training/53141/hosts

How do I get started?

You need to have an instance of Telligent Community up and running. You can download a free version (which has limitations) for testing from here: https://www.telligent.com/free-edition-download/. For the following example you will also need to create some test blog posts and create an API key for one of your users who has access to the Telligent APIs.

There are a few steps to getting up and running which we will cover in more detail in the example below:

1. Within your Sitecore project in visual Studio install the SDK using the following command:

Install-Package CommunityServerSDK

2. Create a Rest Host. We are creating a custom Rest Host in the following example – which uses API keys to authenticate users instead of OAuth or Client Secrets and Ids. It should be noted that this shouldn’t be used in production. It is provided as an example to get up and running quickly.

There is more on creating Rest Hosts here:
https://community.telligent.com/community/10/w/developer-training/59711/rest-sdk-and-sitecore

3. Create a Controller Rendering in Sitecore which uses the Host to get content from Telligent Community via the APIs

4. Add a view with Code to render out content from Telligent Community

Creating an Example Blog Post Component

1) Create an Rest Host:

2) Create an Blog Post Model:

3) Create a new Controller:

Edit the details of your community and blog id to match your setup.

4) Create an Controller Rendering in Sitecore and add a view with the following code:

Add the Component To a page in Sitecore and add a bit of styling and you should have something that looks like the following:

tcblog-post-list-2

 

The code above is designed to get you up and running quickly so obviously isn’t production ready and things like your Community settings should be stored in config.

You will find the code for the SDK Samples on Github here:
https://github.com/Telligent/Social-SitecoreSDK-Samples

This is a pretty simple example but I intend to post some more complex integrations with Telligent Community and talk about how this was made more configurable from a Sitecore perspective in future posts.

Sitecore Stack Exchange Site Needs Your Help!

A while ago Mark Cassidy  started a Stack Exchange Site for Sitecore – our own Sitecore Specific Stack Overflow essentially .  Great idea right?

The Sitecore Stack Exchange Site Needs Your Help!
Calling All Sitecore Developers!

Myself and other Sitecore Community members have been trying to get the site (currently in Beta) to launch.

Due to Sitecore Symposium causing a downturn in activity for over a week we were initially told the site wasn’t going to make it out of Beta :-(.

However the good news yesterday was that Stack Exchange kindly relented and extended the Beta for another two weeks! until the 18/10:

http://meta.sitecore.stackexchange.com/questions/60/extending-the-private-beta-to-10-18

However if this is going to succeed we need more Sitecore developers / users to get involved. There are many of you out there but not enough on the Stack Exchange site.

If you have already signed up for Area51 then please use the site and start contributing.  Go to: https://area51.stackexchange.com/proposals/101710/sitecore and then use the “Visit” link under the “20 days in Beta” box, Or use this link: https://area51.stackexchange.com/proposals/101710/sitecore/visit and log in with the same details you used for Area51

If you haven’t already signed up, then ask for an invite in the #stackexchange channel on slack or tweet me @billyjava and someone will send you an invite.

I’m sure you will agree that our own Stack Exchange site for Sitecore would be a great asset to the Sitecore community and an really useful platform to share knowledge and documentation but if we don’t quickly get more support it won’t make it.

So please do what you can to help and support by asking and answering questions on the Beta site.