ASP.net MVC3 alternatives to DotNetNuke? - asp.net-mvc

I am using legacy DNN (CMS + its portal capabilities, though CMS capabilities are not that important, its portal capabilities are used extensively) to build web apps. Am looking to move into ASP.net MVC3, but am wondering if there are any frameworks which gives me the same portal capabilities as DNN while using ASP.net MVC3.
At the risk of being ridiculous, a simpler way to frame the above question would "how can we use ASP.net MVC3 to build a portal based application like stackoverflow/stackexchange".
I tried best to find answers to this question in meta.stackoverflow, but could not.
These are the meta questions I went thru, to find answers (mentioning here to say that I did my homework before asking this question)
https://meta.stackexchange.com/questions/55725/does-stackexchange-2-0-share-the-same-codebase-with-so
http://blog.serverfault.com/2011/02/11/stack-exchanges-architecture-in-bullet-points/
I am posting this question in SO and not in meta.stackexchange, because I am looking for building portal based webapps with MVC3. Stackoverflow/stackexchange happens to be one (well known) implementation, there can be other implementations as well.
Edit: I also saw http://code.google.com/p/stacked/, but it does not directly address my "mvc portal" part of the question

A good place to start might be the Orchard project:
http://docs.orchardproject.net/Documentation/frequently-asked-questions

There are at least 3 projects I am aware that are open source SO type projects:
2 are non asp.net
There is Stacked while Phil made a HaackedOverflow project though I have never seen source code for it.

Umbraco V5.O is based on MVC - not sure, unfortunately, what that means exactly in terms of how it affects how you develop.
Also, as of this answer, its just heading into beta

Related

Plugin architecture in .NET like wordpress

We're going to upgrade our old classic ASP system to .net.
This old system manages different ecommerce sites.
What we would like to do is to create a asp.net (vb) system like wordpress with plugins.
This way, the layout can be completely different between the sites.
For example a login plugin can be anywhere on the page with different settings for layout and display. Or even with a separate plugin css.
This way the setup time is minimal for the webmasters, and the developers can develop new plugins.
Now i'm stuck at .net 2. and haven't had time to follow the advantages of 4 or even 4.5.
I just start reading about MVC.
What is a good solution to follow? MVC? Any available frameworks for this setup?
If you have any links o samples, please share.
thanks for the help.
The Orchard CMS project is a good example of a modular, plug-in based MVC application: http://www.orchardproject.net/ Although not branded as a Microsoft project, they have contributed to its development, and I believe part of the intent is for it to be used as a reference architecture.
There are also any number of very similar questions here on SO, many with good answers:
How to use Plugin Architecture in ASP.NET?
Plugin-like architecture in .NET
I can't personally think of any reason you would stick with .NET 2.0 if 4.0 or 4.5 is an option. Each version of the framework has built upon those previous to it, and I don't know of any mainstream body of opinion that thinks any version has been a major mistake. Whether you choose MVC or WebForms is a matter of personal taste. My own view would be that MVC is marginally better-suited to the kind of modular development you are planning, but other's mileage may vary...
Take a look at http://umbraco.org/ it's build on ASP.NET MVC and already has the features you want, Umbraco is open source so you can learn allot from it's code base.

Umbraco with bespoke application

For the my project I am currently umbraco platform as CMS to work with other Bispoke (custom) application that is going to be developed in MVC3. The scope of the project roughtly is as follows:
1) Product Download & Deployment (Bispoke)
2) Product Documentation (CMS)
3) Suport (tickts & its workflow cycle) (Bispoke)
4) Blogs (CMS)
My question is what is the best approach to use Umbraco to integrate it with Bispoke apps? There will be some functionalities which will be shared between CMS and Bispoke apps.So I would like to get these two under one roof.
Any idea how to achive this?
Thx
This is quite a broad question so it's hard to answer definitively.
However there are some areas that you need to watch out for.
Firstly take a look at this question which talks about MVC and Umbraco integration:
MVC and Umbraco integration.
Next is the question of shared functionality. This is a broader architectural issue. In this case create a business logic layer which can be used by either Umbraco or MVC. That way you can share the functionality and keep the actual MVC and Umbraco portions of the app nicely separated.
The biggest issue will be sharing of things like templates or UI code that could be shared but implemented differently depending on if it is being consumed by MVC or WebForms.
It's rather hard to be any more specific.

What enterprise sites are using ASP.NET MVC / MVC 2? Need justification for management for moving to MVC

I've tried a few google searches and stack over flow searches, but this is proving hard to find than I thought. I need to provide justification to management for our shop to move to ASP.NET MVC 2. The biggest help would be any enterprise level sites or major web development shops that are using ASP.NET MVC 1/2.
Does anyone have a list or link?
I know Stackoverflow uses it, but some stats such as daily views would help too. I found the Jwaala case study here: http://www.microsoft.com/casestudies/case_study_detail.aspx?casestudyid=4000006675 . Aside from that, I'm having some issues finding some professional examples.
Thanks in advance!
Just found a few more case studies:
http://www.microsoft.com/casestudies/Case_Study_Search_Results.aspx?Type=1&Keywords=mvc&LangID=46#top
Could still use more links.
If your management requires a "...but THEY're doing it!!!" justification then you have larger problems.
If you're using the "...but THEY're doing it!!!" justification then you'll likely need much better reasons.
Hate to troll, but just saying that you'll want objective and project-specific reasoning. And if by "management" you mean business-management, then they need to understand that engineering details are best left up to engineering. The Art of War by Sun Tzu is full of advice along these lines.
...and to qualify this, I'm a web-developer working on a partial rewrite of a WebForms app. I'd love to be using MVC for this project, but the actual benefit of doing so doesn't match the cost--business is business after all, and the business-case must be considered.
If you do get stuck with WebForms then you can whip it into shape (what we're doing). With ASP.NET 4.0 (or a little inheritance trickery) you can get rid of the ID renaming; by building ViewModels, domain-objects, and clean Repositories you can avoid a lot of the cruft of WebForms--we have tight, explicit control over what WebForms generates. We've shrunk the actual content of our ASPX pages and their codebehinds by at least an order of magnitude by applying best practices.
Just remember, the tools won't make you a better developer, and unless you know what you're doing or what you're working with then you won't reap the benefits.
Dell is rebuilding its page from ASP.NET Webforms into ASP.NET MVC as Phil Haack is mentioned this on his blog ;)
I can not say if they use MVC 1 or MVC 2.
It seems that MarketWatch use ASP.NET MVC with Spark View Engine as listed here :
http://sparkviewengine.com/spark-in-the-field
http://www.marketwatch.com/
also an e-commerce webiste :
http://www.fancydressoutfitters.co.uk/
Check our sites www.reifen.com and www.bonspneus.fr. They handle pretty big traffic in germany and france.
We have used ASP.NET MVC 1 on these sites and still use (and enjoy) ASP.NET on other sites. Like others said: don't just go with ASP.NET MVC because it is in some way better. It is not. There is allways a situation where I would prefer one or the other.
Additional "live" ASP.NET MVC sites (some broken links)
http://weblogs.asp.net/mikebosch/archive/2008/05/05/gallery-of-live-asp-net-mvc-sites.aspx

Telerik controls in ASP.NET MVC

Telerik claims their controls work with ASP.NET MVC now. Has anyone already used the controls in a MVC project?
My company uses the Telerik ASP.NET controls in a large application and it works out quite well. That's why we think about using them in a MVC project.
EDIT 1:
telerik has a new go at ASP.NET MVC this looks much better then their first go at it. But it was to late for my project. http://www.telerik.com/products/aspnet-mvc.aspx
You could check out the demo application (a forums application) they built using ASP.NET MVC, announced here. Source code is available.
The demo is a simple- and stylish -
forums application. It uses 9 of the
RadControls, including RadGrid,
RadEditor, RadChart, RadTreeView and
RadUpload, to build a forum site that
has basic thread/post navigation,
formatted forum posting, user
authentication (with support for
custom avatars), and a site activity
"Statistics" view. Everything you need
to have a fully functional MVC forums
app. The source is available for
immediate download, so I encourage
anyone interested in learning more
about MVC or the RadControls in MVC to
grab the bites and study the example.
You may have already seen it, but Telerik has a blog post about how to use their controls with MVC and some of the limitations. I don't actually use their controls so I can't speak to whether the limitations are really a problem. It does appear that there is a a little more "manual lifting", so to speak, when using the controls with MVC but that there are workarounds to get most of them to work properly.
I'm hoping that they will eventually release MVC versions of their controls. I'm holding off evaluating them until that happens, but if you're already using them I'd certainly look to see how easy they would be to use with MVC. Perhaps you could update your question with an answer if you give it a try and let the rest of us know how it went.
I have been using the Telerik controls for about 6 months. I have been using the Grid and Window controls on MVC 2. Like most commercial products there are issues we have been fortunate to work them out. Once you get past the initial learning curve the controls are time savers. You can't beat the price for the amount of functionality you get.
My biggest issue is that they seem a bit sluggish responding on their forums. Maybe I'm just asking lame questions. I've been lobbying management to pay the $ for the supported version. Considering the amount of time we spend digging around to solve some of the more complicated problems I think it would be worth it.
I've just had a look at their grid and wrote a small POC project with it and must say I'm quite impressed. I'm not sure about their previous MVC controls iterations, but the current one can be a real time saver. It also fits very nicely into ASP.NET MVC ajax applications since there is a rich client-side API. Having jquery DataTables on the client side results in an even better user experience (because it is much faster), but also requires more error-prone javascript code.
As an alternative, you can check for MDBootstrap (it´s a front-end framework built on top of Bootstrap). There you will find an article with free ASP.NET MVC templates.

Building a CMS in ASP.NET MVC

I'm curious to know if any basic CMS code has been written for ASP.NET MVC.
The reason I ask is, I'm making a data-driven website for a client, and I've already spent a significant amount of time building it from the ground-up in MVC, but now the client wants content management facilities.
Basically they want to be able to add/edit/remove articles and have revision control.
It would be great if I could somehow 'bolt on' the content management without having to start again from scratch, developing it under an existing CMS.
Should I build the article management and revision control myself, or should I re-use some existing package?
N2 does what you describe - "bolts on" to existing ASP.NET solutions (including MVC).
Also, kooboo is interesting http://www.kooboo.com
(I know this question is old, but it still comes high up for the relevant search terms.)
Today I discovered Meek, http://www.adventuretechgroup.com/labs-meek/, and it was very simple and unobtrusive to add to my MVC project, which I believe is what the original poster would have wanted - bolting on CMS as a feature rather than having it take over your entire site.
Piranha CMS is well suited to bolting on to an existing application. The author of it describes why and how here. To quote straight from that source:
"Our focus is content management and to have a transparent and lightweight API for developers. Piranha CMS has almost no components or helpers that render any HTML at all, it simply provides a database, a manager interface and a routing mechanism for retrieving the correct data for the current request.
In the case of you having an existing website you could actually bypass the routing completely, add one page at a time in the manager interface and then manually load the Page model in you existing page. This would allow you to keep your original application exactly the same but manage the content form the manager interface."
If you are still looking, I've published my new open source CMS here:
MVCwCMS
I'm actively working on it so I will push more updates soon.
Here is also a quick summary as to how Telerik Sitefinity does it:
http://www.sitefinity.com/mvc-cms
in brief - allows you to plug in standard system.web.mvc.controller classes as widgets, lets you use the API for anything including model binding, standard Razor for a view engine etc.
There is also Oxite which I believe is more of a blog engine.
Heve a look at AtomicCms it's a free open source content management system based on ASP.NET MVC 1.0
http://atomiccms.codeplex.com
Check for Orchard ;-)
It is based on asp.net mvc.

Resources