Our blog contains the activity stream of Orchard Dojo: general news, new resources or tutorials are announced here.

Help shape Orchard Core's new website, a new website using Orchard Core - This week in Orchard (17/07/2026)

When you add a custom settings page, does it look like it belongs in the admin UI?

When you utilize workflow activities, does JavaScript syntax have to be the only option?

After checking out this week's Orchard news, both have better answers.

Thanks to Mike Alhayek, admin forms across settings and configuration pages now use the same ocat-* CSS class conventions, replacing legacy Bootstrap and Orchard-specific helpers. And all workflow tasks that previously only supported JavaScript now also support Liquid, with a new LiquidTask added to match ScriptTask.

Also this week: Nick Jackson's Orchard Core website redesign is open for community feedback, and GoRide joins the showcase of sites running on Orchard Core.

Read on for the details, or jump to the section that matters to you!

Latest tutorials

Featured tags

AI
SMS
IIS
MCP
API
SEO
SSL
All tags >

Be a speaker at Orchard Harvest 2025, Orchard Core AI Agent Module - This week in Orchard (09/05/2025)

This time, you can see a fascinating demo about the Orchard Core AI Agent Module! But first, let's look at our other topics, like adding a new page_title_add_segment Liquid tag, and applying the dark Monokai theme to CodeMirror if dark mode is on. Oh, and have we mentioned that now you can register to be a speaker at this year's Orchard Harvest?

OpenAI feature including Azure OpenAI integration, Orchard Harvest 2025 survey - This week in Orchard (17/01/2025)

This time, you can see a fascinating demo of the OpenAI feature, including Azure OpenAI integration! But first, let's check out our other topics, like removing ReCaptchaMode and DetectionThreshold, introducing the new ReCaptcha shape, and exposing properties of ITrackingConsentFeature and cookie policy in Liquid! Oh, and did we mention that we have just created a survey for Orchard Harvest 2025?

Extension method for easier ResourceManagementOptions registration, Testing time-dependent functionalities with a time shifting clock using the Lombiq UI Testing Toolbox - This week in Orchard (03/01/2025)

In our first post of this year, we will examine a new extension method for easier ResourceManagementOptions registration, test time-dependent functionalities with a time-shifting clock using the Lombiq UI Testing Toolbox, and more! Without further ado, let's dive in!

Orchard Harvest 2024 Program, expose Content Fields Indexing via GraphQL for content field filtering - This week in Orchard (26/07/2024)

Fix Liquid script tag does not render custom attributes, and exposing Content Fields Indexing via GraphQL for content field filtering are the topics for this week. The full program of the Orchard Harvest conference, with all the speaker and talk details, is out! Without further ado, let's dive in! Orchard Core updates Fix Liquid script tag does not render custom attributes The following Liquid template line {% script name:"pdf.js", src:"/Vendor/pdfjs/build/pdf.js", type:"module", defer:"defer", at:"head", depends_on:"jQuery" %} renders in <head> as: <script src="/t4h/OrchardCore.Resources/Scripts/jquery.min.js"></script><script src="/Vendor/pdfjs/build/pdf.js"></script> As you can see, the defer and type attributes are missing. The issue was a missing clause in the ScriptTag.cs file. Expose Content Fields Indexing via GraphQL for content field filtering If you want to filter (with where) the value of content fields, you must implement a WhereInputObjectGraphType for it. There's no built-in way to filter content field values from GraphQL. We already have Content Fields Indexing to be able to run SQL queries for field values. The goal of this change is to build on that and expose such SQL indices in GraphQL too. The GraphQL module now allows for filtering content fields, making it easier to query specific content fields using GraphQL. This enhancement relies on having the OrchardCore.ContentFields.Indexing.SQL module enabled. Additionally, the GetAliases method in the IIndexAliasProvider interface is now asynchronous and has been renamed to GetAliasesAsync. Implementations of this interface should be modified by updating the method signature and ensuring they handle asynchronous operations correctly. To see this in action, we need to enable the mentioned Content Fields Indexing (SQL) module under Configuration -> Features. We also enabled the GraphQL feature to have the GraphiQL option under the Configuration menu for easier testing. The following example demonstrates filtering Product content types based on a numeric content field named Amount, which is attached to a content part named Price Part, where the Amount is greater than 10. Note that in our example the Price Part is collapsed with the prevent field name collision option enabled. You can set these if you edit the content part settings of the attached Price Part. As you can see, we have two products where the value of the Amount numeric field is greater than 10. News from the community Orchard Harvest 2024 Program The full Orchard Harvest program has finally arrived. This year’s program is packed with insightful sessions, engaging panels, and ample opportunities to connect with the Orchard community and to make Orchard Harvest the biggest Orchard Core event of the year. All sessions will be recorded and published on the Orchard YouTube channel after the event, so even if you can't make it live, you can see the sessions. However, being there live will allow you to ask the speakers, meet other community members, and have a lot of fun! All indicated times are local time in Las Vegas. After each session, you'll have a chance to ask questions, and we'll have a short break too. Here is a detailed schedule to help you prepare for the conference. Can't wait until September? Check out recordings from last year's special online Orchard Harvest on this YouTube channel here. Ready to be a part of something extraordinary? Reserve your spot today and take advantage of early-bird pricing at Orchard Harvest Conference 2024. Secure your spot today and get ready to level up your skills at Orchard Harvest Conference 2024! See you there! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 467 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting! The recordings of the latest meetings will be uploaded in the first half of August, stay tuned for videos!

Add supported_cultures Liquid filter, use TextArea in Markdown Field By default - This week in Orchard (05/07/2024)

Add supported_cultures Liquid filter and use TextArea in Markdown Field by default are the topics for this week. Don't forget that the registration for the Orchard Harvest 2024 conference is still open! Without further ado, let's dive in! Orchard Core updates Add supported_cultures Liquid filter The Culture context variable got new properties for fuller Liquid culture support: DisplayName, NativeName, and TwoLetterISOLanguageName. These are the same as their .NET counterparts. A new filter named supported_cultures was added to allow you to get a list of supported cultures. Let's see a quick example of using this new filter! We have a site set up with the Blog recipe. This recipe defines a Page content type by default with the Flow Part attached. We modified the content definition of this Page content type a little bit by removing the Flow Part and adding a Liquid Part to it. We did it under the Content -> Content Definition -> Content Types option and edited the Page content type. After that, we have to make sure that the Localization feature is enabled, to be able to add multiple supported cultures to our site. We can enable this feature under Configuration -> Features. And if you navigate to Configuration -> Settings -> Localization -> Cultures, you can add as many supported cultures as you want. Now, we can go back and create a new Page content item. As you can see, we utilized the new supported_cultures Liquid filter and printed the names of supported cultures using a list. Use TextArea in Markdown Field By default Before this change, the Markdown Field used a single-line input field by default (named the Standard editor) and offered two different editors: Multi-line with a simple textarea and WYSIWYG with a rich editor. Now, by default, it uses a textarea as the Standard editor, and the separate Multi-line option has been removed. You have nothing to do, fields configured with the Standard or Multi-line editors previously will both continue to work. Note though, that their editors will now be a textarea. To try this out, we simply added a Markdown Field to the predefined Blog Post content type. If you edit this Markdown Field, you may notice that there are two editor types: Standard and Wysiwyg. And if we create a new blog using the Standard editor type, you will get a Multi-line editor. News from the community Orchard Harvest 2024 date and location Get ready to power up your Orchard skills at Orchard Harvest Conference 2024! Join us on September 12th-13th at the Orleans Hotel and Casino in lively Las Vegas for two days packed with learning, coding, and community fun. What can you expect at Orchard Harvest Conference 2024? Hands-On Workshops: Elevate your coding game with interactive sessions led by industry experts. Insider Insights: Learn best practices, advanced techniques, and real-world insights from qualified developers. Global Connections: Connect with fellow enthusiasts, exchange ideas, and forge meaningful relationships within the Orchard community. Special Perks: Participants get exclusive discounts on accommodations at the Orleans Hotel and Casino. Can't wait until September? Check out recordings from last year's special online Orchard Harvest on our YouTube channel here. Ready to be a part of something extraordinary? Reserve your spot today and take advantage of early-bird pricing at Orchard Harvest Conference 2024. This year's leading themes: Leading up to a v3.0, what will the future Orchard Core look like? What's the role of a CMS nowadays (with the decoupled/headless operating models, and AI development tools) Explore some advanced topics such as Shapes, Placements, Cloud Integrations, Performance, module extensibility, etc. Showcases on implementing Orchard Core in action. Want to support our mission? Become a sponsor! Reach out to us at [email protected] or [email protected] to explore sponsorship opportunities. Secure your spot today and get ready to level up your skills at Orchard Harvest Conference 2024! See you there! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 470 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Add HTML support to notification summary; how to change the idle logout time in Orchard Core? - This week in Orchard (03/05/2024)

Add HTML support to the notification summary, implement local storage emulator support for the Amazon S3 Media module, and in our newest Orchard Core Nuggets post, we discover how to change the idle logout time in Orchard Core! Without further ado, let's get started! Orchard Core updates Add HTML support to the notification summary Let's say you need a way to be able to make notifications clickable on the UI. For example, you want to create a notification for when a content is published. When the user clicks on the notification, you want them to get redirected to the published content item. Currently, there is no way of doing that since we use the property Summary as an email subject which can't contain HTML. The INotificationMessage interface was updated to include the addition of a Subject field, which facilitates the rendering of notification titles. Moreover, the existing Summary field has been transitioned to HTML format. This adjustment enables the rendering of HTML notifications in both the navigation bar and the notification center. Consequently, HTML notifications can now be created, affording functionalities such as clickable notifications. Furthermore, the introduction of the NotificationOptions provides configuration capabilities for the notifications module. This structure comprises the following attributes: TotalUnreadNotifications: This property determines the maximum number of unread notifications displayed in the navigation bar, with a default setting of 10. DisableNotificationHtmlBodySanitizer: By default, the HtmlBody of notifications generated from workflows undergoes a sanitization process. However, this property grants the option to bypass this sanitization process. Implement local storage emulator support for the Amazon S3 Media module Following the docs, you can only use the Amazon S3 Media module with a real, online S3 resource. For daily development, especially in a team, using a storage emulator is better though. This is currently an issue only for the Amazon Media Storage feature. With the AWS SDK version we use currently, and due to us using virtual host addressing for buckets (i.e., mybucket.localhost, as opposed to path-style addressing with localhost/mybucket) this wasn't actually possible, so we needed to implement support for it too. If you open up the Orchard Core docs page, you will find a section that helps you configure a local emulator by setting up a ServiceURL. The page also mentions two tools known to work with the mentioned settings. News from the community Orchard Core Nuggets: How to change the idle logout time in Orchard Core In our latest post in the Orchard Core Nuggets series, we discover how we can constrain how long people can remain logged in: If they share a device, especially a public one, then it's better to be on the safe side and automatically log them out after some time of inactivity. Check out the other posts for more such bite-sized Orchard tips, and let us know if you have another question! Theme development with Zig - Orchard Core Pair Programming by Lombiq This is the very first session of Orchard Core Pair Programming by Lombiq! In these, we do an hour of pair programming with an Orchard Core community member about a project of theirs. We learn together a lot, share best practices, and write some good code. All this is live, and you can join us with your questions! This time, Ermir Pellumbi aka Zig will join us with a theme project. Your host and the "navigator" of the pair programming session will be Zoltán Lehóczky from Lombiq. Check it out here: https://youtube.com/watch?v=RdE6Io 5 PM UTC on the 6th! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 470 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!