Recent Posts and Articles
- Status: feature branches under development, a few bugfixes since last week.
- Sébastien fixed an issue where the infoset and the records were storing UTC dates differently, since SQL CE doesn't support millisecond-precision. This caused problems in a few places, e.g. Publish Later.
- Demo by Shaun about the plans for the new community website: design and look&feel updated (Orchard-y colour scheme), updated (and much more) content.
- Announcement by Zoltán - Lombiq open-sourced Lombiq.Hosting.Azure.Indexing: this module allows you to store indices in Azure Blob Storage so when running your site on multiple server nodes, indices are shared between them. It's running in production for months on all Lombiq websites and DotNest.
- Lombiq is a member of the Azure Web Sites Customer Advisory Board (WAWS-CAB), so if Orchard has any problem running on Azure, we're now in a much better position for getting help.
- Demo by Sébastien - Orchard.MessageBus: a new module added to the source on the "messagebus" feature branch based on Lombiq.Hosting.DistributedEvents: This allows server nodes to signal each other to invalidate cache entries, eliminating multiple types of problems in multi-mode environments, e.g. content type definition changes.
- Orchard 1.8.2 will be released soon!
- Bug triage!
Before projections, the official word on fields was that they weren’t for querying (they are stored in an XML blob on the content item record). Projections enabled field querying for the first time, through special tables that index field contents.
In this post, we are going to check out some of the ways available to us to render lists in Orchard and do a nice deep-dive. We are going to see not only how we can customize the individual shape items, but also how we can take over the entire rendering of the list.
Once you’ve built the HQL query, you’ll want to get results, often in the form of fully-built content items. In lots of cases, you’ll want to paginate the results, for which you’ll need a total count, and detailed results for only the current page. This post will show you how to do all these things.
If you have some experience with Orchard, but still feel a bit shakey when it comes to shapes, then this post is for you. We will see how a request comes in, how a content item is rendered, where drivers and placement fit into the picture, and how a resulting shape is turned into HTML to be sent down the wire.
Querying over records is nice, but if those records are part records, you need to be really careful and check that they correspond to a real content item, that his content hasn’t been archived, and that its publication state is what you need it to be. In order to do that, you’ll have to join with ContentItemRecord and ContentItemVersionRecord. But how do you express joins in HQL in a way that works with Orchard records?
Orchard has two APIs on IContentManager to query content items: Query, and HqlQuery. Query is the older API, but it’s also the simplest. It’s great when you want to perform a simple query such as “get all content items with part TitlePart where the title begins with A”. HqlQuery is a little more advanced, closer to nHibernate APIs, and allows for more complex queries.