Typical Issues in Custom Moduleshttp://forums.asp.net/t/874272.aspx/1?Typical+Issues+in+Custom+ModulesFri, 13 May 2005 13:29:56 -0400874272886922http://forums.asp.net/p/874272/886922.aspx/1?Typical+Issues+in+Custom+ModulesTypical Issues in Custom Modules <p>Hi all Module Developers,</p> <p>I would like to beg you to pay attention on the following issues I encountered frequently, when testing released modules for DNN3:</p> <ol> <li>Object Qualifier<br> Please test your module, if it works at portals, that are using object qualifiers. It is&nbsp;not a big effort&nbsp;to set up a second portal for testing, using the same Database and an object qualifier.<br> </li><li>Localization<br> Check the module in a foreign language. As I know, that not all are willing to translate their modules by yourself, you can use the language editor support for checking completeness: <ol> <li>goto host:Languages and start the language editor </li><li>switch to a&nbsp;foreign language (German is installed by default) </li><li>replace&nbsp;all content from all entries with &quot;xxxxxxxxxxxxxxxx&quot; except command links, mark these with an asterik </li><li>goto a page, where your module is installed </li><li>check if there are english texts left not replaced by &quot;xxx&quot; </li><li>please check for messages from validation and the code as well (corfirms, ...) </li><li>if you found missing keys: complete your english resource files </li><li>goto the language editor and open the foreign resource files </li><li>click on &quot;add missing entries&quot; </li><li>continue with step 3.<br> </li></ol> </li><li>Check for missing localization keys of control titles <ul> <li>Use key &quot;ControlTitle_edit.Text&quot; if the module key is &quot;Edit&quot; (pay attention on capitalization!)<br> </li></ul> </li><li>Integrate your settings into module settings by using control key &quot;settings&quot;<br> </li><li>integrate Module Help by adding Resource Key &quot;ModuleHelp.Text&quot;</li></ol> <p>Anyhow, modules are getting better and&nbsp;better -&nbsp;let's work together to get DotNetNuke&nbsp;going to fly.</p> <p>Sebastian</p> 2005-04-08T20:05:43-04:00887039http://forums.asp.net/p/874272/887039.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules I'll add another issue I've found:<br> <br> Please design your rmodule to account for multiple instances of it being places on the same page.&nbsp; <br> <br> This means if you pass parameters in the querstring (ie for navigation, or control injection), the you should also pass the moduleID to ensure that *only* the module to which the action was targetted, will use it.&nbsp; Your module therefore needs to check that the moduleID passed matches the current moduleid..(Note: you can't use mid as a parameter name for this as its reserved for other actions, so I use ModID for example)<br> <br> Otherwise you may pick up a situation where both modules are performing the same action, or loading the same data etc<br> <br> It also avoids any conflicts with other modules who happen to use the same parameters in the querysting.<br> <br> An alternative&nbsp; method is to load the control into pane by itself as a number of the core modules do.<br> <br> Cheers,<br> Andrew<br> 2005-04-08T22:16:28-04:00887054http://forums.asp.net/p/874272/887054.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>Good points.</p> <p>On the core team we develop now standard with the objectQualifier set to &quot;dnn_&quot;.<br> I would <strong>strongly</strong> suggest to always do that to all module developers.</p> <p>For localization there is now a setting in web.config to show any missing localization keys. They will show up as &quot;RESX:&lt;textkey-name&gt;&quot;. </p> <p>Geert</p> 2005-04-08T22:42:33-04:00887081http://forums.asp.net/p/874272/887081.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules Possibly another design consideration that developers are not always aware of:<br> <br> Test the module with multiple portals, especially if it has user related functions (eg. get all users etc.)<br> I only have 1 portal and this is something that tripped me up when I moved to 2...<br> 2005-04-08T23:37:51-04:00887086http://forums.asp.net/p/874272/887086.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>Of cause, developers shall keep in mind to test all relevant situations - variing all parameters that might affect the module according to the core feaatures it relies on: </p> <ul> <li>single portal installation, multiple portal installation </li><li>use in parent and child portals </li><li>use behind a proxy, if accessing external addresses </li><li>use with friendly URLs on and off </li><li>use with different browsers </li><li>...</li></ul> <p>Nobody ever said, web developement is easy (or he lied) [;)]</p> <p>Sebastian</p> <p>&nbsp;</p> 2005-04-08T23:50:20-04:00887543http://forums.asp.net/p/874272/887543.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>One last item i'll add. Even though i'm guilty of a little bit of everything here ;)</p> <p>Also test your modules with both a VirtualDirectory, and Root Domain setups. </p> <p>I frequently find broken images and whatnot in my modules because the paths change for virtual directories. </p> 2005-04-09T19:49:57-04:00887692http://forums.asp.net/p/874272/887692.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>I am glad you brought this up.&nbsp; A list of common 'newbie' development issues is probably a great idea for newbie module developers like myself.&nbsp; Just like anything else, the more experinced guys have already had to fight the problems and know what to look for.&nbsp; Everyone has made very good points.</p> <p>While we are on the topic, there is another thing that has bugged me in the past.&nbsp; Module developers not adhearing to the css classes for module elements.&nbsp; Sure you can edit the ascx file if you have to, but it sure would be nice for the tags to already be there.</p> <p>Thanks again for making this point.</p> <p>Wallew</p> <p>&nbsp;</p> 2005-04-10T02:08:13-04:00916608http://forums.asp.net/p/874272/916608.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>Sebastian -</p> <p><em>5.&nbsp; integrate Module Help by adding Resource Key &quot;ModuleHelp.Text&quot;</em></p> <p>Could you please elaborate on item 5 above?&nbsp; I could not find any info abouth ModuleHelp.Text&nbsp; in the DNN Developer guide.</p> <p>Thanks</p> 2005-05-05T02:57:21-04:00916894http://forums.asp.net/p/874272/916894.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>Hi</p> <p>If you add a record to the .resx file with <em>ModuleHelp.Text, </em>it will automatically populate the text according to your culture if you click on the Help icon in the module actions.</p> 2005-05-05T11:43:40-04:00924923http://forums.asp.net/p/874272/924923.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules <p>rodneyjoyce - </p> <p>Thank you.&nbsp; I tried it in the&nbsp;Visistor Counter module&nbsp;on my dnndev.icpconline.com and it worked.&nbsp; No more empty help.&nbsp; Yeah [Y]</p> <p>It would be nice to&nbsp;have this ModuleHelp.Text documented in&nbsp;the DNN developer guide.</p> 2005-05-13T13:02:15-04:00924950http://forums.asp.net/p/874272/924950.aspx/1?Re+Typical+Issues+in+Custom+ModulesRe: Typical Issues in Custom Modules no prob. I may be wrong but I think it is in the Locali(s)zation guide...<br> 2005-05-13T13:29:56-04:00