Live from Orchard Harvest 2024 Las Vegas - Day 1

Today we had the first day of the Orchard Harvest 2024 conference. In this post, we would like to summarize what happened on the first day of the conference.

Keynote

We started this year's Orchard Harvest conference with a Keynote by Zoltán Lehóczky. He talked about the newest Orchard Core version 2.0.0, just released a few days ago, the new features of the current release and how popular this CMS is compared to other .NET-based platforms. Finally, he showed the future of the CMS, what are the plans for the upcoming 2.x releases and what should we add to the next major version of Orchard Core.

Announcement of the Winner of the Jean-Thierry Kéchichian Community Award

At the end of last year, our good friend, Jean-Thierry Kéchichian, a truly extraordinary member of our community, unexpectedly passed away. To honor him, keep his memory alive, and foremost, inspire people to do good work for the community, we launched an award named after him for exceptional community members. After the Keynote we announced the Winner of the Jean-Thierry Kéchichian Community Award. From now on, every year, the community votes on who has done the most for Orchard Core and thus who we can bestow the Jean-Thierry Kéchichian Community Award. The winner of this award is Hisham Bin Ateya! Congratulations to Hisham and thanks for his code contributions, help with issues and discussions, and everything else!

Authentication in Orchard Core

The next session from Mike Alhayek was about authorization and authentication in Orchard Core. He talked about the Single-Factor, Two-Factor, and Multi-Factor authentications, and how to implement OpenID Connect for enhanced security and user experience. He showed us how to set up an authorization server and a client, and how to send a verification email with a code in it to the user to be able to login. We hoped that this session equipped developers and IT professionals with the knowledge to secure their Orchard Core applications effectively.

Demystifying Shapes

The last talk before the lunch break was by Sebastien Ros who talked about what shapes are. A shape is a dynamic data model. The purpose of a shape is to replace the static view model of ASP.NET Core by using a model that can be updated at runtime -- that is, by using a dynamic shape. You can think of shapes as the blobs of data that get handed to templates for rendering. In his demo, we could see a coding session about how to use the Shape class and the IShape interface which present on dynamic shapes, and how to use IShapeFactory which is a service that creates new instances of dynamic shape objects. You could also learn about how you can add custom classes, attributes, and alternates to your shape.

Content Warning Module

The Content Warning module lets you hide some content behind a warning so that users can decide if they want to view it or not. In this session, we saw it in action and took a look at the code that makes it happen. Drew Brasher decided to implement it with a Shortcode as well as a Content Part that adds a wrapper to the parent Content Item. In her demo, she showed how to add the Content Warning Module to an Orchard Core CMS website. It can be used to hide content like spoilers, remarks, or sensitive data behind a box, that needs to be clicked to be able to reveal the hidden text. You can read more about the Content Warning module under this blog post.

Panel Discussion

We continued our program with the panel discussion. Mike Alhayek, Toby Dodds, and Burke Holland were here to answer your questions submitted in the past weeks. We had a great time and got great questions, like

  • Why would use Orchard Core instead of just simply use the ASP.NET Core Framework?
  • How and why to use Visual Studio Code to develop your Orchard Core application instead of using Visual Studio?
  • What could be the pipeline to convert the great design (Figma, Photoshop, etc.) to a theme?
  • Using GitHub Copilot and Microsoft Copilot to generate an Orchard Core module?

The panel discussion was moderated by Sebastien Ros.

Using Orchard as a Central Portal for the Biggest Small Business Association in SE Europe

Bruno Samardzic is a senior .NET developer who's implemented several systems on top of Orchard, including the main website of one of the leading courier services in the region, IOT hubs, and user portals. His talk was a showcase of how they used Orchard to implement this Central Portal and what problems they encountered in the meantime. The Members module contains the ASP.NET Pages and some Controllers for the members portal. It also contains content-specific views for Content details where it makes sense. The final product can be found on GitHub.

From Zero to Azure: Setting Up Your Orchard Application for Success

The last talk of the day was by Benedek Farkas who talked about the overview of Azure basics and how to host an Orchard Core application in Azure while describing the app hosting fundamentals. The attendees could hear some words about the Resource Lock and cost alerts for the Subscription or Resource Group. During his talk, he went through a complete process of setting up an Azure environment tailored for Orchard (Application Insights, App Service, Blob Storage, SQL Azure, Communication Services, Elastic Search, Cloudflare, etc.), enhanced by various open-source components to aid developers and maintainers.


This was the first day of the conference. See you tomorrow!