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...Using DNN  modules outside of DNN frameworkUsing DNN modules outside of DNN framework
Previous
 
Next
New Post
8/5/2009 4:34 PM
 

 

I am starting web project and trying to debate on whether to use DNN or not.  I have used DNN for few company projects that required CMS and needed  basic business web site.  However, now I am building completluy custom social networking web site.   Having used and enjoying DNN framework I am debating on wether I should use DNN or not for this one.    Since the site is going to be completelty custom made and does not require CMS I would rather build it from scratch.  However, I really enjoy having multiple DNN modules availbel at my hands  that I might use in my project.  Rather then creating modules for my entire custom work I though may be I should start project from scratch and if neded  just reuse some of DNN modules outside DNN. 

Have somebody done that?  How easy and feasable is it?  Any advices you can provide?

 

Thanks for any sugestions and experince sharing

 
New Post
8/5/2009 9:26 PM
 

 DNN isn't really a CMS (excluding the DNN5 HTML module) because it doesn't have a Content Management System. It is a framework to build any type of website you want in.

If you are going to do the website (the whole site) from scratch, I'd recommend some type of framework since it deals with so many aspects that you won't need to spend time developing, Users, Permission, Pages, menu, ect.

You can just develop the tools/modules you will be using for the site and focus on those and their bugs, and not a bug on a space being in your page name creating two pages, ect...

As for the actual question: Is it possible - Yes. Easy... Never done it.

From a brainstorming I've done (this question has been asked previously) anywhere you use anything DNN specific, you will need to dual code. This is possible using the Configuration setting for when you build your module. Create a DNN and NonDNN configuration and then do a #if DNN [code] #elseif NonDNN [code] #endif (with proper returns placed) to get the values set. I'd create variables and use those in your code and use do the if.else in setting the variables, so the code itself is the same, and the variables (properties is a better term) are the only place the if/else exists.
Use a non-DNN DAL. Personally I use codesmith and netTiers, but any non-dnn one will work, since you'd need it for the non-dnn site anyway, might as well use it the whole time. (I haven't used the DNN method of DAL since my first practice module, wrote my own originally)

Other than that - Just remove the DotNetNuke.dll reference from the project, set the configuration to NonDNN and see what errors you get. Fix the ones because you don't have DNN, and there ya go. Over all, if designed properly, not too hard. To port existing, I wouldn't try.

For anyone building or wanting a website - if there is going to be any user interaction (AKA more than just HTML) I'd recommend a framework. Allows actual content to be focused on.

 

Hope that helps.

 
New Post
8/6/2009 7:44 PM
 

Baatezu, many thanks.  Very helpful and thorough explanation.  So from your recommendation I gte that you suggest to use some framework even though I might not need to use much of its features and modules.  So following your advice I believe DNN is the most famous and mostly supported one that might feet my needs.  The only concern I have is whether it will limit my flexibility to create any features and functionality.  So far my experience with DNN was just using standard framework and modules and not custom module coding.  Other web site I have done was based on starter kits or just programmed from scratch.  I share you point about having not to worry about all basic user management and other stuff that framework provides, the only concern I have is further flexibility.   I am just not sure on how easy and flexible is development of DNN modules is.  I watched tutorial but never developed one so far.

Here is my debate:  Should I create web site from scratch and deal with all nuts and bolts that  already exist in such framework as DNN but have flexibility to create the rest of the features   without having to wrap it up in a module code;  or I am better off using DNN, not to worry about stuff that area already built in DNN and just create modules I need.   I would rather use DNN, but the only concern I have is that if I use one I might regret later when I will need to create a lot of custom code and I will be limited by module creation.   I guess, if you developed modules the ultimate questions is how hard is it to create modules?  How much more overhead will it be to create feature and wrap it in the module vs. just coding it in own web site?  And most important, does DNN limit me in any further work that I might need, in other words  will I ever come across anything that I could not turn in the module where I would be able to do if I did not have to create module?

BTW, in your post you mentioned CodeSmith and netTeirs,  I have heard but never used it. After you mentioned I decided to check it out, seem like useful tools.  How is your experience with it? Do you recommend it? How long is a learning curve vs. using old good tools?

 

Thanks a lot again, very appreciative of your time and response   

 

 
New Post
8/7/2009 2:25 AM
 

I struggle with this decision a lot with our various client implementations and the following are some of the key items that we consider before we determine which route we will go.

  1. Can the client benefit from DotNetNuke functionality or third-party modules now or in the future?  Might they want a forum, blog, etc that would not necessarily be as easy to do with a custom solution?
  2. Does the client have any specific requirements that would discount DotNetNuke as a solution?  This one is typically NOT the case, as I have yet to find a project that "couldn't" be done in DNN, but there are some that just don't go as well as others.
  3. Is the client ok with Open Source?  This is actually one of the biggest items, making sure that we have buy-in and acceptance of using open source.
  4. How much time can we save with DNN compared to ground up building.

-Mitchel Sellers
Microsoft MVP, ASPInsider, DNN MVP
CEO/Director of Development - IowaComputerGurus Inc.
LinkedIn Profile

Visit mitchelsellers.com for my mostly DNN Blog and support forum.

Visit IowaComputerGurus.com for free DNN Modules, DNN Performance Tips, DNN Consulting Quotes, and DNN Technical Support Services
 
New Post
8/7/2009 5:46 AM
 

I haven't run into any limitations using DNN that I wouldn't have run into doing a from scratch site. There may be some that I haven't encountered, but I haven't seen them.

I recommend using a framework because it speeds things up, for you and your client.

I have not encountered anything in DNN that limited what I could do. IWeb (http://iweb.adefwebserver.com/) helps with that. 

There is a slight learning curve to developing with DNN, though, if you haven't developed a site from scratch before, there will be a learning curve there as well. :)
Module creation is fairly easy, IMO. You are essentially just creating user controls (ascx) instead of pages (aspx). There are templates out there for module creation which help get all the initial settings and structure in place so you can jump right into making your module.

 

 

As for CodeSmith and netTiers; First codesmith - I wouldn't be NEARLY as productive as I am without this tool. I've created templates in codeSmith that generate a 'blank' module for me with a bunch of settings. It allows me to enter some information, click go, open the project and start implementing my design with no other steps. Occasionally I find I need a new usercontrol, so I have it set up that I can regenerate the project and have the new usercontrol I entered added and load up when I switch back to VS. 

I wouldn't enjoy programming if I had to do all the steps to get my modules set up that I have codesmith do for me. I'm kinda lazy, so I automate as much as I possibly can... CodeSmith does that wonderfully. Codesmith is a template machine. You can, essentially, run code when you generate your template to do anything you could inside a normal application. I have it launch a couple BATCH files for me to generate my Source Control repositories. (So lazy)

For netTiers - I wrote my own DAL layer. It was good... not many bugs. But it didn't do a whole lot and well... was really hack jobbie. :) I spent a while searching for better tools and found netTiers and codesmith. I have only recently been able to use them on some major modules due to not having time to refactor all my code.

I find netTiers fairly simple to use, there is a bit of a learning curve, but not that big. The netTiers website has pretty good information, it's what I used to figure it out when I was having trouble on things. I am trying to phase in netTiers as my DAL in all future projects. I find it incredibly useful, and I'm probably only using 1/2 or less of the features it has. :)

I would recommend netTiers for someone who doesn't already have a DAL, with out a doubt. There are a few database access layer generation tools and formats out there. I'd suggest doing some research into the options and finding one that looks like the best fit for you and your projects. I use netTiers, and find it to be perfect for me; if that every changes, I'll write up the code to make it perfect, and submit a patch, hehe.

 Have a look at http://www.codesmithtools.com/features/frameworks.aspx for other frameworks using codesmith as the generator for database access stuff

 

 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Using DNN  modules outside of DNN frameworkUsing DNN modules outside of DNN framework


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