Orchard Vanity Urls and integrating with an external database.

Topics: Administration, Customizing Orchard, General, Localization, Writing modules
Oct 27, 2012 at 5:52 AM

I'm evaluating Orchard for our needs for a site and I have a few questions that I'm sure someone can answer here.

Some of the content people are pushing for Wordpress. It's what they know and because of all the "plug-in" candy, they feel like it's the best solution. I'd prefer to use something on a stack that I'm more familiar with and something that is built from the ground up to be more extensible.

In that respect, though I'm curious how easy it would be to do the following (or modules that already do it).

  • Vanity Urls 
    • The way I see it, is I would have a Contest page like site.com/contests/some-contest-name. Can my content admints create an additional vanity URL for any content page (like site.com/contest-name for marketing purposes.
  • Integrating with an external Database
    • I have a DLL that has methods that return IEnumerables of objects, like Products, Categories, etc. that I show on my site on URLs like site.com/products/{product-ID}/{product-name}
    • How would this be done in Orchard? Given that these aren't Orchard Content Types, how can I integrate this without importing the data and having to worry about keeping it in sync?
  • How easy it to edit the WYSIWYG Editor to show a drop-down to add classes so my content editors don't have to go into the HTML.
  • Localization
    • Documentation on URL schemes and best practices when creating sites (for two countries) (eg. site.com and site.ca) but with the same admin?
Oct 27, 2012 at 6:11 AM

URLs: Autoroute will let you have any url you want.

External databases can be intergrated.

I think there are modules on the gallery that extend the rich text editor in that way already.

You can implement localization in many ways. If you have separate host names, you can implement ICultureSelector to set the culture depending on that (or on anything else for that matter).

Oct 27, 2012 at 6:12 AM


Then you've come to the right place. I think Orchard is way easier to work with as an end user as well as a developer. The extensibility is simply unmatched.
The things you mentioned are all easy to do:

  • Vanity Urls: You can either let Autoroute define the slug for your content items or overwrite them with anything you want.
  • Integrating with an external database. That can be done, suppress the ambient transaction scope you're in. There are threads on this forum about this subject.
    And no, it's no problem that they aren't content items. Simply create your own controllers that connect to your database and use your model as objects for your views. Even better: create shapes as your view models and template them.
  • WISYWIG Editor: It may be there already in the TinyMCEDeluxe module, although I haven't tested it. In any case, it is easy to implement.
  • I don't know about documentation that discusses these topics. Depending on your exact needs you may either want to use a tenant per country, or use the Localization module to localize contents. Perhaps there are modules that can set the current culture based on domain name, otherwise it's easy to write it yourself using an ActionFilter for example.



Oct 27, 2012 at 6:38 AM


Excellent. I'm coming from Composite C1. A very nice organized CMS based on XSLT, but they want something different for a new site.

I'm going through the Pluralsight videos to get me up to speed on Orchard. Hopefully, it will work out. 

I also noticed Culture Layer as a module. It's hard to tell which modules have got traction and which ones haven't as they are relatively scant on the reviews side of things.