Archives
-
What’s the deal with Orchard and NuGet? Does Orchard suck?
Damn, Rob saw right through the PR lies of Phil Haack about the new NuGet gallery and figured it all out. Kidding, kidding. For your enjoyment and context, here is Rob’s post:
http://wekeroad.com/2011/12/06/nuget-and-orchard/ -
Source-controlled database backups
I’m not very satisfied with traditional database backup solutions. It seems like almost no progress was made since SQL Server 6.5 (at least for the built-in tools). They are still outputting monolithic binary backup files that only do the job if the only thing you expect from backups is the ability to recover from catastrophic failures. I expect more, but before I explain, we need a disclaimer:
-
From ScrewTurn Wiki to Markdown
I'm in the process of moving the Orchard documentation site from ScrewTurn Wiki to a Mercurial + Markdown system, where revisions are managed through source control tools instead of a fully online wiki. We see quite a few advantages in doing that, but that's a story for another post.
-
State of .NET Image Resizing: how does imageresizer do?
I've written several times before about image resizing in .NET and how the various built-in solutions (GDI, WPF and WIC) compare in terms of quality, speed and size. I'll put the links to my previous articles at the end of this post for reference.
-
So what's new in Orchard 1.3?
Orchard 1.3 was released yesterday night with some really neat features that I will outline in this post. I will come back in depth on some of those with full-length posts. Let's start with the simple but super-useful ones…
-
PIX-6T4, the DIY console, has an Orchard site
-
Building a simple Fritzing component
This is me shaving a yak. Shaving the yak, if you don't know, is what you do when a seemingly simple task necessitates many recursive and unforeseen sub-tasks in order to be carried out.
-
Authoring SVG with a text editor
SVG definitely is an increasingly interesting skill, especially as it's making its way into HTML 5 as an officially allowed grammar inside of HTML documents. Most SVG is authored through some kind of tool, and it's absolutely the way to go for artistic drawings. I used Inkscape (open source) and Expression Design in the past for that (I can't afford Illustrator), and I've been happy with the results (to your right and left).
-
So you don't want to use placement.info?
In Orchard, the UI gets composed from many independent parts. We wrote a lot of code to handle that fact without friction. It is easy to add a new part or remove an existing one without breaking anything. One ingredient in this is the placement.info file.
-
Future Orchard Part 3: Autoroute
The way URLs work in Orchard today is fine for the simplest sites but it's not very customizable and comes with a number of challenges. Let's look at how it works today. Let's start with a plain page:
-
Future Orchard Part 2: more Tokens
This is part 2 for this post…
-
Future Orchard Part 1: Introducing Tokens
After a long phase of cleanup on the new Orchard 2.0, we are now busy designing new features. We are focusing on a few foundational pieces, and on enabling e-commerce on top of the platform. In this post, I'm going to expose the basics of the preliminary design for one new foundational piece: Tokens.
-
So what are zones really?
There is a (not so) particular kind of shape in Orchard: zones. Functionally, zones are places where other shapes can render. There are top-level zones, the ones defined on Layout, where widgets typically go, and there are local zones that can be defined anywhere. These local zones are what you target in placement.info.
-
Creating shapes on the fly
Most Orchard shapes get created from part drivers, but they are a lot more versatile than that. They can actually be created from pretty much anywhere, including from templates. One example can be found in the Layout.cshtml file of the ThemeMachine theme:
WorkContext.Layout.Footer
.Add(New.BadgeOfHonor(), "5");What this is really doing is create a new shape called BadgeOfHonor and injecting it into the Footer global zone (that has not yet been defined, which in itself is quite awesome) with an ordering rank of "5".
-
Adding RSS to tags in Orchard
A year ago, I wrote a scary post about RSS in Orchard. RSS was one of the first features we implemented in our CMS, and it has stood the test of time rather well, but the post was explaining things at a level that was probably too abstract whereas my readers were expecting something a little more practical.
-
Getting started with custom themes in Orchard
-
Orchard list customization: first item template
I got this question more than once: "how can you use a different template for the first blog post?" The scenario is illustrated by this example:
-
Using Taxonomies in Orchard
In this screencast, I will demonstrate how to use the Taxonomies module in Orchard to create a simple news site.
-
Even better customizability in Orchard
One of our goals in Orchard is to make it possible and simple to change and customize the markup and style for everything that gets rendered by the application and its modules. Of course, this is made a lot trickier by our other big requirement of making everything a composition of atomic parts.
-
How to get a source code enlistment set-up for Orchard
This screencast shows the basic set-up for an Orchard dev environment.
-
Recovering the admin password in Orchard
These things happen, and it seems hopeless at first: you've locked yourself out of your own site and that's that. Well, not quite. If you still have access to the database there is a way out. Access may be through FTP and WebMatrix or Visual Studio if using SQL CE or through SQL Server Management Studio or whatever is your preferred way to access your database. In this tutorial I'll use WebMatrix over a local SqlCe database but other tools would work just as well with minor differences.
-
Orchard 1.1: what's in it for developers?
My previous post focused on the most visible changes in Orchard 1.1 but we also made a few changes to the platform that open up new developer scenarios.
-
What's new in Orchard 1.1?
It was only three months ago that we shipped Orchard 1.0 and 1.1 is already here with some substantial improvements and many bug fixes. Let me walk you through the most important ones…
-
Deploying an Orchard site using WebMatrix
In this screencast, I'm publishing an Orchard web site and its SQL Express database to a shared host using WebMatrix.
-
Migrating an Orchard site from SqlCe to Sql Express using WebMatrix
In this short video, I show how to use WebMatrix to migrate an Orchard site from using the file-based SqlCe to a SQL Express database.
-
What happens when I request a page in Orchard?
If you look at a typical request for a page, the route will resolve the URL to the Display method of the ItemController in Orchard.Core/Routable/Controllers. That action will retrieve the content item for that route from the content manager and ask it to build the display. The ShapeResult it will produce is what is returned by the action.
-
Taking over list rendering in Orchard
A task that is likely to pop-up oftentimes when customizing an Orchard theme for a project is list rendering. Two types of shapes will typically be at work when rendering a list in Orchard: the summary shape and the list shape.
-
Dispatching Orchard shapes to arbitrary zones
In my LIDNUG demo last week, I showed an interesting technique that I know some people will want to apply to their own stuff.
-
Driving a LED matrix from a Netduino one more time: The Right Way
In previous posts, we've seen two ways one can drive a small LED matrix from a Netduino.
-
My Orchard talk for LIDNUG
I just finished speaking at LIDNUG. You can download the recording here:
-
Dynamically switching the theme in Orchard
It may sound a little puzzling at first, but in Orchard CMS, more than one theme can be active at any given time. The reason for that is that we have an extensibility point that allows a module (or a theme) to participate in the choice of the theme to use, for each request. The motivation for building the theme engine this way was to enable developers to switch themes based on arbitrary criteria, such as user preferences or the user agent (if you want to serve a mobile theme for phones for example). The choice is made between the active themes, which is why there is a difference between the default theme and the active themes.
-
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.
-
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.
-
Caching items in Orchard
Orchard has its own caching API that while built on top of ASP.NET's caching feature adds a couple of interesting twists.
-
Building a favicon module for Orchard
I built a little module for Orchard tonight and it involves a couple of interesting magic tricks so I thought I'd share.
-
Creating and maintaining Orchard translations
Many volunteers have already stepped up to provide translations for Orchard. There are many challenges to overcome with translating such a project.
-
Orchard shapeshifting
I've shown in a previous post how to make it easier to change the layout template for specific contents or areas. But what if you want to change another shape template for specific pages, for example the main Content shape on the home page?