Alex Rivera | Logout

Choosing CMS vs Portal vs MVC+Components?

Asked 2010-06-30T22:33:14.097
16

I need some help figuring out whether it'd be a good idea to use a CMS or portal solution for my latest project, which is (currently) an ASP.NET MVC application that must serve multiple customers (being a company or some other entity with a list of users) from a single installation (that is, a SaaS solution).

In addition to the core functionality, which includes document management/publishing, I also need to provide basic social features (such as blog, forum, gallery, polls, etc.). However, it is imperative that content is only visible for the customer to which it belongs, and my evaluation of a bunch of CMS and portal solutions has shed little light on whether they support this. They're pretty focused on single-user installations, and documentation on how to integrate with an existing MVC solution is pretty thin.

Essentially I'm looking for some guidance to help me discard dead-end options (the product does not meet requirements, imposes too many restrictions, is not mature, etc.) and find unexplored options before getting too far ahead with the project.

My requirements for the architecture include:

  • Multi-site support (using a single domain for hosting)
    • Watertight separation of content between customers
  • Full integration across components/features
    • SSO (single-sign-on)
    • Single-site experience (shared header/footer, unified navigation, unified tags, etc.)
  • Ease of development and deployment
    • Custom logic will be written using C# and ASP.NET MVC and any products should support this
  • I want to stay in control
    • Solution should offer features but otherwise stay out of the way (for example, not force stupid idioms on me, like insisting on GUIDs for primary keys)
  • Active development community
    • No single-man efforts
Edit
Report

1 Answer

5

With the level of requirements you've specified, I'm personally going to have to lean towards the custom approach. You can hire someone to do the design (view) portion of the site for you, or you can buy a theme off the internet from site designers and customize it to your liking. (Sometimes just having somewhere to start is enough for intermediate level customization).

  • Multi-site support (using a single domain for hosting)

    • You're probably going to want to have control of your hosting environment, either a VPS (Virtual Private Server) or a dedicated box. This is still possible on shared hosting but not reccomended.
  • Watertight separation of content between customers

    • You'd probably have to spawn a unique app-pool for each customer with thier own services user for 100% seperation.
  • Full integration across components/features / SSO (single-sign-on) /Single-site experience (shared header/footer, unified navigation, unified tags, etc.)

    • This is going to be the tricky part. This Example may have some useful insight for you in the development process, but you're going to want a unified login service and have all sites use it or link to it.
  • Ease of development and deployment
    • This is where it gets tricky. Development ease comes from your background I think. MVC is definately the right choice in this respect then, knowing a lot about the right ways of going about building a site in MVC will aid in this process. Keep up to date by reading community blogs and listening to podcasts like Hanselminutes or DotNetRocks will help keep you in touch with the
answered 2010-07-01T00:32:01.797

Your Answer