Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Can DNN handle complex web applications like ASP.NET MVC can?Can DNN handle complex web applications like ASP.NET MVC can?
Previous
 
Next
New Post
12/17/2009 3:02 AM
 

chinmi wrote
 

I don't know Asp.net Mvc but I think it's safe to say that you trade in more freedom when using dnn as a framework.

[neilx} In what way? DNN supplies you with a lot of the functionality you need to create web applications. That gives you freedom to work on the domain problem instead of the plumbing.

You don't have total control of the HTML that is generated, which in my experience can complicate matters when trying to implement things like jQuery in the front end.

[neilx] I don't understand that. Can you give me an example? JQuery is throughout DNN and I don't see any issues with implementing it in custom modules. I have total control over the html generated in my custom modules using standard ASP.NET controls (esp. Repeater and ListView). I can control the rendering by using custom ControlAdapters too.

And for developers, the overhead that it causes for things that you don't even want to use is annoying too. That's always a problem with frameworks, but for dnn especially because it's more targetted at small to mid size businesses who want an internet presence in a fast and convenient way. Asp.net Mvc is for those who want to build something from scratch.

[neilx] Which things are these? In general, I have found that the more things I am aware of that the framework does, the less code I need to write.

Less control with dnn, more features out of the box.

[neilx] Certainly more features, but I would be interested to know of some functionality that needed special control you have tried to implement in DNN that was so hard gave up.

 

 

 

 
New Post
12/17/2009 3:30 AM
 

Tony Barken wrote
 

I would use DNN (or Sharepoint) as a CMS system. Not for creating web apps from scratch.

[neilx] Just using its CMS capability seems to be throwing away much of the framework. I see a huge amount of functionality in DNN that isn't to do with the CMS. The ability to create custom modules being the most obvious.

You will have to learn DNN inner workings and you will most probably hit a wall where you will fight DNN because you're bound to its framework.

[neilx] I agree with having to learn about DNN to use it effectively. That, as I said in my original post, is needed to get the most out of it. Call me old-fashioned, but I have never felt that I should be able to use a sophisticated toolset without any hard work learning what it does. But do you have an example of where you personally hit a wall and why it was that DNN couldn't help you with that problem?

Create web apps from scratch and borrow code from other projects. For example, if you want to implement a membership system, use microsoft's asp.net membership framework.

[neilx] Now you have lost me. DNN uses microsoft's asp.net membership system and has done all the hard work needed to make it available through a simple API. What is it missing that I would need to write myself? Maybe I should take your comments with a pinch of salt if you were unaware of that?

Without DNN, the whole world is open and you can use whatever you want. DNN is based on Webforms. I don't know how it can mix MVC but I am sure it's not a good idea.

[neilx] Cathal seems to disagree (see his later post).

If you want to use newer technologies like LINQ to SQL or LINQ to Entities, MVC, different models, you will end up with a hybrid system with different types of data layers and business laysers which will be hard to maintain.

[neilx] I think that is what is good about frameworks in general. They are usually technology agnostic. Besides, my business layer is entirely independent of DNNs application layer. These things exist in different databases and can easily use different techniques to access them. I use Linq to my O/R M .

What if you have other developers who come after you to maintain your system and who don't know DNN? It becomes hard.

[neilx] I agree with point. DNN isn't taught on University courses afaik. However, most new hires need to go through quite a bit of training on tools they might not be familiar with. I wish that wasn't the case. My guess is that it takes several weeks for a competent DotNet developer to read the books and get used to the API. The question there is how productive will that make them. I am still analysing that one!

You didn't explain your advantages from using DNN.

[neilx] DNN - like any application framework - offers a standard component-based application development methodology. I can use in-house developers, 3rd party module writers and outsourcing companies to develop components that slot into the framework and all live in my continuous integration server. The developers need to know the API, but that is published. What I need more knowledge on is technically what functionality you and others have tried to implement in DNN and given up on. That could save me a lot of time if I see similar requirements popping up for me.

Your decision will depend on your requirements. If your app needs to have a lot of CMS functionality, DNN could be a good choice. Otherwise develop it yourself.

[neilx] Myself being a team of 5 in-house developers. I chose DNN to try and prevent each developer from doing things in their own personalised way. Using a framework in a team requires some strict standards and tough code reviewing, but I am hoping the gains will be worth it.

 

 

 
New Post
12/17/2009 3:44 AM
 

cathal connolly wrote
 

i agree with the previous posters - theres no point comparing MVC with DotNetNuke as DotNetNuke is a web application framework, and not a web development methodology.

[neilx] You are right. Sorry if I wasn't clear. I don't think comparisons are worth anything either. All I am after is where DNN is going to let me down when implementing specific functionality that it has a hard time with. In my naive world, programming is programming and I should be able to develop a custom module or communicating modules that do anything an ASP.NET web application can do. I am getting a lot of people (one or two posting here) that tell me DNN is restrictive in some way, but are unable to tell me something concrete they have tried and failed to achieve with DNN. If there is functionality I need in the future that is a showstopper for DNN, then I would rather know now than 6 months down the road. I have been developing with DNN for 18 months and haven't come across any problems that weren't eventually solvable in DNN. If other people have, it would be really helpful to know.

Whilst DotNetNuke uses the webform methodology, a core team member has been doing work on creating asp.net MVC based modules - and will be blogging the details once it's done. MVC and DotNetNuke are not mutually exclusive.

[neilx] That sounds interesting. It also supports the idea that DNN is simply an application framework that doesn't restrict what you can do. How can I get more info/get involved with that? I have a big development programme for 2010 and need all the tools I can use:-)

Cathal

 

***edited - fixed typo , thanks Sebastian ***

 
New Post
12/17/2009 6:27 AM
 

 I can give you some examples. However it should be noted that I've only started with learning how to develop websites this year. I don't think that makes my viewpoint less valid, but maybe more experienced developers would have been able to find out how to circumvent dnn-related issues faster than I have.

Also, I'm very grateful for dnn because it handles much of the plumbing for me, which is very convenient for an inexperienced developer as myself.

-DNN automatically changes id's of asp.net webcontrols. This is html beyond your control and it makes attribute selection through jQuery more complicated. It also makes associating labels with form elements messier because you have to check what the dnn handle is for every website & page you make. Because of this I have resorted to not use asp.net user controls at all, only html controls.

-Since dnn modules are user controls, it isn't possible to use jQuery-style ajax  to access its page methods. I'm still not sure where these methods should reside then. An option would be to use web services, but again, DNN doesn't seem to handle web services very well.

-No control over which files dnn makes your visitors download. Redundant css files and javascript files that you can't merge. Browser  caching seems complicated as well but have not investigated yet.

Aside from those things I guess it's really not that bad. Just learning how the framework works is frustrating at times, but most of the times the solution is straighforward.

 

 

 
New Post
12/17/2009 12:49 PM
 

You can reference any server control from JQuery like this : $("#<%=txtUserName.ClientID%>") where txtUserName is an asp.net textbox.

You can use labels like this:  <asp:Label ID="lblUserNames" runat="server" AssociatedControlID="lbUserNames">User Names</asp:Label>
          <asp:ListBox ID="lbUserNames" runat="server" SelectionMode="Multiple" Height="70"   Width="130" />

While you wouldn't know the ID during design time, the runtime can take care of this. However you won't be able to reference these in the style sheets, In ASP.NET 4.0 coming out on March 22nd, beta available now,  you can define your own ID.

You can reference web services in code behind or through JavaScript. The fact the it's a user control has no bearing. ascx and aspx pretty much work the same way for web services.

 

 


Free DNN 5.2 hosting at FreehostingWithSitebuilder.com
Lots of extra modules and skins - Your domain name or ours
 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Can DNN handle complex web applications like ASP.NET MVC can?Can DNN handle complex web applications like ASP.NET MVC can?


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out