 |
 | Message Removed
modified 10-Aug-15 14:52pm.
|
|
|
|
 | The Packager only shows root subfolders of default web site. If the application is installed on non-default web site or in second level subfolder (e.g. localhost/PrecompiledWeb/DNNDesktopModules_deployDebug) it is not accessable for the packager.
Michael Freidgeim. Blog: http://geekswithblogs.net/mnf/
|
|
|
|
 | DNN 3.2 core module definition page has a method "Create Private Assembly". What are advantages of your application compare to build-in functionality?
Michael Freidgeim. Blog: http://geekswithblogs.net/mnf/
|
|
|
|
 | It is lacking several features that I personally feel don't make it all that useful. It doesn't have a detection mechanism that will go through the entire project and locate third party assemblies you may be using. It also forces you to use their data abstraction layer design. Mine allows you to do what you want. And last I checked I didn't see it exporting SQL scripts. Mine does its very best to generate a module that will work with no developer interaction once it has been created. There are, of course, cases where this is impossible, but for the most part, it is pretty capable.
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | Looks great so far - are you thinking of a new version of this at all? My thought would be to add in the ability to query the database and pick the tables, queries, functions and whatnot out of the DB to script.
Just a thought
|
|
|
|
 | I understand what you are saying and I have considered that in the past, but I'm not sure what doing so would solve for people. If you name all your database objects with a common prefix, the Packager will grab everything and script it out automagically. People (especially DNN module developers) really should be naming their database objects with a unique prefix anyhow. It makes it much easier to find them among hundres of other objects that are named without convention. The DNN team just recently switched their database object naming convention so it now uses the prefix dnn_. I think moving away from that idea would be taking a step backwards.
Is there some other reason I'm overlooking that you think this might be helpful?
Thanks for the feedback.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | My only reason for suggesting it is some of my modules use a seperate database for some of the information and in order to keep those stored procs straight (and a few custom functions) I had to prefix the prefix so they wont be found by this - its not a big deal but its an annoyance - maybe it could prompt you if there are other objects in the database it should look for or something like that? - Like I said I might do it myself if/since its something unique to my developments.
|
|
|
|
 | Ok. I see what you're saying. Well, it wouldn't be terribly difficult to add that. I'll look into it.
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | I installed DNN Module Packager 1.5 and when I started it up, it asked me to select a local web application. When I selected a web application, I got this error:
"An unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will be shut down immediately.
Exeception from HRESULT: 0x80005006"
I am running Windows XP SP2, with IIS 5.1, and Visual Studio .NET 2003 running the .NET framework v1.1.4322.
I tried istalling using the msi and the setup.exe, but that didn't have any affect. I also tried rebooting and then installing, but that didn't work either. I also realized I had VS.NET open while installing, so I uninstalled Module Packager, closed VS.NET, and reinstalled Module Packager, but that did not work either. I ran the CLR Debugger, and the debugger returned with this error:
'System.Runtime.InteropServices.SEHException' occurred in system.windows.forms.dll
Here are the details from the error:
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text ************** System.Runtime.InteropServices.COMException (0x80005006): Exception from HRESULT: 0x80005006. at System.DirectoryServices.Interop.IAds.GetEx(String bstrName) at System.DirectoryServices.PropertyValueCollection.PopulateList() at System.DirectoryServices.PropertyValueCollection..ctor(DirectoryEntry entry, String propertyName) at System.DirectoryServices.PropertyCollection.get_Item(String propertyName) at SkyeRoad.DNNTools.VirtualDirectoryUtility.GetVirtualDirLocalPath(String directoryEntry) at SkyeRoad.DNNPAPackager.PackagerForm.cmbVirtualDirectories_SelectedIndexChanged(Object sender, EventArgs e) at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e) at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m) at System.Windows.Forms.ComboBox.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies ************** mscorlib Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll ---------------------------------------- SkyeRoad.DNNPAPackager Assembly Version: 1.5.2104.26088 Win32 Version: 1.5.2104.26088 CodeBase: file:///C:/Program%20Files/Skye%20Road%20Systems/DNN%20Module%20Packager%201.5/SkyeRoad.DNNPAPackager.exe ---------------------------------------- System.Windows.Forms Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll ---------------------------------------- System Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll ---------------------------------------- SkyRoad.DNNTools Assembly Version: 1.0.2104.26088 Win32 Version: 1.0.2104.26088 CodeBase: file:///C:/Program%20Files/Skye%20Road%20Systems/DNN%20Module%20Packager%201.5/SkyRoad.DNNTools.DLL ---------------------------------------- System.Drawing Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll ---------------------------------------- Gui.Wizard Assembly Version: 1.0.1813.29934 Win32 Version: 1.0.1813.29934 CodeBase: file:///C:/Program%20Files/Skye%20Road%20Systems/DNN%20Module%20Packager%201.5/Gui.Wizard.DLL ---------------------------------------- System.DirectoryServices Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/assembly/gac/system.directoryservices/1.0.5000.0__b03f5f7f11d50a3a/system.directoryservices.dll ---------------------------------------- System.Xml Assembly Version: 1.0.5000.0 Win32 Version: 1.1.4322.2032 CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll ----------------------------------------
************** JIT Debugging ************** To enable just in time (JIT) debugging, the config file for this application or machine (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.
For example:
When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the machine rather than being handled by this dialog.
|
|
|
|
 | Ok. I have added some error handling to this so now it will at least give you an error message dialog when the exception gets thrown. The only way I have been able to duplicate what you are explaining is by selecting a web application that is not a DotNetNuke installation. Is the web application you are selecting a DNN install? If so, what version are you using. If not, then you need to make sure you are selecting either a DNN 2 or 3 application.
Let me know if you have more questions.
I will submit the error handling changes to CP as soon as I can.
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | Same error here. I do use a DNN installation, but the app doesn't go as far as checking for that. The exception is thrown at the 2nd line of GetVirtualDirLocalPath (at entry1.Properties.Item("Path"))
The exception is _not_ thrown when I choose a _virtual_ dir -- one that is located off my root.
I use XP SP2.
ulu
|
|
|
|
 | I suggest the following quick and dirty fix:
public string GetVirtualDirLocalPath( string directoryEntry ) { DirectoryEntry virtualPath = new DirectoryEntry( directoryEntry ); if (virtualPath.SchemaClassName=="IIsWebDirectory") return virtualPath.Parent.Properties["Path"].Value.ToString() + "//" + virtualPath.Name; return virtualPath.Properties["Path"].Value.ToString(); }
|
|
|
|
 | when i tried installing the package, it worked on all files, except for the 03.00.00.sqldataprovider file.. the one with the sql scripts.. i think that the format it used is the one from the early versions of dotnetnuke..
|
|
|
|
 | I have a fix for this problem you mention. It just takes a little time for updates to be reflected on CodeProject. I have posted the new files up on my website. You can get them here: http://www.skyeroadsystems.com/Default.aspx?tabid=62
Let me know if you have more problems.
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
|
 | I guess I mis-understood what you were saying then. The sqldataprovider file gets generated (or should, at least) based on a database object prefix. Is that not happening? Can you clarify what you mean?
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | yes, thats happening, all files work well, i examined the packaged files and they are all good.. its just that.. the dotnetnuke core doesnt include the "+" character in a SQL statement. for example.. this is some part which the packager generated(sql)
CREATE procedure dbo.GetDocument @ItemId int, @ModuleId int select 'URL' = case when Files.FileName is null then Blastasia_Documents.URL else Files.Folder + Files.FileName end, 'CreatedByUser' = Users.FirstName + ' ' + Users.LastName
when i upload the file using the module definition (in the DNN) it would show an error in some of my sql statements.. for example, the sql statement on top would show as:
CREATE procedure dbo.GetDocument @ItemId int, @ModuleId int select 'URL' = case when Files.FileName is null then Blastasia_Documents.URL else Files.Folder Files.FileName end, 'CreatedByUser' = Users.FirstName ' ' Users.LastName in this code, it eliminate the "+" sign..
ill post later if i found a solution for this.. thanks
|
|
|
|
 | I see. I actually know what you're saying here because of problems I am having currently as well. A module I am developing does the same thing. Something about the parsing engine in DNN that won't allow certain things to work. If you think of a fix, please do let me know. I'm going to be tackling this one myself pretty soon, though.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | Ok. I've got it figured out... well, sort of 
The problem has to do with the fact that DNN reads the sql file in as UTF-8. Now, according to the .NET documentation the method I'm using to write out the sql file does so using UTF-8 (File.CreateText and then calling .Write() on the resulting StreamWriter), so it should work fine, right. Well, omething isn't right because as soon as I open the file in notepad and then save again with the same name and specify UTF-8 as the encoding in the save as dialog, it works fine when I upload the module.
I'm going to track down why it is not really writing it out as UTF-8 and update the article, but in the mean time, what you can do is just take the resulting sql file. Open it in notepad. Click on File | Save As.... Then save it as the same name, but select UTF-8 in the "Encoding" combo box.
Let me know if you have any questions and I'll let you know when the packager is fixed so this happens automagically.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
|
 | Hi ! Although I have to write the first line os xml output and fill version by hand, this tool is fantatisc ! Without problems turns my dnn 212 development environment into PA file ! Great ! CriePortal
|
|
|
|
 | I also enjoyed the Snow Crash reference. Good to see other Neil Stephenson fans out there making random obscure references 
Joel
|
|
|
|
 | I noticed that your project did not include the root web as a starting place DNN - I went ahead and added it to the hash and everything worked great -
VistualDirectoryUtility.cs added -->
tmp[ root.Name ] = root.Path;
at Line: 50
AWESOME CODE BTW!!!
Thanks,
Hal
|
|
|
|
 | Here's a handful of features that might be nice (I'll try to add them on my own and send it to you).
1. Save and load of configuration data. 2. Allow multiplle table prefixes or allow the user to select tables manually. 3. Allow packaging of multiple PAs into a single zip. 4. Use the autodependency function to automatically select dependencies, but then also allow the user to select their own or add additional files.
Otherwise this is still a great program and I'll definintely be using it soon.
|
|
|
|
 | These sound like some great ideas. I will definitely consider how to handle them in the next release.
Thanks for taking a look and I'm glad you liked it.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | Matt,
great piece of work. Any plans to support DNN3.0 modules? I understand they've changed the architecture significantly.
Thanks,
Mark
|
|
|
|
 | I've looked at it a little bit so far, so take this with a grain of salt, but it doesn't look to me like the module definition part was affected too dramatically. Either way, I do have plans to update it for DNN 3 and I plan to have it done by or around the time that DNN 3 is realeased. Thanks for taking a look.
Best Regards.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | What about DNN 3.x? Thanks.
|
|
|
|
 | I have added DNN 3 support, however, I need to enable grabbing the resource files from the App_LocalResources directory. Once that is finished I'll post the updates here.
Thanks.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
|
 | Anyone want to create a rainbow based Module packager?
|
|
|
|
 | Sure! I'll get right on that. 
Actually, I really don't know anything about the Rainbow Portal other than it is a derivative of the C# version of the IBuySpy portal. Are custom modules done similarly to DNN custom modules?
Thanks for checking out the article.
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|
 | I've got a rainbow packager =)
|
|
|
|
 | Well Share it? Link? Download?? Comeon .
luve Man
|
|
|
|
 | Nice work Matt!
cheers, Chris Maunder
|
|
|
|
 | Thanks!
-Matt
------------------------------------------
The 3 great virtues of a programmer: Laziness, Impatience, and Hubris. --Larry Wall
|
|
|
|