• 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 01/06/2015

    Meeting notes:

    • 00:00 - Status and agenda: the Owin branch is production-ready and does not disrupt normal usage, so it's merged into 1.x.
    • 01:10 - Daniel's demo on refactoring the Layouts editors.
    • 30:39 - Jorge's demo on Onestop's Slide Shows module.
  • Indexing PDF: once again with a big red nose

    A commenter pointed me to an oddly-named library that I didn’t know about: PdfClown. This is a library that is built by the same author both for Java and .NET, and the .NET version actually looks pretty nice, with not too many Java-isms beyond the namespaces. The license is a nice LGPL 3, the author Stefano Chizzolini seems to be available for advice and consulting, and there’s quite a lot of blog posts and quality documentation and samples. Sounds like a dream, doesn’t it?

  • Indexing PDF: not so fast

    In the last post, I showed how to index PDF using PdfSharp. Unfortunately, the library hasn’t been updated in years, nobody seems to have forked it, and it can’t read many recent files. That makes it unfortunately unsuitable for the task. Back to square 1.

  • Indexing PDF in Orchard (and elsewhere.NET)

    Indexing custom contents in Orchard is really easy: write a new handler derived from ContentHandler, then write an event handler for OnIndexing. Orchard will then hand the text over to Lucene, which will index it. Orchard already handles PDF documents stored in its media gallery, so we should be good to go if we can somehow extract the text from a PDF file. Unfortunately, that’s a rather big if, and the main difficulty.

  • Weekly Podcast 12/23/2014

    Meeting notes:

    • 00:00 - Status: Sipke is working on the Layouts module, only 4 commits in total since last week.
    • 06:22 - Social media news around Orchard.
    • 10:14 - Lombiq's initial concept for empowering/growing local Orchard communities: Orchard Ambassadors. There's also a discussion open for you to chime in!
    • W3Techs shows the number of websites built with different technologies and compares their market share. Orchard's market share is steadily growing and now exceeds PHP Nuke!
    • An Orchard enthusiast from Indonesia wants to start a local community with the help of the Steering Committee (by providing a recommendation letter), see the discussion.
    • Merry Christmas!
  • Weekly Podcast 12/16/2014

    Meeting notes:

    • 00:00 - Agenda and join.me setup. 24 participants at the beginning of the meeting! Join.me is quite nice: the screen sharing is extremely reponsive, machines don't get slow running it, but there's no webcam sharing.
    • 13:50 - Election results - the new Steering Committe is: Sipke, Sébastien, Bertrand, Zoltán and Piotr! Congratulations! The candidates for the Benevolant Dictator position are Sipke and Sébastien. The Committee elected Sébastien as the Benevolant Dictator.
    • 28:16 - Status.
    • 33:55 - Demo by Daniel: performance problems during cache entry regeneration under heavy load. Daniel extended the OutputCache module with a lock mechanism so that simultaneous requests don't regenerate the same cache entry (and thus slowing each other). Grace time is also added for cache entries to be served while a new entry is being regenerated after expiry. Jorge mentioned that they have a pre-cache/prefetch feature at Onestop to their own features. Daniel also restructured OutputCacheFilter for better extensibility.
    • Join.me will be used from now on for the meetings.
  • How to create a minisite inside your Orchard website

    Suppose you'd like to have a minisite for something like a one-page little website or even a simpler single page app. You want to do something simple but you still want your administrators to be able to edit the minisite's content. Let's see how to do this in Orchard, the simple way.

  • The mysteries of OEmbedPart, or how to integrate YouTube videos

    The media library picker field does a fine job of integrating and rendering external videos such as YouTube videos. If you want to customize the rendering of the videos, however, you’ll have to deal with the OEmbedPart (obtainable from contentItem.As<OEmbedPart>()).

Software IP management and project development governance provided by Outercurve Foundation