Here is a tip for all Orchard Developers. When you are building a ContentPart and ContentPartRecord during Orchard Module development, you may need to use the StringLengthMax Attribute on ContentPartRecord Properties to keep NHibernate from truncating strings when saving data to the SQL Server Database. If you don't, you will often see NHibernate errors in Orchard CMS log files mentioning string was too long and truncated. Unfortunately, this NHibernate error in Orchard keeps the ContentPart and Content Type from being saved and the only way to notice the problem is to view the Orchard log files.
Contents tagged with orchard tutorials
I've been teaching Orchard development classes using an e-commerce website built using Orchard CMS. It's a feature-rich online store showcasing many techniques in building custom Orchard Modules and Widgets for e-commerce purposes. During the holidays I have been upgrading this website to leverage new features in Orchard 1.7, including the Media Library, Media Processing Module, and Workflow Module. I am also using new features in the upcoming Orchard 1.8 regarding Infoset. As I update this Orchard e-commerce example for the new year, I thought I would mention some insights about how new Orchard best practices have improved the website. First, I would like to discuss some of the positive improvements that have occurred through the use of the Media Library and Media Processing Modules.
I built a custom Orchard Module that displays a humans.txt file for Orchard Websites. I built it the same time I converted my Robots.txt Module to use Infoset for storing Content Part Data. The code is essentially identical, except the module responds to a request for humans.txt. Humans.txt is an interesting way to provide humans with information about the Orchard Website.
Easily override meta tags displayed by Orchard CMS by overriding the Metas Shape. ResourceManager in Orchard CMS keeps track of the meta tags in your website and displays them using the Metas Shape. You can override this shape in your Orchard Theme to remove certain meta tags, add meta tags, and filter meta tags. Although you will have to write a bit of Razor Code in your Orchard View, it is far simpler than creating an Orchard Module or modifying the Orchard Source Code.
I created a robots.txt Orchard CMS Module that leverages InfoSet in Orchard 1.8 for Content Parts. This alleviates the need for custom tables via SchemaBuilder.CreateTable, which can reduce the number of table joins, reduce the possibility of Select N+1 queries, increase Orchard performance, and eliminate extra noise in your Orchard code base and SQL Server database. I mentioned a couple of other modules that use Infoset, too, Smart App Banners and Live Chat Modules for Orchard CMS.
Just a friendly reminder to other Orchard Web Developers that the upcoming Orchard 1.8 will be running on Microsoft .NET 4.5 Framework, ASP.NET MVC 5, ASP.NET Web API 2, and Razor 3! I am converting numerous Orchard modules and building new modules using the new Orchard Source 1.x bits going forward to take advantages of these changes.
I am teaching an Orchard CMS Class in a couple weeks on developing Orchard Modules and created some examples using the new "document storage" method of saving Content Part data using Infoset. You cannot store data like this using the production bits of Orchard, but you can start playing with it using the 1.x branch of Orchard CMS on CodePlex. Infoset has already been used by Orchard for persisting field data, and appears to be a good solution for minimizing joins and select n+1 queries. I assume this means we will see even greater performance from Orchard using this new technique if used wisely.
If you're still learning the new Workflow Module, Media Library, and Media Processing Module recently introduced in Orchard CMS, you'll want to add another module to learn as an Orchard Web Developer - SSL Module. The SSL Module adds Secure Sockets Layer functionality in Orchard, allowing you to enable SSL on the Orchard website. Once the SSL Module is installed you will need to enable it and adjust the settings depending on your needs.
Orchard 1.7 released with lots of new features. You can check out my blog post on what's new in Orchard 1.7 for a list of the new features. I'm personally excited about Orchard Workflow and Media Processing since developing custom workflow activities and image filters is a fun way to extend and customize Orchard. Orchard developers will find the Orchard 1.7 upgrade process very similar to the previous versions. You can read all my Orchard Tutorials as well as follow me on Twitter, Google+, and RSS for information on Orchard CMS and Orchard CMS Development.
I am a huge fan of the Orchard Rules Engine for extending Orchard CMS, but recently I have been converting a lot of Orchard Rules to the Orchard Workflow Module as well as creating a few new Workflow Activities. I already mentioned the Login Workflow Activity, and thought I would quickly mention a couple others: Change Password and Update Profile Workflow Activities in Orchard CMS.