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

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0New and Improved DNN Source methodsNew and Improved DNN Source methods
Previous
 
Next
New Post
1/4/2007 9:14 PM
 

I'm not sure if anyone is interested but lately I've been trying to use the App_Code folder for all of my development work.  In many cases this is an easy way to edit and update my site.  The benefits are less DLL mess and then the site becomes easier to update or change.  I can login from anywhere and make a change to the files.

It became necessary for me to modify some of the dnn core and that drove me nuts trying to compile/recompile many of the modules.  Instead I have adapted the DNN and Module Sources into a single project which compiles at run time rather than requiring separate code files. I've set it up so that I only need 4 DLL files in the bin folder for dnn to run. There are still a few bugs to work out but so far everything is running as normal.

This setup has made updating and modifying core changes much easier.  It also allows me the ability to merge new source code changes without losing the work i've done to the core.  I can now also properly use a source safe database to store progressive updates or changes.  I have yet to see a real drawback in performance as the dll is compiled and stored in a temp file.  Changes to the code can be easily published by ftp without the recompile steps.

Using the app code sub directories I am able to mix VB and C# code as with the new compression module.

It took a bit of work to get this going and I am curious if there is anyone else out there interested in either a how to or a copy of site zipped up file. 

 
New Post
1/5/2007 8:56 PM
 

For my modules I also like to use the APP_Code folder and it is the method I use with the IWEB project.

Why did you feel you need to change the Core? Of course you know it presents problems when upgrading. 



Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
New Post
1/6/2007 3:14 AM
 

I haven't had to upgrade the DNN install yet but it shouldn't be too difficult.  Instead of downloading the upgrade file I can just copy the source tree and paste it into the app code folder.  There are a few ambiguous references in the core source code as well as some orphaned code files that would need to be removed/altered to make it work for the masses but it works quite well for how I typically work as I can use a check-in check out system to work on any of the site functionality. 

 I've always struggled with trying to get the right development enviroment setup. I've followed all the best practices as well as using your walkthroughs.  I've found that I prefer using the App_Code method for my modules.  I've made many upgrades to the core dnn modules as well as the dnn core and this latest upgrade got me thinking that I need a better way to merge and compile the changes which led me to converting all the core modules/source code to the asp.net 2.0 App_Code methods.  In all it took a few days to get everything working right but now that it's complete it runs great. I've yet to merge my core changes but i'll be working on that next week. 

For future upgrades I expect to simply copy and paste the changed source code files using a program like win-merge.  I will need to remove any assembly references as those will throw an Error when compiled in the App_Code folder but I am confident that the final result of the upgrade will be easier to fix, upgrade, debug, etc. 

This method also simplifies the publishing method and allows the ftp publishing methods to work without requiring a recompile/dll transfer. I've always had trouble finding a good publishing model for dnn that didn't involve having 2+ copies of everything.  I wanted something that I could connect with a ftp client, download a file, change it, then post it back up on the web.  Instead I have copies of VS on 8 different PC's all with different files/sources.  It gets hard to manage after awhile and I'm hoping that this setup works. 

I've yet to see anyone write up how to's on this development method hence why I made this post.  I wanted to see if there was interest.  If so I could write up something on how to get it working, there were quite a few different fixes initially. 

Ideally the core files could be stored in a csv and dnn would no longer need to be compiled by developers.  Since the core team has stated that 4.0 is now the officially supported platform it makes perfect sense.

There are some drawbacks.  I'd imagine that developers will not want to recompile the entire site just to test 1 change.  But I find that simply making the change then pulling up IE will quickly reveal any compile errors without waiting for a full re-compile.  Then when i'm working on the ascx controls the build page feature in VS is very fast.

Enough rambling I suppose. 

On another note what would it take to get some features added into the core.  I made some adjustments to the Announcements module that include features like publisher/subscriber.  That way we could have an announcement posted 1 time and appear on any pages that subscribe to that category.  I'm sure it would be useful to others but currently i'm not sure how to go about it. 

 
New Post
1/6/2007 7:44 AM
 

You have created a method that works for you and could work for others. You could publish your exact steps and others may find it useful.

For the DotNetNuke Core, the main concern is supporting the many "use cases". Changes have been made to the way things are structured (DotNetNuke 4.4.0 changed the way the Core modules are loaded) but all the use cases have to be considered like the Hosting companies that have automatic deployment methods.

As far as changes to the Core, The announcement module is considered a module not the Core (yes it is a "Core Module"). You just need to make a post to the Forum for the Announcement project. You can post the code or have a link to the download with your changes. This way others can use them without waiting for them to be released.

The Annoucement team will evaluate your changes and incorporate them based on their criteria.



Michael Washington
http://ADefWebserver.com
www.ADefHelpDesk.com
A Free Open Source DotNetNuke Help Desk Module
 
New Post
1/6/2007 11:03 AM
 
jhenak, please post to the announcements forum your suggestions or contact me directly if you want.

Do you know the truth when you hear it?
Néstor Sánchez
The Dúnadan Raptor -->Follow Me on Twitter Now!
 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0New and Improved DNN Source methodsNew and Improved DNN Source methods


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