Small width layout Medium width layout Maximum width layout Small text Medium text Large text
     Search
Downloads Downloads Directory Directory Forums Forums Forge Forge Blogs Blogs        Marketplace Marketplace Careers Program Careers
Community › Forums Register  |  

AspDotNetStoreFront
  Need Help?  
Professional technical support for DotNetNuke is available from DotNetNuke Corporation.
 


  Ads  
r2i.ntegrated
 


  Sponsors  

Meet Our Sponsors

.: CounterSoft :.
telerik
ExactTarget email software solutions
Merak Mail Server
WebSecureStores -- ASP.NET & DotNetNuke Hosting Solutions
FCKeditor Project
 


DotNetNuke Forums
 
  Forum  General DotNetN...  Extend It! ( Pr...  Is it just me or are data providers done wrong?
Previous Previous
 
Next Next
New Post 10/10/2006 7:30 PM
User is offline rsriley
10 posts
www.syntheticthought.com
10th Ranked


Is it just me or are data providers done wrong? 

Hey all - I'm trying to understand the basic architecture of DNN and am wondering if I am off base with how I understand the data provider model to work.  From what I can tell EACH module has a specific data provider implementation in addition to the abstract dataprovider class.  Unless I'm missing something this seems really messed up - For instance I would LOVE it if DNN ran on MySql but it doesn't - so if someone wants to run a DNN site on MySQL, they would have to add MySql data providers in all modules?   If this is the case, this just seems horribly wrong - it would be MUCH better if we had the data providers centralized and then all modules would point to a generic common abstract class - so one could add/change data providers on the entire system without having to modify or add code to existing modules.  The way it stands right now, it seems like it'll take a hell of a lot of effort to get another provider simply because one would have to touch all the core modules.  Am I missing something?

Bob

 
New Post 10/11/2006 11:03 AM
User is offline Michael Washington
2641 posts
ADefWebserver.com
5th Ranked










Re: Is it just me or are data providers done wrong? 

see:

DAL & DAL+: Connect Your DotNetNuke® Module to The Database



Michael Washington
* ADefWebserver.com
* DNN Module Developer's Guide
* IWEB - DNN Web Services
* Silverlight and DotNetNuke
 
New Post 11/3/2006 8:51 AM
User is offline michael jackson
172 posts
Brillnat.com
9th Ranked


Re: Is it just me or are data providers done wrong? 

Bob,

I think you are right ON base.  There is lot done to separate and abstract the data access.  That works great.  It does add complexity, but with templates and code generators it really isn't all that hard.

I don't see how Michael Washington's description of the DAL and DAL+ explain how it is possible to have modules that don't have separate code for each dataprovider.  Granted that code will not have to be sprinkled throughout the BLL code.  But at some point it eventually calls a stored procedure.  The two big problems are:

1.  What happens with databases that don't support stored procedures?

2.  You have to write those stored procedures for each provider for your specific module? 

so if I want to use an oracle provider then every module I use has to come with an install, that will create the tables and stored procedures necessary to add update, get... the data for that module. 

To really make it dataprovider swappable then the install would have to take some sort of generic stored procedure definitions and then the provider would translate those into the form required for it's mother database.  Then the modules don't need to know anything about the database.  All they need to know is what the dataprovider needs to get its job (of talking to the database) done.

Then ya really got somethin.

I'm with you Bob.

mj 

 


Michael Jackson
Brillnat.com
Custom module development
Database access tokenized HTML modules
 
New Post 11/4/2006 5:11 AM
User is offline Rodney Joyce
1442 posts
www.smart-thinker.com
6th Ranked




Re: Is it just me or are data providers done wrong? 
I think this might work well for simple or small modules, but I am focusing on large DNN installations and making sure my modules are scalable. With scalabilty I think you have to move some of the logic into the DB - it would just be too inefficient in the BL -

An example: In my UserGroups module, I want to get a random module for a Featured Group page. If was using the generic approach youare proposing then I would call my generic CRUD procs and do the get random in the BL, but for scaleabilty I would actually make do the random lookup in the the stored proc. This then causes problems when you want to move to a different DB (not all functions supported perhaps).

So, while I think this approach would work for simple modules, it would not work for more complex, high-throughput modules.


Thanks,
Rodney
Smart-Thinker - Social Networking modules for DotNetNuke
The DotNetNuke Directory - Are you listed?
PokerDIY - Example Implementation of DNN Social Network
Do use DNN a lot? Try the DotNetNuke Toolbar to save you time!
 
New Post 11/4/2006 5:21 AM
User is offline Michael Washington
2641 posts
ADefWebserver.com
5th Ranked










Re: Is it just me or are data providers done wrong? 
 rsriley wrote

it would be MUCH better if we had the data providers centralized and then all modules would point to a generic common abstract class - so one could add/change data providers on the entire system without having to modify or add code to existing modules. 

see:

Converting the DotNetNuke® Survey module to use the DAL+ (in VB and C#)



Michael Washington
* ADefWebserver.com
* DNN Module Developer's Guide
* IWEB - DNN Web Services
* Silverlight and DotNetNuke
 
Previous Previous
 
Next Next
  Forum  General DotNetN...  Extend It! ( Pr...  Is it just me or are data providers done wrong?
 


Forum Policy

These Discussion Forums are dedicated to the discussion of the DotNetNuke Web Application Framework.

For the benefit of the community and to protect the integrity of the project, 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 DotNetNuke.
2. Discussion or promotion of DotNetNuke product releases under a different brand name are strictly prohibited.
3. No Flaming or Trolling.
4. No Profanity, Racism, or Prejudice.
5. Site Moderators have the final word on approving/removing a thread or post or comment.
6. English language posting only, please.

 


Code Endeavors, LLC
Do you Endeavor to Enhance your DotNetNuke designs by utilizing AJAX technologies to more efficient interactive web experiences
www.codeendeavors.com
T-WORX, INC.
Professional DotNetNuke Solutions
www.t-worx.com
AppTheory
Professional development for medium to large projects based on the DotNetNuke platform.
www.apptheory.com

DotNetNuke Corporation   Terms Of Use  Privacy Statement
DotNetNuke®, DNN®, and the DotNetNuke logo are trademarks of DotNetNuke Corporation
Hosted by MaximumASP