• 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

  • Weekly Podcast 11/11/2014

    Meeting notes:

    • Status: only Sipke was active last week with fixes and additions to different features (e.g. VectorGraphic media-related content type).
    • Shipping 1.8.2 is near! We're looking at the possible blocking issues (2 on 1.8.x and 6 on 1.x) to resolve them ASAP. There are ~10 GTG PRs that should be accepted before the release.
    • The Layouts module is extended with responsive layouts. After a long discussion, the conclusion is that it's the theme's responsibility to define the properties/levels of responsiveness (or whether there should be any responsiveness at all).
    • Back to the matter of adding LayoutPart to the Page content type: old websites will only be affected when the Layouts module is enabled - in this case the LayoutPart will be added to the Page content type. There will also be an optional upgrade path to migrate from BodyPart to a HTML layout element (and then BodyPart is removed). For new websites, LayoutPart will be on the Page content type instead of BodyPart (and Layouts will be enabled by default).
    • Data access: a new, thinner ORM (using a low-level API with only SQL) could be added to work side-by-side NHibernate for better performance (using the same database connection).
  • Weekly Podcast 11/04/2014

    Meeting notes:

    • Status: Sipke is working on the Recycle Bin for AuditTrail, Projection and ReCaptcha elements for DynamicForms added by Sipke, Owin branch is updated by Lombiq, enabling Layouts adds the LayoutPart to the Page content type.
    • Discussion about the "New" content UI, Page vs. Dynamic Page (with LayoutPart).
    • Demo by Zoltán - Log in as anybody: a simple module that lets Administrators to switch to be authenticated as an other user. Useful for debugging errors that occur only for specific users.
    • Hangouts vs. Lync? Many support switching to Hangouts. Testing session this Thursday.
    • Bertrand's presentation at Tech Ed Europe 2014 about Orchard is live!
  • Weekly Podcast 10/28/2014

    Meeting notes:

    • Status: a lot of abandoned branches were deleted by Sébastien (the production-ready ones were merged into 1.x, e.g. Redis cache), 1.8.x is merged into 1.x.
    • Sipke modified the AuditTrail module according to the discussion last week and renamed the "Rollback" feature to "Restore". The "Recycle Bin" was also added enabling users to restore deleted content items. Permanent delete feature was also added that removes the content data too, but it's a bit controversial.
    • Demo by Benedek: DotNest tenants can now run using different language packages (other than American English): French, Italian, Russian, Simplified Chinese, Spanish and Hungarian. Kudos to the localization contributors!
    • Adrian fixed markup and embedding in a lot of places in the Orchard Documentation.
    • Discussion topic by Sébastien - future of data access: we've enumerated the current ways of getting data out of the DB (pros and cons). There are a few problems with NHibenate that should be addressed. Content Manager API could give abstraction points for direct SQL-query snippets for performance gain. The usage of a micro-ORM is also a possibility (like in the case of Umbraco with PetaPoco). Discussion to be continued on the forums!
  • Weekly Developer Podcast 10/23/2014

    • "ContentPicker plugin for TinyMCE" PR needs small, cosmetic changes, then GTG.
    • The PR for fixing the "Href" helper has to be confirmed for repro, then GTG.
    • The PR for customizing ISessionConfiguration is GTG on 1.x.
    • The PR for updating the build scripts is GTG on 1.8.x.
    • Discussed a few other PRs that are work-in-progress and quite a few work items were visited as well.
    • We reached the middle of June with the proposed issues!
  • Identity in Orchard Import/Export

    Orchard has a really neat concept of identity that’s mainly used when importing contents into the CMS. One of the difficulties with importing contents is that you need to make sure that you can import not just new items, but also updates to existing items. For this to work consistently, we need to be able to identify a content item reliably.

  • First Orchard CMS Workshop in Mumbai

    Orchard CMS Mumbai User Group will be conducting the First Orchard CMS Workshop in Mumbai "Introduction To Orchard CMS and Theme Development" on 2nd Nov 2014.

    This user group will conduct workshops which will be aimed for developers new to Orchard and everyone interested in using Orchard in their projects. First Orchard CMS Workshop in Mumbai: "Introduction To Orchard CMS and Theme Development".

  • Opting out of anti-forgery validation in Orchard

    Anti-forgery tokens are a very important security feature of ASP.NET MVC and Orchard. Most of the time, you should keep them in place, and just let the system work its magic. There are a few rare situations however where it’s not the appropriate protection and you’ll want to disable it. Being too lazy to include the token in your ajax requests or your forms is of course not one of those situations.

  • WebAPI actions in Orchard

    Building WebAPI controllers in Orchard is fairly simple: just inherit from System.Web.Http.ApiController. You’ll then be able to inject dependencies exactly in the same way that you would anywhere in Orchard. WebAPI is designed so that the default behavior is that a controller represents a category of resources, such as a product, an article, etc. There’s a bunch of conventions in place so that just naming the methods on the controllers is enough to wire them up. If this REST-like behavior is what you’re after, that’s great, just apply the conventions and you’re good to go. If you need to stray from that model, and implement something closer to what you’d do with a regular MVC controller, you’ll need to do a little more work.

Software IP management and project development governance provided by Outercurve Foundation