• 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

  • Data storage and content part development - Dojo Course 6.

    How to upgrade my table schema? How to store and retreive records from my tables? How do I upgrade from using a plain set of records to using a content part? This week on Dojo Course we are moving on to uncover the mysteries of content parts.

    For the notes and other information about this lesson, please visit Orchard Dojo.

  • Weekly Podcast 11/05/2013

    Meeting notes:

    • Wrappers are now shapes, and thus can have alternates. No code is currently adding alternates to those shapes yet however. Would be nice to create the same alternates we create from core or from url and widget alternates to wrappers.
    • The shift is advancing. Easiest are settings: records have been removed as they are no longer necessary. Lots of tables are disappearing. Blog post explaining the shift. A vanilla site's home page now has 6 queries, and those are also simpler, with fewer joins.
    • Third party modules can, but don't have to apply the shift techniques. Nwazet.Commerce has already shifted. If you don't want to change your module, you don't have to, but if you want to, you can just change your part getters and setters to use Store and Retrieve. This way, they will just migrate smoothly as you use them.
    • Harvest: the next one will be in the Seattle area, but the dates are not known yet. Maybe in the winter so we can go skiing.
    • Triage: 139 proposed, 10 triaged.

    Brought to you by: Orchard Hungary

  • Module development continued - Dojo Course 5.

    The fifth lesson of Dojo Course will teach you more about module development: how to build your own logic that is able to store data and what are the basic services that aid you in your work.

    For the notes and other information about this lesson, please visit Orchard Dojo.

  • Displaying Editor Templates On A Custom Theme

    Usually when you're developing a web application in Orchard and you want to edit a content item, you have two options: do it on the dashboard, or write a controller for each content that you want to expose to your user. But there is another option: building a controller to rule them all, just like the dashboard does.

  • The Shift: how Orchard painlessly shifted to document storage, and how it’ll affect you

    We’ve known it all along. The storage for Orchard content items would be much more efficient using a document database than a relational one. Orchard content items are composed of parts that serialize naturally into infoset kinds of documents. Storing them as relational data like we’ve done so far was unnatural and requires the data for a single item to span multiple tables, related through 1-1 relationships. This means lots of joins in queries, and a great potential for Select N+1 problems.

  • Weekly Podcast 10/22/2013

    Meeting notes:

    • Ylan announced that Harvest videos are here! Videos by Sean, who has done an amazing job and has worked way harder than he had to on this.
    • Sipke has been working on messaging activities and a {Template.Execute:SampleShape} token, as well as a template content type to edit those templates. Suggestion made to take this out of the list of creatable types. Old email activity will be deprecated. Coming in 1.8.
    • Sébastien showed Edward's work in implementing SideWaffle for Orchard, called Orchard Seeds and available from the VS extension gallery. Those are templates for VS and Orchard.
    • Sébastien showed his work for the internal Azure hack-a-thon, a Contents as a Service solution based on Orchard. It creates new tenants on an Orchard instance hosted on Azure, from a front-end subscription screen, then you get a naked Orchard admin, that can provide contents from an API. He then showed a PHP application consuming the contents, as well as a Knockout SPA, and a Windows 8 modern application. Orchard.RestApi implements those services. Has a new event to expose parts and fields to those new apis. It's not using export, but a base implementation could use export by default (to be discussed). There is the beginning of an OData implementation as well. Permissions will be implemented through API keys. Will also work with caching.
    • Brett announced that Onestop.Layouts is open source. This is a dynamic layout module, that can be thought of as an admin replacement for placement: you create layouts and templates using rows, columns, and then insert elements such as images, videos, parts and fields into those templates. An example of a site using this module is http://www.johnvarvatos.com/.
    • New websites: http://visitjamaica.com, http://electricfactory.info/, http://www.adelaidebariatriccentre.com.au/, http://www.irvinecompany.com/, http://realtyshares.com/, http://www.sygevoksne.dk/, http://www.licensespot.com/.
    • Changesets: Sébastien fixed a major "select n+1" issue in blog archives and user role lazy loading; a comment notification issue with spam checks; Daniel fixed VS references; Sébastien added Content:5@Group1#Tab1 placement to send shapes to admin menu groups and tabs (you can now create site settings without code, just placement); fixed media filter exceptions.
    • Triage: 158 proposed.

    Brought to you by: Orchard Hungary

  • Diving into theme development and starting with module development - Dojo Course tutorial 4.

    The fourth Dojo Course tutorial wraps up theme development by explaining shapes and alternates. We also start with module development and write some interesting code that actually works.

    For the notes and other information about this lesson, please visit Orchard Dojo.

  • Debugging Orchard CMS Web Role Caching “Positive value required for time-out”.

    If you followed my post for Part 1 then you know how I arrived at the “Positive value required for time-out” error after enabling Windows Azure Output and Database caching. After logging into my instances and turning “Off” custom errors I was able to see this error every time I was hitting any page on my site.

    I sat there for a second thinking why the cache expiration in minutes would be negative. Was the Azure machines in a strange time zone? No, everything is UTC. So why was this error happening? I thought maybe it was the order I did things when upgrading from 1.6 and turning of SysCache/Contrib.Cache. Maybe something was lingering around. I restarted my roles via the Azure management portal and tried the site again. Same issue!

Software IP management and project development governance provided by Outercurve Foundation