My Sitecore SUGCON 2023 Takeaways – Day 2

> DAY ONE - If you haven't read about Day One you can read it here.

SUGCON DAY 2

IMG_0478

The 2nd Day of SUGCON started bright an early so after a quick breakfast and cup of tea at the hotel I headed down to the first session I’d planned to see.

Rob’s session is one of the key sessions I really didn’t want to miss this year. A few clients I’ve spoken to recently (and other Sitecore Dev’s I’ve chatted to at SUGCON so far) are facing this challenge:

‘How do we move to XM Cloud from XP and what do we need to consider?’

– so I was keen to learn from Rob’s experiences.

Migrating advanced Sitecore implementations to XM Cloud – Rob Habraken

rob-xm-cloud-banner

Rob started with telling us the differences with XM Cloud and explaining how publishing works differently (given you publish to the Edge):

IMG_0638
IMG_0640

Rob then shared a typical XP implementation diagram and showed how XP Differs as integrations and functionality is moved into the head application:

IMG_0642

He then discussed what is included and not included in XM Cloud in detail. Martin shared some similar slides the day before, but I think these were a little clearer so I didn’t include them in the previous post:

IMG_0644
IMG_0645

This was also a pretty cool comparison of XP vs XM Cloud equivalent features:

IMG_0646

Rob then discussed the Migration approach to XM Cloud. There was a lot of really useful info here about things to consider and how to get your project prepared for the migration and how to tackle it:

IMG_0648
IMG_0649
IMG_0650
IMG_0652

IMG_0653

Next up was the the different development approaches and workflow. I’ve talked about these before but I didn’t know much about option 3 at all. I guess most Sitecore developers (especially in a small team) will use option 1, but option 3 is a really good approach for being able to use local content for your development without having to push it to XM Cloud:
IMG_0654
IMG_0655
IMG_0656
IMG_0657

Rob then went on to explain in detail about how Content Resolvers don’t work if they are dynamic and only static ones do. It’s possible to use some out of the box ones or implement your own GraphQL Content Resolver:

IMG_0659
IMG_0662
IMG_0663
IMG_0664

This is an example of Bread crumbs in XM Cloud and a GraphQL search query:

IMG_0666

IMG_0667

Rob finished his talk with a summary of the benefits of XM Cloud. The shift in Development domain and thinking is the tricky part for a lot of Sitecore Developers I feel:
IMG_0668

 

Rendering your data in headless – 101 different ways
– Mike Edwards

mike-headless-banner

I’ve known Mike for a number of years now and he’s always an good speaker so I was looking forward to Mike sharing his learnings from his headless journey.

IMG_0673
IMG_0674

Mike started by lamenting how things used to be easy in the World of MVC and server-side development and then with all the JQuery and JS frameworks things became pretty bloated.

Things have moved on a lot now in FE development though and there are now many different options for building Headless websites in Sitecore, some of these I’m aware of or have experimented with – Others I’ve not heard of, such as ‘Island Architecture’.

IMG_0674
IMG_0676
IMG_0677
IMG_0678

SPAs bring their own set of problems in terms of page load times and indexability so Mike went into Hydration and Partial Hydration techniques and approaches that try to solve these issues:

IMG_0679
IMG_0680

Then Mike explained more about Partial Hydration examples and Island Architecture. Island Architecture lets you create your web app with pure HTML and CSS for all the static content but then add in regions/placeholders of dynamic content to support interactive ‘islands’ of content. Given the rest of the page is static it downloads really quickly and is available to use faster.

IMG_0681
IMG_0683

Mike then covered Resumability, Edge/Serverless and tools such as Storybook and Hydration Payload.

IMG_0684
IMG_0685
IMG_0686
IMG_0687

There are some Challenges and limitations which need to be re-address:

IMG_0689
IMG_0690
IMG_0692
IMG_0693

Finally Mike ended with saying that this is the future and we need to embrace the new world.
IMG_0694

It was a really interesting talk and gave me a lot to think about and research further. The following talks were 15 minute lightning talks until lunch.

Leverage Sitecore Connect for Sitecore CDP – Sarah O’Reilly

IMG_0695

I’d heard a fair bit about Connect but I’ve not really seen much about how it actually works. So I was looking forward to this session

Sarah took us through an example of using Connect to import user segment data from CDP into Google Ads.

IMG_0696 IMG_0703

Once the export was setup to build from CDP the steps were then configured in Connect to sync to Google Ads:
IMG_0712
IMG_0714

There are tons of Apps supported and different recipes defined and it was impressive to see the options for building logic such as if statements / for loops data mapping and manipulation all within Connect.

IMG_0709

This was an insightful session and really interesting to see how it works. I can see how it could be used to help with migrating to XM Cloud from XP or another CMS platform.

Sitecore components explained for your marketers – Ugo Quaisse

The next session was about the Sitecore Components builder in Pages in XM Cloud. I’ve heard a bit about this but not seen much of it in detail. I was hoping to see a full demo of it. I guess at the session was only 15 minutes there wasn’t time, but I still learned quite a bit about how it works.

IMG_0715
IMG_0716
IMG_0717
IMG_0719

The Component Builder can be used without any development or code required at all. First Themes are setup with colours, fonts and breakpoints configured.

Then datasources are setup and mapped from either a url or json or GraphQL.

IMG_0720

Then the components ‘look and feel’ – layout, dimensions and sizing can be configured in the Builder. This looks pretty neat. Then versioning and publishing is setup for the Component.

IMG_0721

IMG_0722

Lastly some details were shared around the benefits for digital creatives, it’s possible to get Sites built very quickly and easily using Components Builder.

IMG_0723
IMG_0724
IMG_0726
IMG_0727

 

Leveraging XM Cloud APIs and Webhooks to powerup integrations – Ramkumar Dhinakaran & Elakkuvan Rajamani

IMG_0740

After lunch it was time for another session, this time on Webhooks. The use-case here was the XM Cloud Lighthouse Integration which would do an automated quality check of pages using Webhooks and report on it.

IMG_0731

IMG_0742
IMG_0745

Depending on the integration required it might not be best to use a Webhook:
IMG_0756
IMG_0758

Quite a lot of detail was shared with how this all works and integrates.

IMG_0735
IMG_0736
IMG_0737
IMG_0747

There were some links and takeaways shared at the end.

IMG_0763

 

Sitecore Search: Real case PoC – Sebastian Winslow & Jesper Balle

IMG_0766

The 2nd to last session for the day was on the Sitecore search (based on Discover) which I was keen to learn about more as I didn’t know much about how it worked.

IMG_0770
IMG_0772
IMG_0773

CEC looks pretty powerful and can be used to manage search, performance is key and widgets can be configured for search and catalog:

IMG_0774
IMG_0776
IMG_0778
IMG_0779

Some dev resources and admin info were shared:

IMG_0780
IMG_0782

The use case for search was a property Site. There is still some features that need to be built.

IMG_0783
IMG_0785
IMG_0789
IMG_0790

Some info was then provided on Triggers to get the content, Request and document extractors to process and manipulate the content.

IMG_0791
IMG_0792
IMG_0793
IMG_0794

Search API endpoints, results response, API Explorer and ability to refine the widgets.

IMG_0796
IMG_0798
IMG_0799
IMG_0801

It’s early days and the search SDK is still not there yet but it’s coming. Be careful with how much content you try and index when testing but there are some significant benefits to using it.

IMG_0803
IMG_0805

This was a really informative session and gave me all the info I was looking for about how to go about implementing search.

Experiences with Content Hub One – Journey of relaunching our Usergroup website – Katharina Luger & Christian Hahn

IMG_0807

Then it was time for my last session of the day on how the Sitecore User Group Germany rebuilt their site as an SPA using Content Hub One.

The slide below was probably the simplest comparison I saw all SUCON of the differences between XM Cloud and Content Hub One.

IMG_0808
IMG_0811
IMG_0816
IMG_0818

There are 7 Steps to component creation:

IMG_0821
IMG_0822
IMG_0823
IMG_0824
IMG_0825
IMG_0826
IMG_0828

Lastly there were some challenges faced.

IMG_0831

This was a really great session and I’m looking forward to working with Content Hub One in the future.

Virtual Closing Keynote by Scott Hanselman

IMG_0833

There was then an really entertaining and insightful talk from Scott Hanselman. He had some great advice, wisdom and stories to tell to us and I think everyone in the room was pretty captivated by his talk.

IMG_0848

With that it was the end of SUCON 2023, there was a big round of applause for all the organisers. These events take a hell of a lot of organising and a real commitment from everyone involved.

 

IMG_0855

It was time to go and have a few beers and reflect on what was a another brilliant SUGCON.

IMG_0862
Hopefully this is useful info for anyone that couldn’t attend this year or had too many beers and forgot what they learned :-).

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.

Manchester Sitecore User Group – September 2021

sug-image

Back in September I organised the first In-Person Sitecore user group in Manchester in over a year with help from Dom Hurst and Jeremy Davis.

It was kindly hosted by Dept with the Talks on the Big Screen and was great to get everyone together again.

We had 2 great talks and a debate session in the middle which I lead. It was a challenge to organise and promote given concerns around In-Person events. However we got around 25 attendees on the day, so all in all I think it was a success.

I recorded the event but it’s taken me a while to pull the videos off my SLR as needed to find my adapter for my Mac and edit the videos together.

I have finally done this though and you can now view the video of the SUG on YouTube.

Apologies for the sound and video as they are not great quality, we also lost a bit of the end of Jim and My Talks unfortunately. So I will go back to using my iPhone to record future events I think. It’s still worth sharing though I feel.

The Talks

Below is a summary of the Talks as the SUG:

Talk 1 – Shared components with JSS
James Simm, Head Of Engineering @ Dept

IMG_5439
James presented on how Dept used JSS to create a number of shared components to use for the London Marathon website.

Debate Session – Sitecore Acquisitions
Adam Seabridge, Freelance Sitecore Developer & Consultant @Flux Digital

IMG_5428
Adam talked briefly about the recent Sitecore acquisitions (Moosend, Boxever, Four51 etc) and what they are. We then debated how Sitecore might utilise them within their product offering in the near future.

Talk 2 – Exposing assets to any channel with Sitecore Content Hub Experience Edge
Daniel Ionita, Sales Engineer @ Sitecore UK

IMG_5444
Daniel gave an overview of Sitecore Content Hub Experience Edge and a detailed demonstration of combining Content Hub DAM with Microsoft Teams which allowed users to insert DAM pre-approved images into Teams messages.

 

I’m looking forward to organising the next one of these and for the upcoming SUG in London in December.

Feel free to get in touch on Twitter of Slack if you would like to speak at a future SUG.

My Sitecore Symposium 2020 Agenda

lonely-road-3

It’s Sitecore Symposium this week and It’s going to be a bit different this year. I attend Symposium in the USA most years and I’d usually be boarding a plane about now, this year (if it wasn’t for COVID-19) I’d be heading to Chicago. Instead the entire conference is Digital.

This means unfortunately I won’t get to catch-up with others in the Sitecore Community in person or get to do a bit of travelling which is a shame.
However there are some benefits though (other than it being a whole lot cheaper) which is that there a a lot of on-demand and breakout sessions which (if you purchase an all-access pass like I have) I believe you can access after the event. So unlike in the real-world you can catch up on sessions you’ve missed, in-light of this I’ve sometimes selected more than one clashing session.
An additional benefit I guess you’ll probably not have a hangover for those early Morning sessions either :-).

Anyway I’m looking forward to Sym and thought I’d share the sessions I’m playing on attending and why. You can find the full agenda here.

  Day 1 – Tue 27th


» 10:20 – 10:50am (CDT) – Sitecore business update with CEO Steve Tzikakis

Steve Tzikakis – Chief Executive Officer – Sitecore

– This is the first opportunity to listen to Sitecore’s now CEO. I’m looking forward to hearing what Steve has to say and his plans for the future.


» 11:45am – 12:45pm (CDT) – Influencer Roundtable with Microsoft: Integrating AI into your existing digital marketing strategy

Colin Wright – Director Strategy – Microsoft
Jonathan Weindel – Advanced Analytics Manager – Microsoft
Wina Wichienwidhtaya – MarTech Strategist – Microsoft Corporation

– I’m interested in seeing how other Sitecore customers are using AI and gaining further insights from Microsoft.


» 12:50 – 1:15pm (CDT) – Premium general session: The Road to Product Innovation

Desta Price – EVP Product Management – Sitecore
Tom De Ridder – Chief Technology Officer – Sitecore

– This is an all-access pass session and looks like it will give some insight into Sitecore’s plans for the future as well as the latest innovation’s in Sitecore 10. 


» 1:45 – 2:15pm (CDT) – Serialize your way to success

Charlie Turano – Product Manager – Sitecore

– I’ve installed Sitecore 10 and experimented with the new Seralization features but I’m looking forward to learning more about it.

OR

» 1:45 – 2:15pm (CDT) – 2020 and beyond: Integrating Sitecore with emerging technologies to wow your customers
Brian Henderson – Sitecore Architect – XCentium
Julia Gavrilova – Technical Director – XCentium

– Using Sitecore to power and Personalise 3D and AR technology sounds pretty cool to me so I’m intrigued to find out more.


» 2:20—2:50pm (CDT) – Real-time personalization in a true omnichannel world using JSS and Azure

Bas Lijten – Principal Architect – Achmea

– This sounds like an interesting approach and use of some of Sitecore’s newer features to fulfil some complex requirements.


» 3:10 – 3:40pm (CDT) – Containers & AKS: Taking Sitecore 10 to the next level

Bart Plasmeijer – Senior Software Architect – Sitecore
Rob Earlam – Technical Evangelist – Sitecore

– I’ve played around with the Docker examples for Sitecore 10 and have been impressed how quick and easy it is to spin up a development instance with Docker. I’m looking forward to hearing more and seeing how AKS can be used with Sitecore.

OR

» 3:10 – 3:40pm (CDT) – Content as a Service: A preview
Alistair Deneys – System Architect – Sitecore
Andy Cohen – System Architect – Sitecore

– I’m always keen to learn more about new Sitecore features so this session regarding Content as a Service (CaaS) should be interesting.

OR

» 3:10 – 3:40pm (CDT) – Insufficient facts always invite danger, Captain!
Neil Killen – Technical Director – Valtech

– Monitoring and performance of Containerized environments is all new to me so I’m looking forward to learning more about this.

  DAY 2 – Wed 28th


» 12:05 – 12:35pm (CDT) – Data privacy and Sitecore

Rob Habraken – CTO – We are you

– GDPR is tricky subject so I’m going to drop in on this session to make sure I understand all the touch-points to consider in Sitecore for the right to be forgotten.


» 12:40 – 1:10pm (CDT) – Sitecore AI: Auto Personalization Standard for Sitecore 10

Marcos Guimaraes – VP, Chief Data Scientist – Sitecore
Nancy Lee  – Principal Product Manager – Sitecore

– I’ve not really seen the Auto Personalisation in Sitecore 10 in action so I’m interested in learning more about this.

OR

» 12:40—1:10pm (CDT) – How to develop with the new ASP.NET Core rendering SDK
Nick Wesselman – PM, Developer Experience – Sitecore
Oleg Jytnik – Technical Lead – Sitecore

– I’ve been experimenting with the new ASP.NET Core rending SDK using the examples on https://doc.sitecore.com, but I’ve got a lot to learn still so I’m really looking forward to this session.

~ At this juncture I might do some yoga…no your right I probably won’t. I’ll likely just go and see if we’ve got any more biscuits in the cupboard instead. I’m just checking you’re still awake :-). ~

» 1.30 – 2.00PM (CDT) – Content Orchestration: A symphony between Content HUB and Sitecore XP using Content Hub Connector
Akshay Sura – Lead Platform Architect – Konabos Consulting
Sumith Damodaran – Sr. Product Manager – Sitecore

– Fellow MVP Akshay has been doing  a lot with Content Hub over the past few months so it will be great to learn more about Content Hub and Content Hub Connector.

OR

» 1:30—2:00pm (CDT) – Choosing the right option for building your Helix solutions
Shelley Benhoff – Lead Developer and Author – The Berndt Group

– Shelly has written some great Pluralsight courses so this session is bound to be informative.

» 2:45—3:45pm (CDT) – Failing Up: How to Take Risks, Aim Higher, and Never Stop Learning / Closing remarks with Paige
Leslie Odom Jr – Tony and Grammy Award-Winning Performer

Paige O’Neill – CMO – Sitecore

– The closing session of Symposium should be interesting and entertaining too.

On Demand

On top of all the live content there is a heap of On-Demand content too, I’m planning on watching some additional sessions on SOLR, SXA, Kubernetes, Content Hub, JSS, Upgrades and there are loads more for you to watch besides these.

It’s just as well I’ve taken 3 days off work to learn all of this. If you haven’t got a ticket yet then I think you can still grab one here. You’ll be missing out on a lot of interesting stuff if you don’t.

The Business Case & Considerations for a Sitecore 9.2 Upgrade

smoke-2551073_1920
I don’t often write Sitecore blog posts from a business perspective but I today I thought I would as I think some Sitecore customers are still on 8.x or 9.0 and are considering an upgrade to Sitecore 9.2.

With Sitecore 9.3 likely to be released later this year and mainstream support for 8.2 and below running out in December now is a good time to consider upgrading.

In this post I’m going to outline what the benefits of moving to 9.2 are and also the considerations you should make before embarking on an upgrade.

What are Benefits / Features of Sitecore 9.2?

This is usually one of the first questions that will be asked. I’m not going to keep this fairly high-level as there are many in-depth blog posts out there on Sitecore 9.1 & 9.2 features but the following should provide a succinct summary.

Sitecore 9.1 & 9.2 bring a lot of new features and there has been a big focus on splitting features and functionality out from the previous large monolithic architecture to a smaller modern micro-service based architecture:

  • Sitecore Cortex – Sitecore’s new Machine Learning Brain which can Suggested Personalisation and process and leverage customer data
  • Sitecore Identity – Single Sign On and Federated Authentication (using IdentityServer)
  • Sitecore Universal Tracker – Provides an central Analytics API to track  interactions from any device (e.g mobile apps, IoT, AR and VR)
  • Sitecore JavaScript Services (JSS) – allows development of apps using front-end frameworks such as Angular, React and Vue, using Sitecore as the source for the data (including SXA & Sitecore Forms support in 9.2).
  • Sitecore Accelerator Framework (SXA) Accessibility Improvements – SXA has been around for a couple of years and is a package or pre-built components for Sitecore allowing you to get sites up and running quicker.
  • Sitecore Host – A lean common runtime for .NET Core applications (Powers: Horizon, Universal Tracker, Sitecore Identity)
  • Helix Configuration – 9.1 shipped with some Helix configuration already setup. Helix is Sitecore’s recommended approach to building Sitecore Sites it sets out an number of overall design principles and conventions to follow.
  • Sitecore Installer Assistant (SIA) – 9.2 provides a new GUI for easily installing Sitecore in a few clicks
  • SSL offloading – 9.2 provides an SSL offloading config to Improve security and performance by shifting SSL Processing onto separate processors
  • Active Personalization Dashboard – 9.2 has a new new dashboard which provides an overview of all personalization actively occurring, providing visibility of poorly/well performing tactics to act upon.
  • Many other improvements including: Search, Content Delivery, xDB and Analytics, Sitecore Forms, EXM, SIF(2), YAML Item Serialization, Bug Fixes and performance Improvements

But We’re on Sitecore 8.2 or below, what else do I get?

Mainstream Support

If you are yet to upgrade to Sitecore 9 then you need to consider this soon as Mainstream support for 8.2 and below expires in December 2019. https://kb.sitecore.net/articles/641167
This means that whilst Sitecore will still provide security updates and fixes and endeavour to assist with product incidents they may not provide support for the following:

  • Assistance with errors or unexpected behaviour during installation or development
  • Addressing product defects as hot-fixes or patches
  • Compatibility fixes for supported technology platforms.

Therefore if you are on 8.2 or below after December this year then you may need to upgrade to resolve certain issues (depending on what the issues are).

Sitecore 9.0 Features

If you are on 8.2 or below you will also benefit from all the features released in 9.0, here are the key ones:

  • xConnect – Provides an unified API that centralises data access
  • Headless CMS support and JSS – Allows web apps to be built with React, Angular, Vue using Sitecore data
  • Rules based configuration – Configuration is now much simpler as it can be set based on the server role (e.g Content Delivery, Content Authoring)
  • Sitecore Install Framework (SIF) – SIF is a framework for installing Sitecore using automated scripts. This is how Sitecore 9 and above is now installed and it means deployments can be automated easier.
  • Sitecore Accelerator Framework (SXA) – SXA is a pre-built set of components to allow pages to be developed quicker with less development effort
  • Sitecore Forms – Sitecore 9.0 has newly designed forms to replace WFFM. These are built in a modern way and are easier to configure and customise.

Upgrade Considerations

sitecore-logo
So there are clearly some significant benefits to carrying out an upgrade to Sitecore 9.2, especially if you are on 8.2 still, as some customers are.
There are some additional requirements and considerations when moving to Sitecore 9.2 and standard upgrade considerations which need to be planned for:

  • Additional Servers / Roles – Due to changes to the architecture to split out elements of Sitecore into smaller services Sitecore 9, 9.1 and 9.2 require some additional Servers and roles. These are for xConnect, Identity Server, Cortex and processing. When you are planning resources for your upgrade this should be considered, particularly on Azure as there are quite a few additional services required.
  • Module Upgrades – Most Sitecore sites will make use of a number of Modules to extend the out of the box functionality. Some popular modules are: Web Forms for Marketers (WFFM), Url Rewrite and Sitecore Powershell Extensions (SPE). It is important to ensure that each module you are using is supported in Sitecore 9.2 and to consider time for upgrading each module as part of the upgrade process.
  • Updated Licence – Most customers will require a new licence generating when upgrading to Sitecore 9 and above. Therefore ensure you request this from your account manager in advance and that you have all features/modules you require included on your licence.
  • Active Directory module – Sitecore 9.1 & 9.2 or later does not support the Active Directory module. Sitecore uses Identity server to handle logins instead of legacy methods such as AD. Therefore if you are upgrading to 9.1 or above and use the AD module you will need to implement an integration with Active Directory from Identity Server.
  • Search – Sitecore 9 and above no longer supports Lucene so you must use SOLR or Azure Search. Lucene did not work well in distributed search scenarios so moving to SOLR or Azure Search has been recommended for a while. SSL is also required for SOLR in 9.0.
  • Code & Configuration Updates – Sitecore try and reduce breaking changes where possible but sometimes they are unavoidable, so as with all Sitecore upgrades some custom code and configuration will need to be updated to be compatible with Sitecore 9.2.
    To assist with this process Sitecore does provide an Express Migration Tool (to get to 9.0) and an Update Installation Wizard to update to 9.2. However these tools will likely only get you so far for highly customised Sitecore implementations and will likely need some manual upgrading too. Any code that needs upgrading will not be auto-upgraded by the tool. If you are on 8.2 then there are quite a few changes for analytics with xConnect. All references in Visual Studio will need updating to 9.2 also.
  • Support Patches & Hotfixes – You will likely have some hotfixes or support patches that have been applied to your solution over time. These will need analysing as part of the upgrade to understand if they are still required or not in 9.2. Many of these may have been rolled into 9.2 already.
  • Analytics Data upgrade – Part of the upgrade process involves migrating xDB data in the 8.x format to Sitecore 9.2 format. Sitecore have a tool for this: https://dev.sitecore.net/Downloads/Sitecore_xDB_Data_Migration_Tool/3x/xDB_Data_Migration_Tool_300.aspx
  • Implementation Quality – Best practice Sitecore implementations do not customise any out of the box Sitecore files and instead use patch files and extensions to customise configuration and other Sitecore functionality. Ideally the base platform should be installed ‘as is’ and the customisations layered on top to assist with upgradability. Depending on how well your implementation has been carried out will impact how easy it is to upgrade. If your implementation is not best practice then your team should take the time during the upgrade to correct this and take advantage of some of the newer and better ways of doing this.

A Note on Upgrading WFFM

sitecore-formsOften one of the key stumbling blocks for upgrading Sitecore to 9.1 or 9.2 is Web Forms For Marketers, this is because it was deprecated in Sitecore 9.1 and is also not supported in Sitecore 9.2. Sitecore 9.0.2 is the last release where WFFM can be used. Sitecore Forms has replaced it.  If customers have many forms this can be a bit daunting.

So you could just upgrade to Sitecore 9.0.2 and stop there, but you would be missing out on a lot of features and you will need to upgrade again in the near future. Thankfully there is another option, there is now a community built tool to help automate this for you and convert WFFM forms and data to Sitecore Experience Forms: https://github.com/afaniuolo/WFFM-Conversion-Tool. I have yet to use this but have heard good things about it and it is regularly updated.

 

I’ve tried to cover the key features of 9.2 and considerations for upgrading here. As you can probably see the longer you leave an upgrade the more complex it becomes as there are more changes to consider. Frequent upgrades of Sitecore should be the aim as this will reduce the time and investment needed to carry them out. Hopefully you’ll find this post useful for planning an upgrade to Sitecore 9.2 and leverage the investment you have made in the platform.

Sitecore Symposium 2018 – Thoughts and Takeaways

I’ve just arrived back from Symposium 2018 in Orlando, Florida and thought I would share some of what I learnt with those who couldn’t make it this year.

5274I’ve been to a previous Symposium in New Orleans but as I missed it last year due to moving house I was keen to attend again this year. This time around it is also my first as an MVP and is a great opportunity to learn more about the latest release of Sitecore and what’s planned for the future.
I would be joining over 3000 attendees with 3 days of sessions on all things Sitecore. I arrived early evening for registration the day before and caught up with a couple of Sitecorians. The conference would start proper the following day.

Day 1

Opening Keynote

5899
This year Symposium kicked off with an opening keynote by Paige O’Neill & Mark Frost. The theme this year is ‘elevate the experience’ and  there were some welcome announcements from Sitecore:
  • JSS finally in general release – I’ve experimented with JSS and seen it go through quite a few changes and improvements over the 4 technical previews but it wasn’t officially supported. With the 9.1 release it will be generally available and officially supported. This is great to see and there were many talks on JSS throughout Symposium that made my want to try and get using it on future projects where possible.
  • Stylelabs acquired by Sitecore – Stylelabs has been acquired by Sitecore to provide true DAM capabilities for assets in Sitecore. The integration isn’t there yet but it’s certainly an interesting announcement and from demonstrations of the products abilities it looks like it could add some real benefits and powerful asset management features to Sitecore.
  • Sitecore Cortex TM – Cortex is part of the new Micro services architecture that is present in 9.1. It is Sitecore’s Machine Learning brain which provides Content tagging, automated personalization recommendations (with preview). It also supports flexible integration with 3rd party systems and other Machine Learning engines and platforms. Again there were quite a few sessions on this at Sym, more on this later.
  • Deeper Salesforce Integration – with 9.1 it is now possible to see behavioural data integrated into Sitecore.
5906
Following this keynote there were Talks by:
Volvo – who showed off their Car as a service offering (CaaS) where customers can swap their car every 12 months or in future even for a weekend trip with the family. An interesting concept that could be the future of Car usage.
Cannondale – who used IoT devices to pass data to the Website about customers bike usage which then used Machine learning to recommend bikes for them based on how they ride and check stock based on their location. They had also built augmented reality into their app to assist customers with setup and maintenance of their Bike. Pretty cool stuff.
Sickkids – this is a charity that raises money for Kids who are not well. They used to have fairly average charity branding but re-branded from a needy charity to create strong engagement with potential donors. The videos that were shown were very hard-hitting and I think there were are few people in the room that got a bit emotional :-). They have so far raised $628 million in 6 months and are halfway to raising over 1 billion dollars which will be the most ever raised by a charity in a year. During the event Sitecore donated $25 for every 3 minutes ridden on a bike for Sickkids (which I and about half of the attendees did) which raised $50,000 for Sickkids.
5913
NotImpossible – Last and not least Mick Ebeling from NotImpossible talked about how his company have created tech for the greater good to help: create special glasses to allow an artist he was introduced to not only speak again but to draw art with his eyes. Create a wristband that uses vibrations to allow deaf people to feel music and which also was ‘potentially’ a cure for Parkinson’s. And lastly how he setup a 3D printing lab in Africa to print a boy who lost his arms two new arms and then taught the locals how to use the machines to print arms for $100 which would usually cost $15,000!. This guy was truly inspirational and a brilliant story teller. He also came up with the best phrase of the conference:
‘Commit. Then figure it out’
Hopefully more companies will take inspiration from this and look to do more to help others, as Mick said it’s good for shareholder value and good for the world.
After this is what time to have lunch and head to our first break-out sessions, I decided to start with a Session on Headless.

Headless CMS and the Great Uncoupling – Deane Barker

5922
This talk was interesting and made a number of points about the current state of the headless CMS vendor market and where the likes of Contentful sit compared to Sitecore. The key takeaways from this were:
  • Contentful and others Headless CMS’s are currently not the same as Sitecore, they only offer part of the picture – content repository, they don’t offer preview, drag and drop etc.
  • The market has turned from a blue market where they were disruptive and new to a red one where it has matured and it is now more crowded.
  • Headless vendors are selling to IT again now instead of Marketing. However Marketing will start to ask how they view, personalise or track things with a headless CMS and therefore vendors will start to add these features. Some have already tried to add things like preview and a basic page editor.
  • Sitecore already has all of this functionality built in so is strongly positioned to cater for this change

The Cortex Engine, process at scale – Alistair Deneys

5929
I went to find out more about Cortex and got a deep-dive into the inner-workings of Cortex. The key takeaways here were:
  • Cortex provides intelligence and moves us into a contextual era of content management
  • Has a task based system which decides how to run a task depending on it’s type and allows tasks to be chained
  • It can pull from many different sources, including external systems
  • Uses an ML Model and uses the same Message Bus as xConnect
  • Can Sync content to other systems for analysis

Sitecore 9.1 Overview – Pieter Brinkman

6141
This talk crossed over with the Cortex talk so I couldn’t attend it. However I did install 9.1 recently and have seen other info on it at Symposium. I’ll be writing a detailed blog post on this soon but here are a few Sitecore 9.1 pointers:
  • Helix Folder Structure is provided by default
  • Significant speed improvements have been made (as much as 20 secs for CE)
  • Personalisation & Platform enhancements
  • Sitecore Identity Server comes with 9.1 – Single Sign On / Federated Authentication
  • Cortex – Suggested Personalisation
  • JSS now in General Release
  • Universal Tracker – Mobile Analytics
  • Horizon – New UI

Horizon uncovering core UX and architectural concepts – Alec Orlov

5950

This session was on the new Sitecore content and page editing User interface that is in development and will be released after 9.1, probably in an update.

  • It will co-exist with the existing Content Editor and Experience Editor interfaces.
  • It will be a new launchpad icon for now but will eventually replace Content Editor and Experience Editor
  • It is brand new and build using the new Microservices based architecture in Sitecore 9.1 to make it a lot faster
  • It supports existing MVC field renderer code for Experience Editor
  • Horizon does not yet support JSS

5952

5964

This was really good to see and a welcome improvement on the current Sitecore UX. It will be interesting to see how this affects existing Content Editor and Experience Editor customisations and what effort is required to re-implement these.

Working with JSS Gold Master and Marketing Automation – Rick Bauer & Corey Smith 

5978
Corey and Richard presented on their experiences of using the final release of JSS:
  • They talked about the different modes: connected, disconnected, headless etc
  • How quick it is compared to MVC development and that MVC developers need to start learning React/Vue/Angular to avoid the risk of becoming obsolete
  •  Showed how analytics are still tracked and how you can still protect against things like cross site scripting attacks

Closing Keynote – Daymond John

5984
Daymond John from the US TV show Shark Tank closed out the first day with his story of how he created FUBU clothing, got hip hop artists to wear it and turned it from a bedroom business into a multi-million pound selling product. It was an entertaining and amusing talk and served as a good end to an informative day.

Day 2

Helix and JavaScript Services (JSS) – Jean-Francois L’Heureux

5989
  • It makes sense to keep the same structure for front-end code as back-end code by splitting front-end code into feature folders and components and using similar naming conventions.
  • Use custom linters (eslint) to validate that the front-end development approach follows Helix principles by enforcing certain rules within the linter.
  • Jeff has added JSS app templates to github which you can use to start projects off with a Helix architecture.

You can see more info on this here: https://www.jflh.ca/2018-10-13-helix-and-sitecore-javascript-services

Integrated DevOps with Azure, Git, PowerShell and Slack – Rob Habraken

5999
Rob showed us the build pipeline he uses on some projects, integration with various tools and processes he follows:
  • Devs are worried about deployment, they shouldn’t be if they release little and often.
  • Unicorn used to push out database updates and and Razl to sync back locally
  • 20% of time on a sprint is spent on DevOps tasks and 1hr per sprint is spent on fixing SonorCube issues
  • PRs should be mandatory and all releases created from the trunk. Labels in Github can be used to manage this.
  • Connect Slack to Github to see releases and PRs and also use custom Webhooks to allow for custom Slack commands to see which build was live currently etc.
  • Content should also be part of Continuous Delivery
  • CD should be warmed up after deployment but it is not possible with CMs

You can find out more info here: https://www.robhabraken.nl/index.php/3000/integrated-devops/

Leveraging Sitecore data on a static website with GatsbyJS and GraphQL – Bryan Mills and Adam Lamarre

6061

This was an interesting talk about using the JSS GraphQL engine in Sitecore with Gatsby to build websites.

  • The final product is just static HTML in a flat file
  • Demo’d a site built with Gatsby
  • Results in: simple deployments, no boilder-plate or back-end code, direct field access
  • Good for: Microsites, Product Sites, Time-limited Sites, Sites for lead-generation, Dashboards, Knowledge Base
  • Is  used by some big brands such as Nike, Airbnb, Facebook

You can see the demo here: https://github.com/millsb/symp-gatsby

Day 3

10x your Sitecore development – Mark Cassidy

6144

Mark gave us some of the benefit of his 13+ years of Sitecore development with some tips and tricks on how to reduce complexity and development time for Sitecore sites:

  • Mark Demo’d building a Sitecore 9 Site from scratch with no frameworks, mappers, Code generators, ORMs
  • As Sitecore developers we should be looking to reduce complexity of Sitecore builds. End-clients of Sitecore often complain about the complexity of Sitecore solutions.
  •  Divide the work horizontally, not vertically to allow less experienced developers to contribute and more experienced devs to focus on the more complex work.
  • Sitecore APIs can be used directly without abstractions – KISS.
  • 1 to 1 – 1 Controller, View, Model, Datasource etc per component

you can find Marks presentation, Site used and video here: https://github.com/cassidydotdk/Sym2018

A Helix approach to devops in light of the Sitecore micro-service architecture – Thomas Eldblom

6156

Thomas created the idea of Helix and in this talk explained how Helix principles can be applied to infrastructure too:

  • Sitecore is getting more complex and therefor the Infrastructure layer should now be considered below the foundation layer as part of the Helix architecture
    6159
  • The infrastructure layer should define: Resources, Platform, Storage/Networking Services, App Roles, Extensions & Packages
  • Sitecore as a service doesn’t exist right now but this is what customers want and it’s up to us to help customers achieve this

Closing Keynote: A look into the future – Ryan Donovan

6199

In the closing keynote we were shown a demo of how Stylelabs will integrate with Sitecore to manage assets and a recap on the key takeaways from Symposium.

And with that it was the end of another great Symposium, I’ve learn’t a lot over the past week or so and I’ve got lots of ideas to think about. It was also great to catch-up with fellow Sitecore MVPs and make some new friends, I’m already looking forward to Symposium next year.

Ryan Bailey

Before I go I should mention that sadly a fellow MVP Ryan Bailey Passed away shortly before Symposium.  Although I didn’t know Ryan I heard some amazing things about him at Symposium and have been helped by some of the posts he regularly wrote on his blog: https://blog.ryanbailey.co.nz/.

A site was created to help raise money to support his family and Incredibly due to community the site has raised over 13k so far: https://givealittle.co.nz/cause/support-for-ryans-family

You can donate at the above link and read more about this here:
https://sitecorestorm.blogspot.com/2018/10/an-amazing-thing-happened-at-sitecore.html.
Props to Corey and Kam who helped get more donations by shaving off their Stache and Beards at the MVP Summit!

Sitecore SUGCON 2018

Estrel
I’ve just come back from SUGCON 2018 in Berlin and I think it was the best one I’ve been to yet. It was my third time attending the Sitecore User Group Conference (a conference for the Sitecore Community organised by the Sitecore Community). This year I was lucky enough to be going as a first-time MVP and would be collecting my award during the conference.

I arrived early to see a bit of Berlin on the Sunday and catch up with some friends, colleagues and other Sitecore Devs and MVPs and before I knew it it was time for SUGCON to start.

sky

It kicked off with some fancy lights and music and Peter Brinkman with the opening Keynote explaining how large SUGCON has grown since it started in 2016, there were 600 attendees this year!.

There was a lot to take in over the 1.5 days so before I forget it all I’ve summarized below some key learning’s from my two days at SUGCON 2018.

Day 1

Opening Keynote – Pieter Brinkman

welcome

    • There will be two major Sitecore releases every 6 months and (spring & fall) which will contain new features and functionality
    • Updates / Patch releases will only contain fixes and not features/breaking changes.
    • Releases will be a full delivery including code, training and documentation

Sitecore releases

Great news for all Sitecore developers and customers who have been frustrated with this in the past.

Commerce + IoT In Powerful Ways – Jason Wilkerson & Richard Seal

Next up was well known MVPs Jason Wikerson and Richard Seal who created a fictional SitecoreLand complete with wristbands to access the park to demonstrate how IoT can be used with Sitecore .

IoT

    • Previously this was only possible by building most of the functionality yourself buy it is now possible out of the box with xConnect + and IoT Hub and IoT Listener.

IoT

  • Store the least amount of data you need to achieve what you want to do for your customers.
  • With SXA, Experience Commerce, xConnect, EXM, xDB and Marketing automation you now have all the tools you need to create these kind of experiences for customers with Sitecore. Your imagination is the only limitation.

Impressive stuff and a real show-case for what’s possible with Sitecore. Speaking to Jason afterwards he said it took longer to Photoshop in the memes of Longtime MVP Jeremy Davis who got trolled hard in the talk. This wasn’t to be the only time today either :-).

Jeremy

Uber-modern Apis For Sitecore – Kam Figy

Kam has been building the CLI for JSS and underlying APIs and took us through some of these focusing heavily on GraphQL.

graph API explorer

  • GraphQL is:
    • Strongly Typed
    • Queries only the specific fields you need (no overfetching)
    • The response matches the query (so you know what you are getting)
    • Is discover-able
    • Batches queries and catches and returns errors
  • Kam demo’ed an app he’d built that used GraphQL and mimic’s the database browser in Sitecore.

jss browser

  • It’s possible to extend the GraphQL API using Query Extenders and add additional fields. These are than patched in using config.

extender

links

All-in-all some interesting stuff to experiment with here, since I’ve playing about with JSS too this is something I plan to look at in more detail.

Sitecore XDB & GDPR Applied – Rob Habraken

gdpr

Rob opened by saying this was a dull subject. That it may be but it is also a very hot topic and something many clients need to implement very soon so this was a very insightful session for me.

sitecore gdpr

  • Sitecore 9 has GDPR features out of the box and Sitecore 8.2 Update 7  will also have them.
  • 6 Steps to follow to implement GDPR With Sitecore:

IMG_1529

IMG_1532

IMG_1536

IMG_1540

IMG_1542

IMG_1548

Azure Round Table – Tamas Varga

The final session I attended was an Azure Round Table where there were some really good insights from those who have used Sitecore Azure:

Azure

  • Using the provided Azure ARM Templates is a good start but can I can be limiting as time progresses so creating your own is the way to go eventually.
  • There can be problems with CSS and JSS not being published yet when swapping between servers.
  • Testing an Azure Sitecore setup on a development environment and keeping costs down can be a challenge. MSDN provides free credits for subscribers.
  • If using Azure the advice is to move to Sitecore 9.x if you can first as that will make things much easier.

Awards, Quiz & Drinks

At the end of Day 1 I had the privilege of going on-stage and picking up my MVP award with the other 2018 MVPs. I’d seen the MVPs collect their awards in previous years but didn’t think I’d be joining them this year, I felt very proud to be sat alongside everyone. Obviously a few beers were enjoyed afterwards to celebrate.

mvps

Day 2

Sitecore Install Extensions In Action – Robert Senktas

I hadn’t heard of SIX before but having had some experience of using SIF when installing Sitecore 9 this looked interesting.

IMG_1562

  • SIX has a number of powerful features that make it superior to SIF and it support storing sensitive data in Azure Keyvault:

IMG_1564

SIX

  • An early GUI was demo’ed that runs on top of SIX and allowed an Octopus style management of the install process.

softserve

This all looks pretty cool and definitely something I’m going to look into further.

White Hat Hackers Guide To The Internet – Mikkel Ole Romer

IMG_1576

This was the most packed break-out room I saw over the two days.  Mikkel showed some simple Hacking Techniques he’d tried on a list of Sitecore Solutions and the results were quite worrying.

  • He showed us some simple hack’s he’d tried:

IMG_1577

IMG_1580

IMG_1581

  • The results of the test were a little worrying…

IMG_1582 IMG_1584 IMG_1585This session was a bit of an eye opener to say the least. Check your Sitecore installs configuration and patches folks!

 Sitecore & The Blockchain – Jason Bert

Since I have some Bitcoin & Ripple and I’m interested in Crypto and the application of Blockchain technology this seemed like a talk I wouldn’t want to miss.

blockchain

  • Jason used a number of technologies to store the details of a ticket purchase on the Etherium Blockchain.

IMG_1594

IMG_1595

  • Jason used a local Etherium Blockchain testing tool called Ganache but in the real-world this could be slow and potentially costly.

IMG_1596

This was an interesting talk that certainly makes you think about how these technologies could be used in future.

From Forms to Riches – Kamruz Jaman & Mike Reynolds

IMG_1598

Having talked to Kam a bit about what he was going to discuss I was looking forward to a bit of a deep-dive into the new Sitecore 9 forms module and thats exactly what we got.

IMG_1600

  • The metrics stuff and interface looks pretty cool.

IMG_1602

IMG_1605 IMG_1606 IMG_1607

  • We were also shown how to create a custom field and data encryption was discussed.
  • But there is some functionality missing as it’s an first release. If you need to you could build some of this yourself.

IMG_1617

Latest Goodnesss JSS – Alex Shyba & Adam Weber

Having presented a talk on JSS at the Sitecore Sessions in Manchester recently I had a good idea about most of this talk but there was still some really great stuff to see and hear. I got to speak to Alex and Adam in person too and they were really helpful.

jss

IMG_1624

IMG_1625

Rendering level JavaScript was what I was really interested in seeing. This is JSS Components running along-side MVC ones in the same page!.

IMG_1629

It was really cool to see this in action. I’ll be trying this out as soon as I get chance.

IMG_1631

IMG_1633

IMG_1637

IMG_1640

Time to go home

After a few words of thanks to the organisers and attendees for an fantastic SUGCON it was time to head home….After a few more drinks of course.

IMG_1642

What did I get out of SUGCON?

This year I was determined to do more networking and spend time talking to people in the Sitecore Community who I’ve spoke to on-line but never/rarely met. I certainly learnt a great deal from the sessions too but getting to chat to fellow MVPs, Developers, Sitecore Employees who I’ve known online for sometime but not met was my favorite takeaway from the past couple of days. If you didn’t make it this year and are thinking of going next year then I’d highly recommend you get your tickets booked for SUGCON 2019 in London on the 4th & 5th of April. You won’t regret it.

Getting Started with Sitecore JSS

I saw a demo of JSS at SUGCON last year by Alex Shyba and it looked really cool. Ever since I’ve been keen to try it out as soon as I could. This post covers the basics of setting up JSS and running a demo React App.
jss-logo
The first stumbling block however was getting an install of Sitecore 9 up and running.
You will need this before you can proceed with the rest of this tutorial so if you don’t have Sitecore 9 installed already then you can read my Blog Post on how to install Sitecore 9 update 1 here.

What is JSS?

JSS is an SDK that allows developers to build websites using Javascript frameworks such as React and Angular. Sitecore is used as a Headless CMS to provide the Sitecore item’s presentation details as JSON. It has full support for the Sitecore Experience Platform, including Experience Editor, Personalization, MV testing and Tracking / Analytics.

One thing that will keep front-end developers happy is that Apps can be built entirely detached from Sitecore and then deployed to Sitecore later. This also means that Sitecore doesn’t need to be installed to build applications with JSS. Apps are deployed to Sitecore using JSS code-first services via the command line.

This just touches on the basics of JSS, you can read more about it and the full install instructions here: https://jss.sitecore.net

Prequisites

  • Sitecore 9 or 9 update 1 (with a licence with JSS included)
  • Node JS version 6.9 or above
  • NPM version 5 or above

JSS Setup Steps

There are a number of steps required to Setup JSS before you can start developing using it. Follow all of these for the purposes of this post.

  1. Download and install the following two JSS server packages in Sitecore (using the package installer) from here: https://dev.sitecore.net/Downloads/Sitecore_JavaScript_Services/90_Tech_Preview/Sitecore_JavaScript_Services_90_Update_1_Tech_Preview.aspx
    1) Server Package (Tech Preview 9.0.1 rev. 180111)
    2) Infrastructure Package (Tech Preview 9.0.1 rev. 180111) – this is optional but is needed if you want to deploy your App to Sitecore via the command line

  2. Apply this to the web.config at the bottom of the system.webServer/handlers section:

    <add verb=* path=sitecorejss_media.ashx type=Sitecore.JavaScriptServices.Media.MediaRequestHandler, Sitecore.JavaScriptServices.Media name=Sitecore.JavaScriptServices.Media.MediaRequestHandler />

  3. Apply this to the web.config inside the system.webServer/modules section:

    <add name=”Sitecore.JavaScriptServices.Ship.ShipFilter” type=”Sitecore.JavaScriptServices.Ship.ShipFilter, Sitecore.JavaScriptServices.Ship” />

  4. Login to Sitecore Desktop on the Sitecore 9 instance you want to use. Switch to the Core database. In the Content Editor Navigate to: /sitecore/system/Settings/Services/API Keys
    and  insert a new API Key item, call it ‘JSS API Key’. Under AllowedControllers, which fill in the field with: “*”. Leave the rest of the fields as is. (more info on this step here). Take a note of the Item ID of the API Key item as you will need it in the next step.
  5. Verify everything works by going to:

    http://your-sitecore-instance/sitecore/api/layout/render/jss?item=/&sc_apikey={YOUR_API_KEY}.

    You should see something like the following in your browser:
    jss-test

Downloading & Testing a Demo App

Were going to use React for this and to keep things simple were going to use the simple React demo.

  1. Pull the JSS Demo source files from here: https://github.com/Sitecore/jss/tree/master/samples/basic-sample-react
  2. Go to IIS and add a ‘jssbasicapp’ as a new binding in IIS
  3. Edit your hosts file (C:\Windows\System32\drivers\etc\hosts) and add the following:

    127.0.0.1 JssBasicApp

    (you can change the name of the app and other settings if you want by editing: jss-basic-app.config)

  4. Open command line and go to the folder where you have downloaded the basic react sample (e.g: C:\Projects\Jss-Demos\samples\basic-sample-react).
    Run:

    npm install

  5. Next Run:

    npm run setup

  6. Next Run:

    npm run deploy-config

    You will be asked: ‘Would you like to configure connection settings to a Sitecore instance?’ – Enter Yes.
    When prompted enter your the Website Folder and Host of your Sitecore instance.

    (If you have any issues with this ensure you have your permissions set so allow the script to run and copy files over to your Sitecore instance)

  7. Lastly Run:

    npm run start

This will build the app and run a WebPack server, finally it should open up a browser showing the basic App at the following url: http://localhost:3001.

This will look like the homepage of a Standard Sitecore 9 install.

The App is not currently using Sitecore for data, it is being provided by local files within the app.

Deploying the App to Sitecore

Finally were ready to deploy the app to Sitecore and hook it up using real Data.

  1. Run:

    npm run deploy-codefirst

  2. Open up: http://jssbasicapp/ – you should see the following:
    jss-deploy1

  3. Lets double check it’s worked correctly by going to your Sitecore instance, opening Content Editor and going to: /sitecore/content/JSSBasicApp. You should see something Similar to:
    jss-tree

  4. Ok lets make a change to a component and re-deploy it to see the change working. Open up \samples\basic-sample-react\src\app\components\Welcome.js from the folder where you installed the demo.
    Edit the following lines to add a H2 tag with ‘Hello JSS’ in it:
    jss-component-update
  5. Open Command Line again and Run:

    npm run deploy-codefirst

  6. Again open up: http://jssbasicapp/ – you should see ‘Hello JSS’ show up:
    jss-deployed-2

  7. Finally go to: /Home in the Experience Editor, you should be able to edit the page as normal even though the Components are provided by JSS.

This is a really basic demo of JSS but it should hopefully show whats possible and get you started with working with JSS.

Props to Alex and his team for doing a great job and addressing the workflow of front-end developers with how they have approached JSS.