Website proudly runs on Orchard Core CMS Powered by .NET Core, C#, Liquid Template Language, and Orchard Core Framework

Welcome to My Orchard Core CMS Website!

Welcome to OrchardCore.io! This Orchard Core CMS website is built by me, David Hayden, to showcase my Orchard Core skills as well as help new Orchard Core developers learn Orchard Core development. I've been developing with Orchard CMS for over 10 years and started developing with Orchard Core in 2018 when it was still in beta. In fact, this website was originally built in 2018 and has been upgraded with new versions of Orchard Core and custom new features for over two years. If you're interested in the website's history, you can view the changelog.

If you're an Orchard Core developer looking for learning resources, I encourage you to read the Orchard Core Tutorials as well as the Orchard Core Developer Notes. The best way to quickly scan for Orchard Core Tutorials and Resources on this website is to visit the sitemap. When Orchard Core is officially released (or maybe before if it seems stable) I plan to implement Orchard Core's Search functionality.

If you're looking to hire a freelance Orchard Core developer, please visit my Orchard Core portfolio. Note that the portfolio is a small sample of custom themes, modules, and widgets that I have built using Orchard Core. The majority of my development cannot be shared for privacy and contractural reasons. If you like what you see and think I'm a good fit for your project, contact me.

About the Website

This website is a multi-tenant web application running Orchard Core CMS as a full CMS. It uses a custom Orchard Core CMS theme and several custom Orchard Core CMS modules that I built myself. Just like the website, the theme and custom modules have been upgraded with new features and new versions of Orchard Core for over 2 years now. During those 2 years I have overcome numerous challenges and breaking changes in Orchard Core that have given me a wealth of experience in developing and managing Orchard Core CMS websites.

The website's theme is an HTML template converted to an Orchard Core CMS theme. I have over a decade of experience converting HTML templates to themes for both Orchard CMS and Orchard Core CMS. The theme is built using the new Liquid Template Language support in Orchard Core and uses a combination of Liquid shapes in the theme and Liquid templates in the database. Although I could have easily created the theme using Razor shapes, Liquid language support is new in Orchard Core, and therefore, I chose Liquid to gain a lot of experience creating themes using both Razor and Liquid.

I have developed several custom Orchard Core CMS modules that help power the website. Many of these modules were built in 2018 when I first started learning Orchard Core CMS. Examples of custom modules used in this website include a Google Analytics Module, Live Chat Module, Robots.txt Module, SyntaxHighlighter Module, Switcheroo Module, Role Layer Rule Module, Regex Validator Workflow Module, and JotForm Module. Although not used in this specific tenant, other tenants include additional custom modules, like the Dropbox Media Storage Module and Calendly Module. Developing such modules seems trivial now that I have been developing with Orchard Core non-stop for over 2 years, but I can tell you that these modules didn't seem at all trivial when first learning Orchard Core, even with my vast knowledge of Orchard CMS.

Under the hood this website makes extensive use of Orchard Core Recipes. The entire website can be re-created from scratch by running recipes. The theme's Setup Recipe enables all the Orchard Core features, configures layers and zones, populates foundational theme assets in the media library, and creates all the Content Types and Content Parts that power the main pages, blog, and portfolio. There are separate Content Recipes that populate the website with the most recent content in the pages, blog, portfolio, and media assets library. The Orchard Core Developer Notes feature has its own 2 recipes. One recipe creates the Content Types and Content Parts, while the other recipe creates the actual content. It's a bit more effort to maintain these recipes, but it's invaluable to be able to re-create the website from scratch.

The website also makes extensive use of Lucene queries, shortcodes and shortcode templates, and Liquid filters. Lucene queries are mainly responsible for displaying the most recent Orchard Core Tutorials and Orchard Core Developer Notes throughout the website. Shortcodes and Liquid filters are included in my custom Orchard Core modules to assist in adding content to the website. Of course, since the custom Orchard Core theme is also built using Liquid, Liquid filters are used extensively throughout the theme to display the website's contents.

Road Map

As mentioned earlier, one of the main goals of this website is to demonstrate both my skills and new features in Orchard Core. I also want to have long-term, real-world experience on all Orchard Core has to offer. Therefore, the goal is to use as many Orchard Core features on this website as possible, even if I have to event new ways of using them :) I've held off on deploying certain Orchard Core features that didn't quite feel stable enough, but as Orchard Core nears release more and more features are quickly being added to the website.

The two Orchard Core features that I plan to implement soon are taxonomies and search. I've implemented these in client websites but not here. I plan to use the Taxonomy Module throughout the website for tags, and Lucene to power search functionality across the website. At the same time I will be adding additional content and new features to the blog and developer notes.

Conclusion

Once again, welcome to OrchardCore.io! I hope you find the content useful, and if you're ever in the market for a freelance Orchard Core developer, I'd love to help you with your next Orchard Core project.