• About the Orchard Project

    Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.

    Learn more...

Recent Posts and Articles

  • Getting Orchard Content Items Out Of HQL

    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.

  • A Closer Look At Content Types, Drivers, Shapes And Placement

    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.

  • Joining Orchard Part Records In HQL

    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?

  • Querying Orchard in HQL

    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.

  • Referencing Server-generated Fields In Script

    I had to fix a bug today in somebody else’s code that was caused by some Javascript referencing an element by id. The problem was that this id was assumed by the script to be “#Parameter1”. If the template containing this code was alone on the page, there is a chance this might actually work, but in general it won’t: the html element resulting from the helper will most of the time have a prefix, giving a final client-side id looking like SomePrefix_Parameter1, so it was very brittle to hard-code that id in script.

  • Speeding Up Pages With Lots Of Media Content Items

    For a few versions now, Orchard has been treating media (images, videos, etc.) as content items. There is a special kind of field, MediaLibraryPickerField, that enables you to add images, or collections of images, to any content type

  • Weekly Podcast 09/16/2014

    Meeting notes:

    • Status: Alias lookup performance issue fixed, fixed a possible NRE during setup, fixed a possible OoME when using Shape Tracing, the command line tool now supports empty strings as parameters, ReliableSqlConnection removed (since auto-retry happens by default), Sipke and Nick are working continuously on their respective feature branches, TinyMCE updated to 4.1.5.
    • Sébastien is working on the issue with DateTime-type CommonPart properties saved with different precision in infoset and records.
    • Demo by Nick - Localization updates: huge clean-up and refactoring in the AdminController of Orchard.Localization (handling the localization of content items) and improved/added other features of this module.
    • Demo by Sipke - Layouts - Element Blueprints: it adds the ability to create reusable content of any kind on different parts of your website.
    • Abhishek, the most active contributor to the documentations has now write access to the documentation repository!
    • Shaun is working on extension methods for the ContentDefinionManager to ease the creation of content fields.
  • Weekly Podcast 09/09/2014

    Meeting notes:

    • Status: not much happened during the week, due to an Azure hackathon in Microsoft. Owin branch is updated, Nick is working on the Localization branch, TinyMCE updated to 4.1.4 and all available plugins were added in a separate feature.
    • Nick updated the Inline Editing module with some UI changes and TinyMCE support.
    • A bit of live troubleshooting on Sébastien's machine to solve an issue where running 1.x fails with an YSOD after updating from the Owin branch with the help of Nick. Temporary ASP.NET files should be cleaned (x86 and x64 too).
    • After a long time, we did bug triage on the regular meeting too!
Software IP management and project development governance provided by Outercurve Foundation