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

HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...using WROX.Suggestion to learn module developmentusing WROX.Suggestion to learn module development
Previous
 
Next
New Post
12/19/2010 12:50 AM
 
When the rector wants a page hit counter on the home page, he will get his hit counter. I think a hit counter is amateuristic and has no other function than to boost the ego of the owner. But the rector pays for the thing, so a page counter is what he will get.

I started out by going through the WROX.Suggestions module, but I ran in some problem there: The module did not install: there was a problem with the installation of the database.  I then continued installing the database manually with the script found in 02.00.00.SqlDataProvider. This failed as well. Executing the script step by step,I located two stored procedures that ran into an error: WROX_GetSuggestionModulesAllTabs and WROX_GetSuggestionModulesThisTab.

Having a closer look at those stored procedures showed me this:
select m.ModuleID,
       'ModuleTitle' = m.ModuleTitle + ' (' + t.TabName + ')'
from   {databaseOwner}{objectQualifier}Modules m inner join
  {databaseOwner}{objectQualifier}TabModules tm on m.ModuleID = tm.ModuleID inner join
  {databaseOwner}{objectQualifier}Tabs t on tm.TabID=t.TabID
where  m.ModuleDefID = @SuggestionModuleDefID
and t.IsDeleted = 0
order by t.TabID, m.ModuleTitle

This suggests that ModuleTitle is a field in the table m (dbo.Modules). This table does not have such a field. In fact, the field ModuleTitle belongs to the table tm (dbo.TabModules). The same error occurs in the WROX_GetSuggestionModulesThisTab procedure.

Changing m.ModuleTitle into tm.ModuleTitle in 3 occurrences in the last two procedures makes the module install and run perfectly.

I've done a search through this forum for WROX.Suggestion. It seems I'm not the first one to use this module to learn module creation but no posting mentions this error. Which makes me wonder. Would this error be there with a purpose? It is a good excercise in debugging.

Today, I'm going to test the StarterKit for module creation.

____________________________________
The one-eyed in the land of the blind.
 
New Post
12/19/2010 4:32 AM
 
Marc, the is caused by a change in DNN 5.4, where module title has been moved to TabModules to support localization. It is best practice to get module title from module object in BCL instead of retrieving the database directly.

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
12/19/2010 5:54 AM
 
For anyone following the same book to learn module development after me on DNN 05.4+, here is the answer.

After downloading the source files and extracting them (from 438701 code-final.zip) on their proper locations, go through the 02.00.00.SqlDataProvider file in the DesktopModules\WROX.Suggestion\ folder with a text editor and apply the modifications in my original posting, i.e. replace 3 times 'm' with 'tm'.

Then follow the instructions from the book.

____________________________________
The one-eyed in the land of the blind.
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...using WROX.Suggestion to learn module developmentusing WROX.Suggestion to learn module development


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