Hi,
We have just rolled our my first DNN Portal and are working on our second for release in the next couple of months.
During that process i have read a lot about DNN, and purchased a couple of modules.
As we are I.T developers - we like process :-)
I have found that unfortunately the different modules tend to interact with the database differently, thus when i create a module to interact with both of the third party modules data, it is inconsistent. (Naming Conventions, Data Types, Locations etc)
For example the calendar module we purchased, cannot reference the new user details which were created by another purchased module....It can only reference the "core" user details. Now I could purchase the calendar source code, and update the module to draw fields for the new tables, but that would be making things worse. I should purchase the source code from the user details module and centralise its data repositry......Then update the calendar to reference that as well i suppose....
To extend the user details, I really need to know what would be the best place to store additional data, so other modules could accces it as well, hence my interest in best practice.
Perhpas the User Details module is operating correctly and the issue resides in the calendar module. If so a request could be put to the calendar developer to update their code in line with best practices.... see where i am going...
I see from reviewing this forum, there are a few people requesting guidence about Best Practice on specific issues, and i suspect more would appear if there was a forum dedicated to it.
To start things off, one of my developers has come to me and asked, when programatically removing a user from a role, is it best to delete the entry or set the role membership to minus 1. My reply was to do it manually, monitor the result, and then mimic that. Most of the time that would be fine, though when monitoring we may miss something...
It would be best if developers associated with the creation of pieces of core logic, could comment on the best practices put forward by other developers, that way module extensions coud be more consistent and lead to tighter intergration.
I think this product has a great future, and would like to see it reach its potential.
regards
TheTimp