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

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Why must be Module-Developing so complicated?Why must be Module-Developing so complicated?
Previous
 
Next
New Post
11/30/2009 3:21 PM
 

Hi All.

I think i'm a well educated and trained person working for more then 20 years now in the wider range if IT-Business. Started as programmer and 3rd-Level-supporter at Borland, IT-Manager in different companies and now as an IT-Consultant. So, i would say, i know what to do and know what i'm talking about.

But with programming a module for DNN i have some problems and just want to know whether i'm the only one or, if not (what i hope of course) how to solve this ... ahm .... problems. Worst would be, if the problem is sitting in front of the screen.

I'm not talking about the theory of programming in VB, not about "how should i do this or that".... i can write programs. My problem is, when it comes to the specialities regarding DNN.

I found some posts here telling me e.g. that i have to use the starter-kit version for which version i would like to program. Or that i have to do this and that, then these tasks....i read the pdfs from this website here, all (?) tutorials from www.adefwebserver.com, some other stuf... but i won't get any clearer.

The most tutorials or "HowTos.." are sometimes telling different stories for the same task.

When it is so simple, beside the fact that one shouls be able to code at all, some may say, why the hack is there no EASY step-by-step explanation, beginning at the very start for newbies like me (in programming! I'm with DNN since almost 3 years now!).

I don't need a 600 pages book on how to setup VS on Vista, how to set security on directories...but what i would like to read on some pages would be:
- which version to use for what goal (starter-kis vs. "normal install package") and which version
- what to do outside of VS or VWD but in the installed development enviroment of DNN? There are some diffs between 4.9.5 to 5.1.4 to 5.2.0
- where to store which files and WHY
- how to compile my source codes into one or if not possible more dlls (struggling with this escpecially, look at this thread on page 2)

Again, i'm not into a training on VB but on how to use it as easy as possible for building modules for DNN.

I would be happy about writing a document (or even a booklet) if someone could lead me thru all of this but does not want to document it.....let's work together for all of us here.

Last, but not least, i'm not unhappy with DNN, i installed several sites for customers, having my own private page for 3 years now up and running and believe it is a great product. And hey, there is no, i repeat NO software out there without errors. The advantage of DNN is the price (he he he) and the huge community which in fact helped me a lot in the past, too, when i had some probs.

But programming? Uh.... i have some great ideas (nothing availabe yet in the internet but asked for from several customers!) but cannot build them.

Allright, thanks in advance for any feedback and a hopefully nice discussion.

Kai

 
New Post
11/30/2009 5:10 PM
 
Start Visual Studio
File->New Project->Web Application Project
Delete Default.aspx
Delete Web.config
Delete App_Data
Project->Add New Item->Web User Control
Project->Add Reference->Browse to a DotNetNuke.DLL->Click OK
Project->Add ASP.NET Folder->App_LocalResources
Project->Add New Item->Resource File
Rename Resource1.resx to WebUserControl1.ascx.resx
Open WebUserControl1.ascx.cs
Change "public partial class WebUserControl1 : System.Web.UI.UserControl" to "public partial class WebUserControl1 : DotNetNuke.Entities.Modules.PortalModuleBase"
Project->Add New Item->Text File
Rename Text1.txt to WebApplication1.dnn
Open WebApplication1.dnn
Add the following to WebApplication1.dnn
    <dotnetnuke type="Package" version="5.0">
        <packages>
            <package name="WebApplication1"  type="Module"  version="00.00.00">
                <friendlyName>WebApplication1</friendlyName>
                <description>WebApplication1</description>
                <components>
                    <component type="Module">
                        <desktopModule>
                            <moduleName>WebApplication1</moduleName>
                            <foldername>WebApplication1</foldername>
                            <moduleDefinitions>
                                <moduleDefinition>
                                    <friendlyName>WebApplication1</friendlyName>
                                    <moduleControls>
                                        <moduleControl>
                                            <controlKey />
                                            <controlSrc>DesktopModules/WebApplication1/WebUserControl1.ascx</controlSrc>
                                            <iconFile />
                                            <helpUrl />
                                            <supportsPartialRendering>True</supportsPartialRendering>
                                            <controlTitle />
                                            <controlType>View</controlType>
                                        </moduleControl>
                                    </moduleControls>
                                </moduleDefinition>
                            </moduleDefinitions>
                        </desktopModule>
                    </component>
                    <component type="Assembly">
                        <assemblies>
                            <assembly>
                                <path>bin</path>
                                <name>WebApplication1.dll</name>
                                <sourceFileName>WebApplication1.dll</sourceFileName>
                            </assembly>
                        </assemblies>
                    </component>
                    <component type="File">
                        <files>
                            <basePath>DesktopModules/WebApplication1</basePath>
                            <file>
                                <name>WebUserControl1.ascx</name>
                                <sourceFileName>WebUserControl1.ascx</sourceFileName>
                            </file>
                            <file>
                                <path>App_LocalResources</path>
                                <name>WebUserControl1.ascx.resx</name>
                                <sourceFileName>WebUserControl1.ascx.resx</sourceFileName>
                            </file>
                        </files>
                    </component>
                </components>
            </package>
        </packages>
    </dotnetnuke>
 
Put WebUserControl1.ascx, WebApplication1.dll, WebUserControl1.ascx.resx into a zip file and upload as a module.
 
I'm not sure why, but I have to go into the module definition of WebApplication1 and add the portals the module can be added to.
 
The above steps are the most simplistic I would use to get a module up and working, even if it doesn't do much. [I made the one I was testing with display the time on a Label].
 
Personally, I wouldn't get into module development without a template of some sort, such as http://codeendeavortemplate.codeplex.com/. I don't use that one, or the DNN starter kits - I've rolled my own template since I first started. I gotta have it customized my way. :)
 
I'm not sure how much those steps are going to help you, but I do hope they are simple and clear enough to get you started with something, even if it's more questions. :)
 
[I tried to be exact with my steps here and what I did, though I may have missed a change in my test that didn't get reflected here]
 
EDIT :: There we go - ReEdited to clear up a step and fix the broken that editing did to my manifest.
 
New Post
11/30/2009 5:13 PM
 

Well you should really have a background of ASP.NET and VB or C#... Well anything .NET.
Plenty of tutorials on Visual Studio available.

As far as specific DNN modules you could do no worse than try the book advertised to the right of your original post.



Alex Shirley


 
New Post
11/30/2009 5:14 PM
 

WOW - that's pretty cool Baatezu! 



Alex Shirley


 
New Post
1/21/2010 1:51 PM
 
Baatezu,
Interseting post, thanks.

I am using VS2008 SP1, C#, Vista, DNN 5.1.4.

I'm trying to follow your "steps" and ran to the following issue in the line:

Replace System.Web.UI.UserControl with DotNetNuke.Entities.Modules.PortalModuleBase

using DotNetNuke.Entities.Modules. gives me the following options : Actions, Communications, Definitions.

Which one is correct, or maybe you have typo?

Chris





 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Why must be Module-Developing so complicated?Why must be Module-Developing so complicated?


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