views:

435

answers:

2

I'm evaluating DotNetNuke for a project in which an offshore team is going to be doing the development. In short, the application will be a community blogging platform with many similarities to stackoverflow except no questions, just posts. Posts may include an image or video, tags, use info, title, body, community vote (up or down) comments, hotness, and a few other details. They should be taggable, sortable, categorizeable (beyond what a single set of tags provide) In the future the site will carry forums, a calendar, and a couple of other features for which there are modules available for DotNetNuke. Additionally, this site will incorporate a user experience that will include a lot of custom skinning.

Thoughts?

+1  A: 

Similar questions have been discussed several times before, though not with your specific situation.

Should we build our next generation web application on the DotNetNuke platform?

Advantages & Disadvantages of DotNetNuke?

DOK
+1  A: 

Using a web application framework (such as DotNetNuke) has a ton of benefits to help you get up and running faster and do less work when creating custom functionality.

However, you have to realize that you're basically incorporating tons of code into your project that you may not be familiar with. No matter how good the code is and how easy the framework is to learn, there's still going to be a significant learning curve for you and your team.

Your decision making process (if you're still deciding whether or not to use DotNetNuke), should include (in addition to reading, talking and other general investigation):

  • Downloading the application from Codeplex and checking out the source.
  • Investigating the third party modules that are out there.
  • Downloading a free module or two that comes with source, and try to reverse engineer the creator's development process. How did she integrate with the framework, what features did she take advantage of, what was written from scratch?

One place where DotNetNuke (or any other framework with tons of extensions) available can really shine is taking existing extensions that are available and customize them. If you need to implement a given feature, check out the solutions in the third party extension community first. You can probably find one that gets you a good percentage of the way there and use it as a foundation for your feature.

For example, if you want a photo gallery on your site, you probably don't want to write it from scratch. There are three major photo galleries out there that sell the source code. The core gallery module is free, simple gallery is cheap, and the source for ultra media gallery is available for a reasonable amount compared to writing it yourself. Any of these could give you a good head start in implementing your features.

Ian Robinson