ASP.NET MVC

Multi-tenancy in ASP.NET MVC - Controller Actions (Part I)

Previous entries in the series Why we want it Breaking it down + Themes Views  In the last entry, we covered how and why we might want to replace existing views and partial views from the core application with our own from modules. We also covered that with this ability it was possible to add entirely new views and partial views. However, views need actions and actions come from controllers. If we add a new view to the application and the core application does not support that path with an...

Multi-tenancy in ASP.NET MVC - Views

Previous entries in the series Why we want it Breaking it down + Themes One of the requirements of our multi-tenant application, is having the ability to replace or add new pages (or parts of pages) in the system for each of our modules. While a customer may ask for an entirely new 'area' on the site (MVC2 covers this), the chances are they just want the addition of a single page or replacement of what is already provided in the stock product. The obvious port of call for change of this kind are the...

Multi-tenancy in ASP.NET MVC - DDD8 Video

The video is now up of my talk at DDD8, I've reviewed it and determined that while it's a bit fast ("Like listening to a podcast at double speed" according to @lukesmith) it's not too embarrassing. Unfortunately the audio gets a bit out of sync towards the code, so you'll have to use your imagination until what I'm talking about shows up ;-) Multi-tenant ASP.NET MVC Projects (Or 30 very different customers and a single codebase) - Rob Ashton - DeveloperDeveloperDevel from Phil Winstanley on Vimeo.

Multi-tenancy in ASP.NET MVC - Breaking it down

Previous entries in the series Why do we want multi-tenancy In the last entry, we covered the basics of what I consider multi-tenancy to be, and why we might perhaps want to write our ASP.NET MVC web application with multi-tenancy in mind. The "ASP.NET MVC" component (or front-end) of your multi-tenant application probably only covers a small fraction of your entire codebase but is also the first and often only contact your customer has with your application, so ends up being their first point of call when asking for changes to your system. It also ends up being the most...

Multi-tenancy in ASP.NET MVC - Why do we want it?

I'll be gratuitously "borrowing" a lot  of material from my DDD8 slides in this post, it seemed like the right thing to do given that this series is a write-up and then continuation of that talk. When dealing with more than one customer in the desktop market, it is customary to have a single product which is extendable through the use of plug-ins and an API, and often you can leave it up to your consumer base to write those plug-ins and add to your product in a manner they see fit. In the web world it's a bit different, and you...

Multi-tenancy and ASP.NET MVC

I spoke about this chestnut briefly at DDD8, and I want to start expanding on the subject. My plan is over the next few weeks to start talking more about multi-tenancy in our web-apps, and to get everybody else doing the same - speaking to other developers after my talk I realised that we're not alone, people are working on solutions but they're just not talking about it. By getting some dialogue going, I hope we can generate a public description of what is good and what is bad about attempting to build multi-tenant applications on top of ASP.NET MVC, and what our...

DDD8 - Post Event

Wow. That was a wonderful day, and the sessions I ended up going to were: @ICooper's session on MVC Architecture (preaching the choir but good to be re-assured) @robashton's session on Multi-tenant ASP.NET MVC (obviously) @holytshirt's session on Mono (Good to see this project is advancing well) @garyshort's session on JClosure (Lovely!) @blowdart's session on the crystal maze The last session was interrupted constantly by the MVPs and associated crowd because Barry is leaving the UK and heading off to MS to learn...

Dynamically Switching between Master Pages in ASP.NET MVC

When developing a web application that's designed for re-deployment in a number of different environments (such as a blogging engine/forum system/etc), it's helpful to be able to re-skin and re-structure  the application without modifying any application files. To a very large extent, this can be achieved through the use of an alternative set of cascading style sheets and this works for a large number of people. However if you take a look on programming websites such as Stack Overflow the question of how to change the master page at runtime is still an oft-asked one. In ASP.NET Forms the solution was to...

Copyright © Rob Ashton

Design by Rob Ashton, Based On A Design By Bartosz Brzezinski