David Hayden

Orchard CMS, ASP.NET, ASP.NET Core, Vue.js, and more...

Taxonomies in Orchard Core CMS

Taxonomies Module was recently added to Orchard Core! Taxonomies allow you to categorize various content items in your Orchard Core CMS Website. I wrote a quick Orchard Core Tutorial that shows how to enable the Taxonomies feature, add a new Taxonomy Term Content Type, create a new Taxonomy, and attach the new Taxonomy Field to a Content Type. The tutorial categorizes movies by genres in a movie library.

Taxonomies in Orchard Core CMS


Recipe Migrations in Orchard Core CMS

I developed a custom Orchard Core CMS Module that creates a Bootstrap 4 Card Widget to test the new Recipe Migrations Feature. The new IRecipeMigrator Interface in Orchard Core can be used in place of IContentDefinitionManager in DataMigration Classes to execute recipe migration files. Having developed numerous setup recipes for custom Orchard Core CMS Themes (Coming Soon, Freelancer, Editorial, and more) as well as recipes that can be run from the Orchard Core Dashboard to add features on the fly, I much prefer using the new Recipe Migrations feature over IContentDefinitionManager when possible and appropriate.

Custom Orchard Core CMS Module Bootstrap 4 Card Widget


Color Picker for Orchard Core CMS

For learning purposes I developed a custom Color Picker TextField Editor for Orchard Core CMS over the weekend.

Color Picker For Orchard Core CMS


Using GraphQL via GraphiQL in Orchard Core CMS

GraphQL and GraphiQL were recently added to Orchard Core. A great way to get started with GraphQL in Orchard Core is to create a website using The Agency Theme and query the various BagParts and their repected Content Types, Parts, and Fields using the GraphQL Explorer (i.e. GraphiQL). In this Orchard Core CMS Tutorial I use GraphQL and GraphiQL to query the portfolio and its projects.

GraphiQL Intellisense in Orchard Core CMS


Custom Orchard Core Widget Gets an Upgrade!

In the previous Orchard Core CMS Tutorial I created an Alert Widget that displays a Boostrap Alert Component on the Orchard Core CMS Website. During a presentation I enhanced the widget live when an attendee kindly pointed out that Bootstrap Alerts can be dismissible. Oops! I thought this would make a great follow-up blog post, so I wrote a tutorial that shows how to modify the Orchard Core Widget to include a Dismissible Checkbox option and improved Liquid Templates! With these enhancements, our custom Orchard Core CMS Widget now optionally displays dismissible Bootstrap Alerts.

Develop Custom Orchard Core CMS Widget that displays dismissible Bootstrap Alerts


Develop a Custom Widget in Orchard Core CMS

If you're interested in Orchard Core CMS Development, you will enjoy this tutorial on developing a custom widget for Orchard Core CMS. From scratch, I show how to develop an Alert Widget using the Orchard Core admin and liquid templates. I create the Alert Widget Content Type, add a Text Field and HtmlBody Part, demonstrate how to set field settings for the Predefined List Editor (aka Options Editor), and develop the custom templates using Liquid with the support of the Template Module in Orchard Core CMS. If you're new to Orchard Core CMS, you should learn a few tips and tricks on Orchard Core Development.

Develop Custom Widget for Orchard Core CMS


Orchard Core CMS Theme Development

Let's continue working with The Blog Theme in Orchard Core CMS and add a new zone to the layout template for displaying shapes. We're not going to modify the original theme, however. Instead let's use the Templates Module in Orchard Core CMS to create a new Layout template that overrides the theme layout. If you're interested in becoming an Orchard Core CMS Developer, view the tutorial: Adding a New Zone to The Blog Theme Layout in Orchard Core CMS

Add Zone to The Blog Theme Layout in Orchard Core CMS


Templates in Orchard Core CMS

A new Orchard Core CMS tutorial showing how to override templates in The Blog Theme using the Templates Module. Let's enhance The Blog Theme by allowing authors to select a background image for articles using a Media Field and display the selected background image in a new liquid template that overrides The Blog Theme template. Developers interested in being Orchard CMS Theme Developers or extending the current themes in Orchard Core CMS will find this tutorial useful.

Liquid Templates in Orchard Core CMS


New Content Picker Field in Orchard Core CMS

The Content Picker was just added to Orchard Core CMS. I've been waiting for it, and am excited about its release! If you're a seasoned Orchard CMS Developer, you may be surprised that you can't access the selected content items directly from the field. I wrote a tutorial to show you how to do it using Liquid Templates and Views. Hope it helps!

Using the Content Picker in Liquid Templates in Orchard Core CMS

Content Picker in Orchard Core CMS


Role Layer Rule Orchard Core CMS

I developed a Role Layer Rule for Orchard Core CMS. It allows an Orchard Core CMS Administrator to create a layer and specify a rule where the widgets in that layer are only visible to users in a specified role. Like other layer rules, the functionality is exposed as a GlobalMethod in Orchard Core CMS that returns true or false depending on if the current user is a member of the specified role.

Freelance Orchard Core CMS Developer - Role Layer Rule


Bootstrap 4 Carousel Widget for Orchard Core CMS

I developed a Bootstrap 4 Carousel Widget for Orchard Core CMS. It allows users to add a carousel to their Bootstrap 4 websites with no knowledge of HTML, yet at the same time, allow Orchard Core developers to modify and extend the module for easy customization.

Orchard Core CMS Developer - Custom Module


Dynamic Theme Selection in Orchard Core CMS

I developed another Orchard Core CMS Module. This one allows the administrator to switch the current theme during his or her session to any active theme without impacting the theme viewed by other visitors.

Dynamically change current theme in Orchard Core CMS


Live Chat Orchard Core CMS Module

I developed a custom Orchard Core CMS Module that allows you to add live chat functionality to your website.

Custom Orchard Core CMS Module for Live Chat


Orchard Core Workflows

Developed a custom activity for Orchard Core Workflows while spending time at the Student Union at the University of Central Florida (UCF) in Orlando. The Regex Validator validates a form field or other data using a regular expression.

Custom Orchard Core Workflow Activity - Orchard Core Developer


Orchard Core - Liquid Template Language Filter

A relaxing Sunday afternoon at Starbucks experimenting with developing filters for use with the Liquid Template Language feature in Orchard Core. Created a Caesar Cipher filter that will encipher a string of plain text using the fun substitution cipher. This was inspired by a day of "hacking" I taught this past summer using Python.

Orchard Core Module adding Liquid Template Language Filter

Really enjoying liquid in Orchard Core. Thinking I should take this knowledge and become a Shopify Developer. Already signed up as a partner :)


Orchard Core Module - Robots.txt

Developed an Orchard Core CMS Module on Saturday while sipping green tea at Starbucks. It's a robots.txt module that allows an Orchard Website Administrator to populate and modify the contents of the robots.txt file from the dashboard. This is a feature I developed many years ago for Orchard CMS 1.x when first learning it, so I thought it would be fun to develop it again for Orchard Core.

Orchard Core Module - Robots.txt

Although developing modules in Orchard Core is conceptually the same as developing modules in Orchard CMS 1.x, it's not exactly the same. The robots.txt module is a great starter module for Orchard Core that introduced me to the differences in creating such a module. This is the first of many to help sharpen the saw!


Orchard Core Theme for Journalists - Editorial

Developed an Orchard Core Theme called Editorial. Like Coming Soon and Freelancer, Editorial uses the Liquid Template Language and has a robust Setup Recipe that will create a number of useful Content Types and Widgets to generate an extensive website with menus, widgets, and sample pages.

Orchard Core Theme for Journalists and Writers - Editorial


Orchard Core CMS

Orchard Core CMS was released as beta 2. I am developing custom themes and modules for Orchard Core CMS as well as building modular, multi-tenant, web applications.

Developing with Liquid Template Language and YesSQL, and experimenting with JetBrains Rider for all my Orchard Core and ASP.NET Core Development.

Orchard Core CMS Theme - Coming Soon
Coming Soon

Bootstrap 4 landing page announcing an upcoming website.

Coming Soon

Orchard Core CMS Theme - Freelancer

Bootstrap 4 one-page, portfolio website for freelance developers.



Tutoring Python, Java, and PHP/MySQL

Tutoring students at the local college in Python, Java, and PHP/MySQL during the 2017-18 school year. In addition to helping them tackle the classroom material, I am also introducing them to git and Docker. The course material is a bit outdated so I am exposing the students to technology and skills that they can proudly add to their resume.

For a bit more practice we are also tackling programming challenges on 2 popular websites: HackerRank and Codewars.