Recent Posts and Articles
Querying over records is nice, but if those records are part records, you need to be really careful and check that they correspond to a real content item, that his content hasn’t been archived, and that its publication state is what you need it to be. In order to do that, you’ll have to join with ContentItemRecord and ContentItemVersionRecord. But how do you express joins in HQL in a way that works with Orchard records?
Orchard has two APIs on IContentManager to query content items: Query, and HqlQuery. Query is the older API, but it’s also the simplest. It’s great when you want to perform a simple query such as “get all content items with part TitlePart where the title begins with A”. HqlQuery is a little more advanced, closer to nHibernate APIs, and allows for more complex queries.
For a few versions now, Orchard has been treating media (images, videos, etc.) as content items. There is a special kind of field, MediaLibraryPickerField, that enables you to add images, or collections of images, to any content type
- Status: Alias lookup performance issue fixed, fixed a possible NRE during setup, fixed a possible OoME when using Shape Tracing, the command line tool now supports empty strings as parameters, ReliableSqlConnection removed (since auto-retry happens by default), Sipke and Nick are working continuously on their respective feature branches, TinyMCE updated to 4.1.5.
- Sébastien is working on the issue with DateTime-type CommonPart properties saved with different precision in infoset and records.
- Demo by Nick - Localization updates: huge clean-up and refactoring in the AdminController of Orchard.Localization (handling the localization of content items) and improved/added other features of this module.
- Demo by Sipke - Layouts - Element Blueprints: it adds the ability to create reusable content of any kind on different parts of your website.
- Abhishek, the most active contributor to the documentations has now write access to the documentation repository!
- Shaun is working on extension methods for the ContentDefinionManager to ease the creation of content fields.
- Status: not much happened during the week, due to an Azure hackathon in Microsoft. Owin branch is updated, Nick is working on the Localization branch, TinyMCE updated to 4.1.4 and all available plugins were added in a separate feature.
- Nick updated the Inline Editing module with some UI changes and TinyMCE support.
- A bit of live troubleshooting on Sébastien's machine to solve an issue where running 1.x fails with an YSOD after updating from the Owin branch with the help of Nick. Temporary ASP.NET files should be cleaned (x86 and x64 too).
- After a long time, we did bug triage on the regular meeting too!
Orchard uses dynamic objects called shapes as view models. It happens commonly that you’ll want to use strongly-typed HTML helpers such as Html.TextBoxFor from within a shape’s template. What if now, my model has some properties that are what I’m really interested in, and that are of a known strong type?
- Title of the meeting: "Sébastien rimmed widget layers".
- Status: feature branches are still under development and feedback/testing/bugfixing is welcome!
- Performance improvements: sessions management (background tasks work with smaller batches of content); the background task updating the indices now works as a job (JobsQueue) and processes all the items in one go (but divided into multiple transactions of 50 items); Navigation, Projection and Layer queries optimized for performance.
- Jay-Z and Kanye joined the meeting (in spirit) too.
- Discussion about using a translation API (e.g. Bing) for localizing content, but they are still unreliable for keeping the context for more than a few sentences.
- Discussion about a new Gallery: it should be a "directory" pointing to the repositories and it should create the NuGet packages for the modules/themes based on specific tags in their repositories. It should also have a feature for displaying user-driven compatibility information for modules/themes with specific Orchard versions (and maybe with other modules/themes too).
- Discussion about Orchard's future and ASP.NET vNext: Orchard will support the Desktop-CLR, not the Cloud-optimized one, since some of Orchard's dependencies (Lucene, AutoFac, NHibernate) need it and the Cloud-CLR is only a subset of the Desktop-CLR, so e.g. System.Drawing would not be available. The ASP.NET vNext version of Orchard would be Orchard 2.0, but we can have 1.9 or even 1.10, etc. before that too.
- N. Taylor Mullen will join us next week to talk about the effects of ASP.NET vNext on Orchard and the new Razor engine. Check out his presentation from this year's Orchard Harvest.
- Document DB for Orchard 2.0? The problem is that it only works on Azure, so you couldn't set up a development environment locally.
- Would you like to see the Orchard documentation in your native language? Actually Antoine already solved this problem (see the French translation): just fork the Documentation project. It contains an ASP.NET Web Pages application, which you can just deploy to after you translated the documentation (which are stored in the form of MarkDown files in the Documentation folder).
- "See you on Thursday for a happy triage meeting!"