The other day I mentioned teaching Orchard Training where we built several Orchard CMS modules, including a Carousel Widget for Twitter Bootstrap. Check out the following post: Orchard Training and Twitter Bootstrap Carousel Module. In addition to the Carousel Widget, we also developed an SEO module, called Meta Tags, to help with one aspect of search engine optimization of your Orchard Website.
Orchard SEO Meta Tags Module
One of the things that may come as a surprise to new Orchard Developers as well as Orchard CMS Users is that Orchard does not come with basic built-in functionality to override or inject various meta tags in Orchard pages, blog posts, news articles, and other routable content types you wish to display on your Orchard website. At a very minimum, you may want to override the page titles on your Orchard pages and blog posts to include keywords as well as add Keywords and Description Meta Tags for possible SEO and other search engine reasons.
You will find several implementations in the Orchard Gallery, but since I was teaching Orchard training to soon-to-be Orchard Developers, it only makes sense that we develop our own Meta Tags Content Part that can be attached to various content types, like Page, Blog Post, etc. This is a great real-world example of fulfilling a need not met in Orchard that can be fulfilled by creating one's own reusable ContentPart that can be used from Orchard project-to-project.
Develop Custom Re-Usable ContentPart in Orchard CMS
Whereas the Orchard CMS Twitter Bootstrap Carousel Widget focused on content types, fields, and widgets, the Orchard SEO Meta Tags Module consisted of developing a re-usable ContentPart. Here is where we get into a bit of "lower-level" programming in Orchard CMS. You'll be doing a bit more hand-coding because we don't have the convenience of custom fields and instead will be doing a bit more manual effort to display the content part and store its information in a custom table within the Orchard CMS Database.
Once developed, the Meta Tags ContentPart is attached to various pages and blog posts and gives one the ability to override the page title as well as add Keywords and Description Tags to the routable content type.
Those of us Orchard developers who have been developing Orchard modules, themes, and websites for awhile can build these modules with ease, but these two modules are pretty sophisticated for beginners as they introduce a lot of different concepts and services within Orchard. And this is only 2 of the 5 items we built as part of the 1/2 day Orchard Training :) Like I said, teaching this stuff is fun!