Wrox Programmer Forums
|
BOOK: Professional DotNetNuke Module Programming ISBN: 978-0-470-17116-5
This is the forum to discuss the Wrox book Professional DotNetNuke Module Programming by Mitchel Sellers and Shaun Walker - Wrox DotNetNuke Series Editor; ISBN: 978-0-470-17116-5
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Professional DotNetNuke Module Programming ISBN: 978-0-470-17116-5 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
View Poll Results: Have you run into this issue?
Yes 1 100.00%
No 0 0%
Voters: 1. You may not vote on this poll

 
Old February 9th, 2010, 09:54 AM
Authorized User
 
Join Date: Jan 2010
Posts: 29
Thanks: 0
Thanked 1 Time in 1 Post
Default

DNN Version 5.2.x changes how you create new modules. From the modules screen, scroll down to the bottom and click the 'create new module' link (this link may appear in additional locations on the form as well). Choose 'from manifest'. Leave the owner folder blank. Change the module folder to your folder (the dropdown is prepopulated for you). You .dnn file should appear automatically in the text box. Submit the form and continue with the next steps, which deal with running the SQL script.

Here is a link to the version's feature change.

http://www.dotnetnuke.com/Community/...-Released.aspx

I'm relatively new to dnn and am finding out that you have to hunt to get any detail on these types of things. The dnn site does not post a lot of documentation.
 
Old February 9th, 2010, 11:39 AM
Wrox Author
 
Join Date: Jul 2008
Posts: 74
Thanks: 1
Thanked 8 Times in 8 Posts
Send a message via MSN to msellers
Default

Quote:
Originally Posted by shirk99 View Post
1. In VS 2008, go to the properties of the "My Project" file => click on the "compile" tab. Should the "Build output path:" be "..\..\bin" or "\bin"? By default it is "..\..\bin"
You want it to be ..\..\bin, this will ensure that it goes out to the root, then into the \bin folder within DNN. If it was set to \bin, your dll would go in \DesktopModules\YourModule\Bin, where DNN would not pick it up.

Quote:
Originally Posted by shirk99 View Post
2. In the .dnn manifest file, go to the <component type="Assembly"> section. Skim down 4 lines. Should the <name> value be "Wrox.Modules.GuestbookVB.dll" or "WroxModulesGuestbookVB.dll"? The dll file in our project is named "WroxModulesGuestbookVB.dll" - different than the 'name' value in the book. Wasn't sure about this.
The value here should match what your DLL name is when it is compiled. This is so that DNN can copy and retain information on the dll. If the dll listed is not found, it will fail to install the module.

Quote:
Originally Posted by shirk99 View Post
3. Found a typo on page 71 for what it's worth - Near the end of the .dnn manifest, in the <files> section, locate the file with the name of "Settings.aspx". This should be "Settings.ascx".
Thanks for this, I'll try to get with Wrox to see about getting a notice of the typo.

Quote:
Originally Posted by shirk99 View Post
4. In the .dnn manifest, is the <supportsPartialRendering> value ('true' or 'false') case sensitive? In the book, you have it both ways. Page 143 has it lowercase, where earlier in the book it's uppercase.
Either way it works, I apologize for the inconsistency in the book examples. (I still flip flop on it daily with most of my projects......)

Quote:
Originally Posted by shirk99 View Post
5. In the .dnn manifest, in the <files> section, are the <path> values case sensitive? The values are all lowercase for "app_localresources" but the folder in our project is "App_LocalResources". Wasn't sure. Sometimes these things are picky about case.
I do not believe that the file names are case sensitive, but I'll be honest, I have not tested that, but it shouldn't be as by default windows is NOT case sensitive.

Quote:
Originally Posted by shirk99 View Post
6. On page 142, listing 8-19. Should the <moduleControl></moduleControl> elements be wrapped inside of a <moduleControls></moduleControls> parent element, as they are in listing 6-15?
Yes, the moduleControls element is the root node that contains the children control elements. For full validation of this, you can use Appendix D to confirm any semantics of the manifest.

Quote:
Originally Posted by shirk99 View Post
7. This may be an oversite on my part that is common knowldege to most people - on page 144 it states that at this point we have a project that can be fully compiled. Should we be doing a 'Build' => 'Build GuestbookVB' from the VS menu to compile the module into a dll? Originally, I skipped this part until I wondered how the .dll file gets created.
Yes, you are correct, you can do "Build -> Build GuestbookVB", or if you like keyboard shortcuts you can do CTRL+SHIFT+b to do a build as well.

Quote:
Originally Posted by shirk99 View Post
8. Related to compiling the module, where should our .dll files be located if everything worked? In the project's own \bin folder, or the \bin folder for the DotNetNuke site.
If everything worked correctly you will find the DLL in the DNN bin folder, there will also be copies inside of the /obj folder that is created within your module.

Quote:
Originally Posted by shirk99 View Post
9. This is related to the previous question. Keeping in mind that the default project setting is to put the .dll file in the DotNetNuke website's \bin folder ("..\..\bin") -- Do we need to manually create a \bin folder in our project root and copy the .dll file to it? I'm confused over this \bin business. Page 149 mentions the \bin being in the .zip file, but the bin folder is never created by VS when it creates our project folder structure, or by the reader via instructions in the book.
You only need the \bin folder when you go to package, that is it. You COULD create it in the module folder, but it is not needed.
__________________
Mitchel Sellers
Microsoft C# MVP, MCITP
Director of Development
IowaComputerGurus Inc.

My blog for .NET and DotNetNuke info

Author of "Professional DotNetNuke Module Programming"

Tech Editor on "Visual Studio 2010 six-in-one" and "Pro C# 4.0"
 
Old February 9th, 2010, 11:41 AM
Wrox Author
 
Join Date: Jul 2008
Posts: 74
Thanks: 1
Thanked 8 Times in 8 Posts
Send a message via MSN to msellers
Default

Wayne,

Follow this process to import in 5.2.x.
  1. Host => Module Definitions
  2. From dropdown menu, 'Create New Module'
  3. Create Module From: Manifest
  4. Owner Folder: <Not Specified>
  5. Module Folder: GuestbookVB
  6. Resource: GuestbookVB.dnn
  7. Add Test Page? Unchecked
  8. CLICK Create Module
I'm blogging about this now.
__________________
Mitchel Sellers
Microsoft C# MVP, MCITP
Director of Development
IowaComputerGurus Inc.

My blog for .NET and DotNetNuke info

Author of "Professional DotNetNuke Module Programming"

Tech Editor on "Visual Studio 2010 six-in-one" and "Pro C# 4.0"
 
Old February 9th, 2010, 12:09 PM
Authorized User
 
Join Date: Jan 2010
Posts: 29
Thanks: 0
Thanked 1 Time in 1 Post
Default

Thanks Mitch, you should become a prof :)

If you are contacting Wrox about the typo, consider adding all 3 of these things to the list.


The typo on page 71

Page 70 - removing the period from <name>Wrox.Modules.GuestbookCS.dll<name> so it becomes [<name>WroxModules.GuestbookCS.dll<name> (and matches the actual file)

Page 143, Listing 8-20 - Wrap the group of child <moduleControl> elements with a <moduleControls> parent.
 
Old February 9th, 2010, 04:29 PM
Authorized User
 
Join Date: Jan 2010
Posts: 29
Thanks: 0
Thanked 1 Time in 1 Post
Default Figured it out / Notes on Appendix D

I finally figured out my problem. (When creating the module, I submitted the form, and the screen did a quick postback but didn't change anything. No errors, logs, etc... But the module was created and I could see it in my listing. However it didn't actually work.)

I examined my module's settings (in my DNN website). I noticed that all of the fields from my .dnn manifest were showing up on the settings creen until I got to the Business Controller Class element. After reviewing my dnn file, I saw I spelled "Business" wrong.

Apparently the Create Module Definition parses the .dnn file from top to bottom and there isn't any (or enough) error trapping during this process to handle an invalid element and display the information on the user's screen. Instead, it reloads the 'create module definition' form without displaying any sign of success or failure.

From a developer standpoint, a schema file would also help catch these problems during the coding.

I have some notes and a question on Appendix D.

Listing D-1, page 271: version should be 5.0 (not 4.0). The paragraph below it emphasizes using 4.0.

Listing D-2, page 272: <vendor></vendor> should be <owner></owner> I tried using the vendor type and it didn't show up on the settings page after creating the module definition. Also, the "version" attribute format is different than what's used in the exersize.

Question on page 278: When do you specify the <businessControllerClass> in the dnn file? In what cases should you leave it blank, and when should you fill it in?
 
Old February 9th, 2010, 05:05 PM
Wrox Author
 
Join Date: Jul 2008
Posts: 74
Thanks: 1
Thanked 8 Times in 8 Posts
Send a message via MSN to msellers
Default

Argh, that's right, those are part of my changes that I need to get off to Wrox, they made a few last minute changes with 5.x

The businessControllerClass should only be specified if you are implementing an interface such as IPortable or ISearchable.
__________________
Mitchel Sellers
Microsoft C# MVP, MCITP
Director of Development
IowaComputerGurus Inc.

My blog for .NET and DotNetNuke info

Author of "Professional DotNetNuke Module Programming"

Tech Editor on "Visual Studio 2010 six-in-one" and "Pro C# 4.0"





Similar Threads
Thread Thread Starter Forum Replies Last Post
I can't modify the manifest file per the book! Webtechie BOOK: Expert Access 2007 Programming ISBN 978-0-470-17402-9 8 February 22nd, 2013 05:19 PM
Guestbook DNN Manifest n7zfi BOOK: Professional DotNetNuke Module Programming ISBN: 978-0-470-17116-5 4 August 26th, 2010 08:45 AM
dnn file for import module?!? rmartin BOOK: Professional DotNetNuke Module Programming ISBN: 978-0-470-17116-5 2 May 12th, 2009 05:34 AM
Getting a C# program with a manifest file to run i Bill_Thompson C# 2005 0 January 21st, 2008 06:27 PM
Adding UAC manifest to my code for Windows Vista peterasimpson Pro Visual Basic 2005 0 October 10th, 2006 07:19 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.