Just wrapping up a project that's built on DotNetNuke, and was using the built in module packager to create a nice zip installation. Great. Only problem is that it packs up all my Subversion "_svn" folders as well as the actual files I want. Doh! Initially I just exported from my Subversion working copy to a new location, added that as a virtual directory in IIS, and used that instance to create the package. But this is a real pain when you need to release small patches and bug fixes, so this being open source and all, I dove into the code.
And there is a simple fix... assuming you have the entire source tree laying around ( you can download it from www.dotnetnuke.com if you don't have it)
The module packager is the PaWriter class, which is in the DotNetNuke.Library project, under the Components/Modules path.
All you need to do is add two snippets of code to the two ParseFolder private methods:
Change:
Dim subFolders As DirectoryInfo() = folder.GetDirectories()
For Each subFolder As DirectoryInfo In subFolders
If Not subFolder.Name.ToLower().Contains("_sgbak") Then
ParseFolder(subFolder.FullName, rootPath)
End If
Next
to:
'Recursively parse the subFolders
If Not subFolder.Name.ToLower().Contains("_sgbak") And Not subFolder.Name.ToLower().Contains("_svn") Then
Once you've made this change, re-build the DotNetNuke.Library, and copy the DLL into the bin folder of your DNN instance (if you are working directly in the full source tree, just build the website).
Given that Subversion is so very widely used, it would be nice if the DNN team would add this (and .svn) to the "core" code for the packager.
I'm Dave and this is my blog. I'm usually writing about .NET Software Development, ArcGIS, or Agile Practices, but other stuff does creep in from time to time. I hope you find something of use, and feel free to contact me if you have any questions. You can also check out my profile on LinkedIn
dojo.DTSAgile.com is our technology preview / demo site. As I and my team cook up cool things we post them here.
ArcDeveloper.net is a site that hosts a set of open source projects related to ArcGIS. This includes Tile Cache for .NET (TC4N) and Feature Server for .NET (FS4N). Come over and check it out!
Assembla is a free service that provides Subversion source control, wikis and work Tracking. The ArcDeveloper project is run from here. It rocks. Check them out today.
Agilistas is a LinkedIn group focused on discussing and promoting Agile practices. Everyone is welcome to join in the conversation as we evolve the process of creating software to make it more enjoyable for all involved.