• 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

  • Adding Fields To A Fake Orchard Content Item

    In previous posts, I’ve shown how to build fake content items, and how to use a fake content manager for testing Orchard modules. In this post, I’ll show how to add fields to a fake content item.

  • Stubbing The Orchard Content Manager

    I’ve shown in the previous post how to build fake content items for testing purposes. When the code being tested gets content items from the content manager, however, you will also need a stub for the content manager, so your code receives fake content items that you have prepared, and not real ones from the database.

  • Faking Orchard Content Items For Testing

    When testing Orchard modules, it’s often necessary to build fake content items that will be usable by your code, but won’t be database-bound. For this purpose, I’ve built a number of stubs and helpers over the years that enable most scenarios to work using fake content items. Because everything in Orchard is based off interfaces and dependency injection, mocking is rarely necessary, and a few good stubs are often all you need.

  • 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.

Software IP management and project development governance provided by Outercurve Foundation