BugNET

Open source issue tracking & project management
Welcome to BugNET Register | Login |

BugNET Forums

 
  Forum  General  General discuss...  Integration into DotNetNuke
Previous Previous
 
Next Next
New Post 5/5/2008 11:11 AM
User is offline admin
658 posts
bugnetproject.com
1st Level Poster




Re: Integration into DotNetNuke 

 donker wrote

 admin wrote

 donker wrote

 

Davin,

Where are you regarding DNN integration? I'm very curious. This project is awesome but would definitely benefit from DNN integration.

Peter

 

There hasn't been any work done to the webservices yet but it is on the ToDo list for version 0.8.  Specifically DNN integration might be awhile....

 

Hi Davin,

I'm quite happy with BugNET and have gone ahead to do some integration myself. My first step was to integrate the databases. It is imperative that the user base is shared. For this the fact that BugNET tables are not prefixed is a stumbling block for me. So I have written scripts to repair this. If anyone's interested I'll blog about this sometime.

A second phase is to create modules that make the most of the two products. I have veered away from a complete integration: i.e. doing away with the old bugnet and completely managing BugNET through DNN. It would cost me too much time. Instead I'd like to use DNN to make a bridge between data there and bugs/projects in BugNET. So I went ahead and created a module where you can easily manage the permissions of a user in BugNET projects. Select user, see a big checkbox list of projects and roles, click relevant checkboxes, and hit update. That made management easier for me.

Second module is linking forum threads to bugs. You can see this in action on bring2mind.net in the forums. Here for instance:

http://www.bring2mind.net/Support/Forums/tabid/143/forumid/20/postid/3685/view/topic/Default.aspx

This should help reduce the amount of "what's the progress on XYZ?"-messages. The module will create the bug or link it to an existing one and will put the original author on the notification list. The module still needs some work on the backend UI but this is already operational and helping.

The other projects I'd like to get going are: a module to set up projects. This should help particular users keep track of a project that is set up with him/her. Another one is a dashboard module listing the most important stuff (much like the dashboard that comes with BugNET).

This is my 2cts on this. Unfortunately I use some 3rd party UI components to make stuff in management a but easier (Ajax dropdowns and callback grids etc). This means I can't just release it for free, let alone open source. But maybe we'll find another way one day to decouple this and release some free integration modules.

Peter

 

 

Hi Peter,

 

The work you have done sounds very useful and I like your approach of not doing a full integration but selecting the pieces that make most sense for yourself.   In version 0.8 of BugNET, I have already gone ahead and every table is prefixed with "BugNet_TableName" so your code may integrate easier with the next version.

I understand that you cannot release the code if you have 3rd party controls with them.  Is there a possiblity you can release the code without the 3rd party control assemblies? that way myself or someone else could just sift through and replace the code and tags for the 3rd party controls with built in asp.net or other controls to acomplish similiar functionality.

I myself would be interested in using your modules on this site.  You have done a great job and im sure many people are excited to see more of your work.

P.S.  Your document exchange module is excellent, I have previously used the lite version at my place of work and it is very well done.

Thanks,

Davin


Davin Dubeau
BugNET - Core Developer

 
New Post 5/5/2008 12:30 PM
User is offline donker
11 posts
No Ranking


Re: Integration into DotNetNuke 
Modified By donker  on 5/5/2008 11:31:46 AM)

Hi Davin,

I'm happy and reassured you like the approach I took. It is always a question of taste, this. And it's hard to collaborate on a project when you don't have the same level of comfort with the overall architecture. Note that in my solution I have 2 sites: one for DNN, one for BugNET. In the BugNET web.config I changed the app to 'dotnetnuke' so it accesses the DNN aspnet membership provider. This is about the only change. I like not forking stuff so if you release updates I don't spend the smae amount of time integrating.

I'd be more than happy to share some of this stuff. Let me ponder on how to cut loose the ComponentArt stuff I use. What do you suggest? Shall we turn it into a CodePlex DNN project? It'll give us both some visibility and it'll help all those who would like to go down this path.

Here is something I'd like to see from you if we go down this path: I need the BugNet DAL inside the module. In the current solution I've resorted to copying BugNET procedures to my own DAL, but this is tedious and not forward bound. If you change something it oculd leave me hanging in mid air. Ideally there's a dll that exposes your BugNET data inside a merged installation. I couldn't use your regular dll because it attempts to read the connection string from other places and a whole bunch of other issues. This will need to follow a few basic DNN guidelines and it will be easy to build modules on your data. This new component will also need to use the dotnetnuke app when getting users.

Peter

 


Peter Donker
Bring2mind
DNN Document Management Solutions
 
New Post 5/6/2008 12:08 PM
User is offline admin
658 posts
bugnetproject.com
1st Level Poster




Re: Integration into DotNetNuke 

 donker wrote

Hi Davin,

I'm happy and reassured you like the approach I took. It is always a question of taste, this. And it's hard to collaborate on a project when you don't have the same level of comfort with the overall architecture. Note that in my solution I have 2 sites: one for DNN, one for BugNET. In the BugNET web.config I changed the app to 'dotnetnuke' so it accesses the DNN aspnet membership provider. This is about the only change. I like not forking stuff so if you release updates I don't spend the smae amount of time integrating.

This will work nicely.

 donker wrote

I'd be more than happy to share some of this stuff. Let me ponder on how to cut loose the ComponentArt stuff I use. What do you suggest? Shall we turn it into a CodePlex DNN project? It'll give us both some visibility and it'll help all those who would like to go down this path.

A codeplex project sounds perfect, there is quite a good DNN presence there.  I am assuming that you would take the lead  on the since you are the expert on DNN and have working code already.

 donker wrote

Here is something I'd like to see from you if we go down this path: I need the BugNet DAL inside the module. In the current solution I've resorted to copying BugNET procedures to my own DAL, but this is tedious and not forward bound. If you change something it oculd leave me hanging in mid air. Ideally there's a dll that exposes your BugNET data inside a merged installation. I couldn't use your regular dll because it attempts to read the connection string from other places and a whole bunch of other issues. This will need to follow a few basic DNN guidelines and it will be easy to build modules on your data. This new component will also need to use the dotnetnuke app when getting users.

Peter

This is certainly doable, I see a few ways to acomplish this:

  1. Flush out web service methods that your DNN module can call.
  2. Seperate the data access layer into a seperate assembly and make sure the issues you have are sorted out re connection strings etc.

This is just a few ideas.  I would prefer number 1 as it will force me to build webservices which other people can use for other types of integration (and I will need to do so for the subversion integration as well) but I can work either way in the end.

If you have other ideas then we can dicuss.

 

 


Davin Dubeau
BugNET - Core Developer

 
New Post 5/7/2008 12:03 PM
User is offline donker
11 posts
No Ranking


Re: Integration into DotNetNuke 

Hi Davin,

Sounds good. I can do the DNN part and take care of CodePlex.

Now about the DAL. The web service is architecturally the 'neatest', IMO. But then I'm blocked until we have something fleshed out.

The alternative is a separate assembly. I have spent about 4 hours yesterday converting your DAL to something I can refernce with my module (i.e. rewiring connection strings etc) and ripping the old code out of my module. The hard part (and what makes it less preferable) is that you use a different design pattern than DNN. You already use a lot of objects in the same methods that handle data access. This means I also had to import all your BLL classes. There is the advantage that I can then use the rich object of course. But often in module development, I'd also like to use IDataReaders for speed and flexibility. So I end up having to write maybe double methods for this as there is no base class that outputs the data readers. In all I end up with quite a big BugNET library (all DAL and BLL) and this is not a good idea for future maintenance.

Conclusion: let's use web services for all transactions and I'll use my own data readers when I feel that is better. Do you have some idea on how we can go about the web service?

What are your thoughts on the issue of authentication integration? Like I said earlier I merged the databases and set your app ID to 'dotnetnuke' to make this work. But it'll only work in BugNET if some adjustments are made to the SPROCS as well to make sure the right users are being pulled from the aspnet tables. We should also provide scripts for people to migrate from regular BugNET to this IMO.

Peter


Peter Donker
Bring2mind
DNN Document Management Solutions
 
New Post 5/7/2008 3:38 PM
User is offline donker
11 posts
No Ranking


Re: Integration into DotNetNuke 

Just to continue on the previous post regarding the issue of aspnet tables integration: the aspnet tables can be full of other apps as well. You really need to narrow down the application when looking for users from their ID. So where you use

DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = u.UserId FROM aspnet_users u

I think it needs to be ...

DECLARE @UserId UNIQUEIDENTIFIER
SELECT @UserId = u.UserId FROM aspnet_users u INNER JOIN aspnet_applications a on u.ApplicationId=a.ApplicationId WHERE a.LoweredApplicationName='dotnetnuke' AND u.Username = @UserName


IMO this can be abstracted to a SPROC or FUNCTION where the reference to the app is stored. Then on an integrated installation all you'd need to do is replace that one SPROC/UDF needs to be replaced and not the whole lot.

Peter

 


Peter Donker
Bring2mind
DNN Document Management Solutions
 
Previous Previous
 
Next Next
  Forum  General  General discuss...  Integration into DotNetNuke

Forum Policy

These Discussion Forums are dedicated to the discussion of the BugNET issue tracker.

For the benefit of the community and to protect the integrity of the project, please observe the following posting guidelines:
1. No Advertising.
2. No Flaming or Trolling.
3. No Profanity, Racism, or Prejudice.
4. Site Moderators have the final word on approving/removing a thread or post or comment.
5. English language posting only, please.