• 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

  • A Rundown of Developing Modules for Orchard Cms

    In this article, I am going to share our experiences in developing the Contact Form module. We initially developed it to service our own site, and have open-sourced it for the community to be able to make use of it as well. The goal of the module was to provide a drop-in public-facing form that could be used to let users send a message to site admins or authors.
  • The best way to learn how to extend Orchard

    We do have tutorials on the Orchard site, but we can't cover all topics, and recently I've found myself more and more responding to forum questions by pointing people to an existing module that was solving a similar problem to the one the question was about.

  • Retrieving user information from Open Id using Open Authentication Module for Orchard CMS

    Note : The Open authentication module is a work in progress this may change, though I thought I would blog about it because I thought it was cool. Also all code is on Dev branch at the moment.

    So.. picture this….  Your users are authenticating in to your system with all their profile details held across multiple open id providers, and you have just implemented an User Profile module where your users can insert data about themselves. Wouldn't it be nice that when users register for the first time and authenticate every subsequent time thereafter, that your profile module could take the details held by individual providers and pass them on to your profiles module? Well now the open authentication module provides an interface to do this (Open ID only at the moment at it has been  kind of a spike)

    So here are the step to produce the results once I check the code in

  • Storing non-content data in Orchard

    A CMS like Orchard is, by definition, designed to store content. What differentiates content from other kinds of data is rather subtle. The way I would describe it is by saying that if you would put each instance of a kind of data on its own web page, if it would make sense to add comments to it, or tags, or ratings, then it is content and you can store it in Orchard using all the convenient composition options that it offers. Otherwise, it probably isn't and you can store it using somewhat simpler means that I will now describe.

  • Draftable content or how to enable the publish button

    Today, for anyone new to Orchard, I thought I'd share how to go about dissecting the Orchard source in order to discover how to implement something in Orchard that doesn't have clear documentation yet.

    One of the requirements for our YouTube feed is to allow editors to mark the video as published before it displays on our site to allow them to update any meta-data. To do so I import the video as a draft and everything works great. However, today I just discovered that in the editor for my Video type, I have no way to allow the editors to publish the video. This prompted me to go on a little scavenger hunt...

  • Linq2Twitter, Open Authentication module and Orchard CMS

    Note : The Open authentication module is a work in progress this may change, though I thought I would blog about it because I thought it was cool. Also all code is on Dev branch at the moment.

    Linq2Twitter is a really cool project that allows you to easily interact with twitter, so how do you authenticate with this module without having to worry about authentication? (bit weird huh) In comes the OpenAuthentication module for Orchard CMS.

  • How to assign default roles to new users

    This is a commonly asked question. Orchard, by default, assigns no explicit roles to the newly created user.

    Every authenticated user has the Authenticated role, which is attached to the user object at runtime (it’s hardcoded, so you won’t find the user role in DB). Although adding necessary permissions to this role can suit most needs, sometimes you may need to explicitly add some other roles, possibly different, based on some set of rules, etc. In other words – sometimes there is some custom logic involved, which makes the default behavior unsuitable.

  • Using custom settings in Orchard, Part 2: Content type settings

    This is a second part of a series about settings. In the first one I showed you how to add site-scoped settings. If you haven’t read it yet, I strongly encourage you to do so. This time we’re going to take a more fine-grained approach – create a settings/defaults wired with specific content type (like Page, User, Blog etc.).

Software IP management and project development governance provided by Outercurve Foundation