<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>CMS</title>
        <link>http://edsid.com/blog/category/6.aspx</link>
        <description>CMS</description>
        <language>en-US</language>
        <copyright>Gerry Heidenreich</copyright>
        <managingEditor>grh@whdlaw.com</managingEditor>
        <generator>Subtext Version 1.9.5.177</generator>
        <item>
            <title>DNN4.02: Quick &amp; Dirty C# and VB Custom Modules</title>
            <link>http://edsid.com/blog/archive/2006/02/20/1618.aspx</link>
            <description>&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;STRONG&gt;Disclaimer&lt;BR&gt;&lt;/STRONG&gt;&lt;EM&gt;The point of this post is to help people understand that DNN Module development &lt;U&gt;can&lt;/U&gt; &lt;U&gt;be&lt;/U&gt;&amp;nbsp;as simple as creating an ASP.Net User Control.&amp;nbsp; There are many benefits to minding the guidelines (which at first seem complex), but in reality, the requirements met by these guidelines are a little extreme for hobbyists &amp;amp; smaller projects.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I still recommend that you use the best practices and guidelines specified in DNN Custom Modules documentation (&amp;#8220;DotNetNuke Module Developers Guide.pdf&amp;#8221; inside the documentation package on &lt;A href="http://www.dotnetnuke.com/"&gt;www.dotnetnuke.com&lt;/A&gt;).&amp;nbsp; Learning &amp;amp; minding the guidelines will:&lt;BR&gt;&amp;nbsp;&amp;nbsp; * prepare your module for easy deployment&lt;BR&gt;&amp;nbsp;&amp;nbsp; * remove database dependencies&lt;BR&gt;&amp;nbsp;&amp;nbsp; * enable localization&lt;BR&gt;&amp;nbsp;&amp;nbsp; * allow importing &amp;amp; exporting of information between modules&lt;BR&gt;&amp;nbsp;&amp;nbsp; * provide context-based actions&lt;BR&gt;&amp;nbsp;&amp;nbsp; * personalize the UI&lt;BR&gt;&amp;nbsp;&amp;nbsp; * exploit the DNN Scheduler for automating processes&lt;BR&gt;&amp;nbsp;&amp;nbsp; *&amp;nbsp;result in cleaner,&amp;nbsp;properly separated&amp;nbsp;code layers for extensibility.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Also, I &lt;U&gt;highly&lt;/U&gt; &lt;U&gt;recommend&lt;/U&gt; &lt;A href="http://www.dotnetdoc.com/"&gt;Daniel Egan's&lt;/A&gt; book &amp;#8220;&lt;/EM&gt;&lt;A href="http://www.amazon.com/gp/product/1904811272/sr=8-3/qid=1140487105/ref=pd_bbs_3/104-5357613-1622367?%5Fencoding=UTF8"&gt;&lt;EM&gt;Building Websites with VB.Net and DotNetNuke 3.0&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&amp;#8221;, and keep an eye out for the upcoming 2nd edition of this book.&amp;nbsp;&lt;/EM&gt;;)&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;As the title says, this is quick &amp;amp; dirty... for a guide through using the DotNetNuke Templates in your IDE&amp;nbsp;&amp;amp; setting up a good, not-so-quick but clean module with best practices in mind, check out my Starting New Modules post &lt;A href="http://edsid.com/blog/archive/2006/02/12/1539.aspx"&gt;here&lt;/A&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Overview&lt;/STRONG&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;Looking through Bil Simser's &amp;#8220;&lt;A href="http://weblogs.asp.net/bsimser/archive/2006/01/31/437023.aspx"&gt;DotNetNuke vs. SharePoint&lt;/A&gt;&amp;#8220; post, I realized that there&amp;nbsp;is some hesitation about custom development in DNN.&amp;nbsp; As Shaun Walker mentions lower in the comments of that post, &amp;nbsp;the&amp;nbsp;guides you read online and in in books typically follow pretty strict enterprise standards.&amp;nbsp; Though it's recommended, it's not necessary...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;FONT color=#000000&gt;Creating a custom module is as simple as making an ASP.Net User Control.&amp;nbsp; You will use DotNetNuke's Module Definitions page to add the Module to your DNN environment.&amp;nbsp; Once this is complete, you can add instances of your module anywhere within the site, and debug from within your DotNetNuke solution.&amp;nbsp; The demo in this post will&amp;nbsp;result in a simple module that displays the ModuleId in a label.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Get DNN Going on your dev box&lt;/STRONG&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;I recommend installing DotNetNuke's full source package (solution) if you're doing any custom dnn development.&amp;nbsp; It's free, easy to install, and gives you the opportunity to debug your module, and&amp;nbsp;when you need it, the dnn environment.&amp;nbsp; You can have a local DNN solution installed and ready to go in about 10 minutes.&amp;nbsp; My post to quickly guide you through this is here: &lt;FONT color=#800080&gt;&lt;U&gt;DNN4.02: Create Your DotNetNuke Development Environment&lt;/U&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Create the Module&lt;/STRONG&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Open your DotNetNuke solution&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Add a folder to the DesktopModules folder of your DotNetNuke project, ex: &amp;#8220;ShowModuleId&amp;#8221;&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Add a new User Control (any language) to the ShowModuleId folder,&amp;nbsp;ex: "ShowModuleId.ascx"&lt;BR&gt;&amp;nbsp;&amp;nbsp; *&amp;nbsp;Update&amp;nbsp;User Control to inherit from DotNetNuke.Entities.Modules.PortalModuleBase&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Drop a label onto the form, inside Page_Load set label text to ModuleId.ToString()&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Compile&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Install Module&lt;/STRONG&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Open DotNetNuke web, log in as host&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Navigate to Host &amp;gt; Module Definitions&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Mouse-over the context-menu of the Module Definitions module, select &amp;#8220;Add New Module Definition&amp;#8221;, set the fields as follows:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Name:&amp;nbsp;uniquely identifies module in the system, ex: ShowModuleId&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Folder Name: the name you placed your .ascx into, this is used later, type it in right, ex: ShowModuleId&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- Friendly Name: the name the module is displayed as in the module admin dialogs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - click Update&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Definition fields display below, type in a definition name in New Definition, ex: ShowModuleId, click Add Definititon&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Add Control is displayed below, click to open &amp;#8220;Edit Module Control&amp;#8221; dialog, set fields as follows:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Key: anything works in this example, key is used to uniquely identify controls within a defintion&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Title: default title of the control when added to a page&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Source:&amp;nbsp;select&amp;nbsp;the folder/modulename.ascx item in the list&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Type: View&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - click Update&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Navigate to Home&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Trying it out&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color=#ff0000&gt;&lt;FONT color=#000000&gt;To demonstrate a couple instances of your new module on the same page, do the following 2 or 3 times.&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp; * Select your module from the Module: dropdown in the top 'admin' panel on the page.&lt;BR&gt;&amp;nbsp;&amp;nbsp; * Click 'Add' to the right&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;FONT color=#000000&gt;When you scroll down to the module just added, you'll see that they display the ModuleId, and are treated by DNN as completely separate entities.&amp;nbsp; You can now update the DNN settings for each of these and&amp;nbsp;control view &amp;amp; edit privileges by Role.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;What's next...&lt;/STRONG&gt;&lt;FONT color=#000000&gt;&lt;BR&gt;Anything you can do with a User Control you can do here.&amp;nbsp; You have full programmatic access to an &lt;EM&gt;amazing&lt;/EM&gt; web application framework that provides features that would&amp;nbsp;be expensive and time-consuming to&amp;nbsp;build onto a new application.&amp;nbsp; You have access to free &amp;amp; commercial 3rd party modules, many with source, that give you a head-start on just about anything you would want on a web app (and much that the web wasn't even meant for).&amp;nbsp; If you think you've got something original and you&amp;nbsp;want to sell it, you can make a lot of money&amp;nbsp;on sites like &lt;A href="http://www.snowcovered.com/snowcovered2/default.aspx"&gt;Snowcovered&lt;/A&gt;.&amp;nbsp; Like any platform, the more you work with it, the more bells &amp;amp; whistles you discover &amp;amp; take advantage of... there's no reason that you can't start slow with DNN.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/1618.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2006/02/20/1618.aspx</guid>
            <pubDate>Tue, 21 Feb 2006 03:08:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/1618.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2006/02/20/1618.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/1618.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/1618.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN4.02: Starting New DotNetNuke Modules in C# or VB.Net</title>
            <link>http://edsid.com/blog/archive/2006/02/12/1539.aspx</link>
            <description>&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;C#?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;EM&gt;There's a&amp;nbsp;misconception that DNN development is done in VB only.&amp;nbsp; It's true that the DNN core is written in VB, but DotNetNuke is extended through the&amp;nbsp;development of modules.&amp;nbsp; Modules can be written in any .Net language, as long as they inherit from DotNetNuke.Entities.Modules.PortalModuleBase.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;No more Private Assemblies&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;EM&gt;Private assemblies were used to decouple custom modules from the DNN core.&amp;nbsp; New modules were developed in separate projects from DotNetNuke, and required a 'builder' project to assure the correct&amp;nbsp;.dll's were being&amp;nbsp;deployed to the correct&amp;nbsp;\bin.&amp;nbsp;My earlier DNN2 posts detailed the work required to hack up a good debugging DNN environment.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The new method of development and deployment takes advantage of ASP.Net's dynamic runtime compilation/code sharing features by placing source code inside the App_Code folder.&amp;nbsp; Module interface &amp;amp; resource files are still inside of the \DesktopModules\[ModuleName] folder.&amp;nbsp; Deployment now involves copying all the required (desktopmodule &amp;amp; app_code) files out&amp;nbsp;and zipping them up with the [ModuleName].dnn manifest file.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;For commercial module deployment (without the source), you need VS2005 Standard or better (VWD won't pre-compile your code), and you need to pre-compile your application&lt;/EM&gt;&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Templates&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; Install the Starter Kit&lt;/STRONG&gt; for your VWD or VS2005 environment.&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Download&amp;nbsp;from &lt;A href="http://www.dotnetnuke.com/"&gt;www.dotnetnuke.com&lt;/A&gt; downloads section (must register first).&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Starter Kit installs templates for C# &amp;amp; VB modules.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Add New Module&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/STRONG&gt;&lt;STRONG&gt;1.&amp;nbsp;Add Item&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Select the web project&lt;/STRONG&gt; (if you are opening the&amp;nbsp;&lt;EM&gt;Source&lt;/EM&gt; package, there will be many projects)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Ctrl+N&lt;/STRONG&gt; (or File &amp;gt; New &amp;gt; File) to Add Item&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Scroll down and select &amp;#8220;DotNetNuke Module&amp;#8221;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;If you do not see this item, you either don't have the Starter Kit installed, or you didn't have the web project selected before this step.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Name your module&lt;/STRONG&gt; - example, 'Test1' &amp;amp; &lt;STRONG&gt;Select your language&lt;/STRONG&gt;, click 'Add'.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Note: View 'What&amp;nbsp;did the template do?' below to see what just happened...&lt;/EM&gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 2. Update project folders&lt;/STRONG&gt; - 2 folders were just created, and filled with the files needed for a new module.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rename the folders&amp;nbsp;'ModuleName' to the name of your new Module in the following directories:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \App_Code&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \DesktopModules&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 3. Update codeSubDirectories&lt;/STRONG&gt; in web.config(not necessary for VB.Net Modules)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For ASP.Net 2 'runtime&amp;nbsp;compilation'&amp;nbsp;support, source code is kept in subdirectories within the App_Code folder.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open web.config, for module&amp;nbsp;named 'Test1',&amp;nbsp;go to&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&amp;lt;compilation ...&amp;gt;&amp;lt;codeSubDirectories&amp;gt;, add the following element:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add directoryName="Test1"/&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 4. Install Both Module Definitions into DNN&lt;/STRONG&gt; - 2 of the sql scripts created by the template must be executed within DNN.&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Open DNN&lt;/STRONG&gt; in your browser&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Log in as host &lt;/STRONG&gt;- default is login: host, pass: host&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Go to SQL Page&lt;/STRONG&gt; - In the nav, select Host &amp;gt; SQL&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Execute SQL Scripts&lt;/STRONG&gt; -&amp;nbsp;these 2 files are inside the web project's DesktopModules folder.&amp;nbsp; Follow the copy/paste/execute procedure below for&amp;nbsp;each of these:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ModuleName].SqlDataProvider, and &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01.00.00.SqlDataProvider&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Copy SQL to generate definitions&lt;/STRONG&gt; - From Visual Studio, double-click on the&amp;nbsp;file&amp;nbsp;you are going to execute (there are 2, mentioned immediately above this line)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Ctrl+A, Ctrl+C to select all &amp;amp; copy to clipboard&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Paste &amp;amp; Execute Script&lt;/STRONG&gt; - Check 'Run As Script', and paste the script copied earlier into the textbox&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;Note: there's only a postback when this is done, no 'completed message or anything'.&lt;BR&gt;&lt;/EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Add New Module to Page&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Click 'Home' on the nav.&amp;nbsp; If you're logged in as host or admin, you will see the admin dialog along the top of the page.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In the center of the admin dialog is the Module: dropdown box.&amp;nbsp; Select your new module, and click 'Add' to the right.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scroll down, you will see the new module, by default containing the test 'Here is some sample content.'&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;What did the template do?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; The template just created 2 directories and a bunch of files for your module.&amp;nbsp; All new modules are placed inside the ModuleName folders, due to limitations of Visual Studio templates.&amp;nbsp; The&amp;nbsp;stuff just added are all you need to start a new module, and includes:&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL Script files&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01.00.00.SqlDataProvider - Creates default table &amp;amp; CRUD sprocs&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ModuleName].SqlDataProvider - Registers module into DNN environment&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uninstall.SqlDataProvider - Cleans out db objects related to module&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;View/Edit/Settings Pages&lt;/STRONG&gt; (actually controls)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt;Resources Directory&lt;/STRONG&gt; &amp;amp; default files&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Documents Directory&lt;/STRONG&gt; &amp;amp; default files&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Module Installation&amp;nbsp;Manifest File&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[ModuleName].dnn file is an&amp;nbsp;xml file that describes the bits of the module.&amp;nbsp; Parsed by DNN for easy deployment &amp;amp; automatic installation.&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; App_Code&lt;/STRONG&gt; - The source code class files&amp;nbsp;use the ASP.Net 2 App_Code solution for dynamic runtime compilation.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For more on the&amp;nbsp;use of the App_Code directory, see:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://quickstart.developerfusion.co.uk/QuickStart/aspnet/doc/pages/code.aspx"&gt;Sharing Code Between Pages&lt;/A&gt;&amp;nbsp;&amp;amp; &lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/01/ExtremeASPNET/"&gt;Fritz Onion on Codebehind and Compilation in ASP.NET 2.0&lt;/A&gt;&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/1539.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2006/02/12/1539.aspx</guid>
            <pubDate>Sun, 12 Feb 2006 22:55:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/1539.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2006/02/12/1539.aspx#feedback</comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/1539.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/1539.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN4.02: Create Your DotNetNuke Development Environment</title>
            <link>http://edsid.com/blog/archive/2006/02/12/1538.aspx</link>
            <description>&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Download Packages&lt;/FONT&gt;&lt;/STRONG&gt; (I recommend Docs, Source, &amp;amp; Starter Kit)&lt;BR&gt;Start by registering at &lt;A href="http://www.dotnetnuke.com/"&gt;www.dotnetnuke.com&lt;/A&gt;.&amp;nbsp; Once you're registered &amp;amp; signed in, go to the Download section, you'll see 4 packages:&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 1. Docs&lt;/STRONG&gt; - Definitely good to have around&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 2. Install &lt;/STRONG&gt;- Completely non-source release for deployment only.&amp;nbsp; &lt;EM&gt;I highly recommend getting the Source package for development.&lt;BR&gt;&lt;/EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 3. Source&lt;/STRONG&gt;&amp;nbsp;- Everything but the kitchen sink&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 4. Starter Kit &lt;/STRONG&gt;- A &lt;EM&gt;must-have &lt;/EM&gt;package, installs .Net 2 templates (&lt;EM&gt;compatible with VS2005 &amp;amp; &lt;A href="http://msdn.microsoft.com/vstudio/express/vwd/"&gt;Visual Web Developer 2005&lt;/A&gt;&lt;/EM&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * New&amp;nbsp;DNN&amp;nbsp;Application&amp;nbsp;Template - create new DNN sites&amp;nbsp;straight from VS&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * New Module (VB, &amp;amp; C#) - Creates View/Edit controls, SQL integration, Module Manifest (.dnn file), and other items needed for writing your own module&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * New Skin - generates&amp;nbsp;files necessary for a new skin&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Installation&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;EM&gt;Note: Don't browse to site or open the DNN solution until the following&amp;nbsp;5 steps are completed&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;1. Unzip DNN &lt;/STRONG&gt;- Extract your dnn package into your web folder, example: c:\inetpub\dnn402&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you're unzipping the &lt;EM&gt;Install&lt;/EM&gt; Package, there will be 2 directories created below: Library, and Website&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 2. Create IIS Virtal Directory&lt;/STRONG&gt; - Point at the dnn root folder, be sure to go to the ASP.NET tab of your Virtual Directory and change the version from 1.1 to .Net 2.&amp;nbsp; example: c:\inetpub\dnn402\website, Virtual Directory &amp;#8220;dnn402&amp;#8221; will be found at http://localhost/dnn402, but &lt;EM&gt;do not browse there yet&lt;/EM&gt;.&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 3. Database&lt;/STRONG&gt;&amp;nbsp;- Create your dnn database (example, dnn402dev, add a database user &amp;amp; assign as owner (db_owner in SQL).&amp;nbsp; (&lt;EM&gt;Owner privs aren't necessary, DNN Installation documentation details minimum requirements for permissions&lt;/EM&gt;).&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 4. web.config&lt;/STRONG&gt; - Copy release.config from the dnn root to web.config.&amp;nbsp; Update the db connection strings (there's 2, one is for legacy support), SQL settings are at:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;appSettings&amp;gt;&amp;lt;add key="SiteSqlServer" value="..." /&amp;gt;, &lt;EM&gt;and&lt;/EM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;connectionStrings&amp;gt;&amp;lt;add name="SiteSqlServer" connectionString="..." providerName="System.Data.SqlClient" /&amp;gt; ...&lt;BR&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sample connection string: Server=(local);Database=dnn402;uid=dnnuser;pwd=dnnuser;&lt;BR&gt;&lt;/EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; 5. IIS worker process permissions &lt;/STRONG&gt;- Make sure your&amp;nbsp;worker process user account has read/write privileges to directories &amp;amp; files under your dnn directory (&lt;EM&gt;again, minimal requirements are detailed in the DNN Installation Documentation&lt;/EM&gt;)&lt;STRONG&gt; -&lt;/STRONG&gt; Default worker process accounts are:&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IIS5 &amp;amp; Win2000:&lt;/STRONG&gt; {ServerName}\ASPNET&lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IIS6 &amp;amp; Win2003:&lt;/STRONG&gt; NETWORK SERVICE&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Browse to site&lt;/FONT&gt;&lt;FONT color=#000000&gt; to conclude install process&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; Opening the site in your browser (example, http://localhost/dnn402) executes all the scripts necessary to create the portal environment.&lt;BR&gt;&amp;nbsp;&amp;nbsp; Once this is complete, you will see the Home page with a few default modules installed.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Back it up&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; Now is the time, db &amp;amp; app directory!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Opening the Solution&lt;/FONT&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;EM&gt;First&lt;/EM&gt;, update the path of the web project inside the .sln file!&amp;nbsp; The&amp;nbsp;default&amp;nbsp;inside DotNetNuke.sln is&amp;nbsp;DotNetNuke_2.&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; The current 4.02 build fails to compile!&amp;nbsp; Open the solution and build a few times until all the&amp;nbsp;dependent projects&amp;nbsp;are built &amp;amp; the solution builds fine.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;Final Note&lt;/FONT&gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; This post covers the simplest way to get a dev DNN environment going on your local machine.&amp;nbsp; There are many options in the install process that are covered in detail in the document 'DotNetNuke Installation Guide.pdf' that comes in the Docs package at &lt;A href="http://www.dotnetnuke.com/"&gt;www.dotnetnuke.com&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/1538.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2006/02/12/1538.aspx</guid>
            <pubDate>Sun, 12 Feb 2006 21:04:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/1538.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2006/02/12/1538.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/1538.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/1538.aspx</trackback:ping>
        </item>
        <item>
            <title>Preparing Before Talk, Killola</title>
            <link>http://edsid.com/blog/archive/2006/01/26/1218.aspx</link>
            <description>&lt;P&gt;&lt;BR&gt;I'll be&amp;nbsp;kicking off my speaking career&amp;nbsp;in June.&amp;nbsp; I'll be discussing&amp;nbsp;DotNetNuke 4, and custom module development (to correspond with another project on the hitlist), to the WI .Net UG.&amp;nbsp; Though I've been anxious to start the whole speaking-thing off with a &lt;EM&gt;bang, &lt;/EM&gt;I didn't exactly consider it in a literal sense.&lt;BR&gt;I was pointed at an interesting &lt;A href="http://news.bbc.co.uk/"&gt;article on BBC News&lt;/A&gt; (thanks for the &lt;A href="http://www.little-garins.com/Blogs/marty/archive/2006/01/26/752.aspx#FeedBack"&gt;pointer&lt;/A&gt;, Marty).&lt;/P&gt;
&lt;P&gt;Of course... I still intend to prepare&amp;nbsp;using the &lt;A href="http://www.hanselman.com/blog/content/radiostories/2003/01/22/scottHanselmansTipsForASuccessfulMsftPresentation.html"&gt;traditional methods&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Killola&lt;BR&gt;&lt;/STRONG&gt;I was in CA this weekend, at the &lt;A href="http://www.google.com/search?hl=en&amp;amp;q=socal+code+camp"&gt;SoCal Code Camp&lt;/A&gt; (which was a riot, post is coming soon)... we enjoyed the 1st official 'Rock &amp;amp; Roll Geek Dinner'.&amp;nbsp; The&amp;nbsp;entire weekend&amp;nbsp;was&amp;nbsp;organized by my friend &lt;A href="http://www.dotnetdoc.com/"&gt;Daniel Egan, the DotNetDoc&lt;/A&gt;, and entertainment was organized by none other than '&lt;A href="http://www.thatindigogirl.com/"&gt;that Indigo Girl&lt;/A&gt;', Michelle Leroux Bustamante.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.google.com/search?hl=en&amp;amp;q=killola"&gt;Killola&lt;/A&gt; got up and played all of their music from their CD, track for track... and they &lt;EM&gt;rocked&lt;/EM&gt;.&amp;nbsp; Loaded with, sexy &amp;amp; energetic punkish, original heavy rock, they kept the geeks happy for almost an hour.&amp;nbsp; Check out their &lt;A href="http://www.killola.com/"&gt;site&lt;/A&gt;&amp;nbsp;(and &lt;A href="http://www.myspace.com/killola"&gt;their myspace&lt;/A&gt;), buy their music, and&amp;nbsp;&lt;A href="http://killola.com/contact.htm"&gt;beg them&lt;/A&gt; to come&amp;nbsp;give us&amp;nbsp;company in Milwaukee on April 21st (hint, hint!)...&lt;/P&gt;
&lt;P&gt;I have to thank Daniel &amp;amp; Michelle for their hard work in organizing this thing, it made for an absolutely unforgettable weekend.&amp;nbsp; I'm inspired to give our upcoming events whatever kick in the pants (short of sponsoring the thing) that I can to make it as good as this!&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/1218.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2006/01/26/1218.aspx</guid>
            <pubDate>Fri, 27 Jan 2006 04:25:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/1218.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2006/01/26/1218.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/1218.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/1218.aspx</trackback:ping>
        </item>
        <item>
            <title>John Mitchell is blogging</title>
            <link>http://edsid.com/blog/archive/2005/09/08/973.aspx</link>
            <description>&lt;P&gt;&lt;BR&gt;John has finally given in to the&amp;nbsp;temptations of &lt;A href="http://www.dasblog.net/"&gt;DasBlog&lt;/A&gt;&amp;nbsp;and started a blog of his own.&amp;nbsp; Stick with him to hear about&amp;nbsp;his latest &lt;A href="http://www.dotnetnuke.com"&gt;DotNetNuke&lt;/A&gt; escapades and announcements. &lt;/P&gt;
&lt;P&gt;[&lt;A href="http://blogs.snapsis.com/default.aspx"&gt;John Mitchell's Weblog&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/973.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2005/09/08/973.aspx</guid>
            <pubDate>Thu, 08 Sep 2005 14:56:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/973.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2005/09/08/973.aspx#feedback</comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/973.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/973.aspx</trackback:ping>
        </item>
        <item>
            <title>Installing DotNetNuke 3</title>
            <link>http://edsid.com/blog/archive/2005/03/14/336.aspx</link>
            <description>&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Looking for DNN4 stuff??? Check my more recent posts:&lt;BR&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1538.aspx"&gt;&lt;EM&gt;DNN4.02: Create Your DotNetNuke Development Environment&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="dnn4.02:%20Quick%20&amp;amp;%20Dirty%20C# and VB Custom Modules"&gt;&lt;EM&gt;DNN4.02: Quick &amp;amp; Dirty C# and VB Custom Modules&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1539.aspx"&gt;&lt;EM&gt;DNN4.02: Starting New DotNetNuke Modules in C# or VB.Net&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;

&lt;P&gt;UPDATE: &lt;/STRONG&gt;I'm getting tons of hits on this from Google, as it turns out, this one of the most authoritative posts on installing DNN3.&amp;nbsp; That's great to hear, but I threw this together for myself to use later, I know it's not as good as it could be.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=5&gt;PLEASE PROVIDE INPUT&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;Any details I may have missed, better verbage, etc... Please post any new updates to DNN3 that change process below so I can keep it up to date... I'll be watching, thanks! - Gerry&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
DotNetNuke 3 has been in the blender for months now, and I've passed up a dozen (almost) chances to play with betas, but real life has kept me from seeing what Shaun Walker et. al. have brought our way. Well... it's finally out, so I decided to dive in and check it out myself. 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;For those of you (like myself) that would rather muddle around with the source instead of using the good old rtfm method to get it to install correctly, here are some pointers.&amp;nbsp; For reference, I've installed it to my test folder dnn3, mapped to &lt;A href="http://localhost/dnn3"&gt;http://localhost/dnn3&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update June 28, regarding the v3.1.0 release: &lt;/STRONG&gt;There is now a selection of .config files, &lt;STRONG&gt;&lt;EM&gt;no web.config&lt;/EM&gt; &lt;/STRONG&gt;comes out of the box!&amp;nbsp; You need to rename release.config to web.config, &lt;STRONG&gt;&lt;EM&gt;after&lt;/EM&gt;&lt;/STRONG&gt; backing up the old web.config if you're upgrading.&amp;nbsp; Also, if you're upgrading, make sure you retain the MachineKey values&amp;nbsp;in AppSettings.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Let's get started...&lt;/STRONG&gt;&lt;BR&gt;1. Register at &lt;A href="http://www.dotnetnuke.com"&gt;www.dotnetnuke.com&lt;/A&gt;, and download zip&lt;BR&gt;2. Unzip contents into c:\inetpub\dnn3 &lt;BR&gt;3. Create SQL database &amp;#8220;dnn3&amp;#8220;, add user: dnnuser as dbowner &lt;BR&gt;4. Update .sln file's 2nd line, the web project web path from the default of &amp;#8220;http://localhost/dotnetnuke/etc&amp;#8220; to &amp;#8220;http://localhost/dnn3&amp;#8220; &lt;BR&gt;5. Update sql connectionstring in web.config &lt;BR&gt;6. Make sure your IIS user acct has privs to create files &amp;amp; folders in c:\inetpub\dnn3 (read instructions for detailed priv requirements to lock it down!) &lt;BR&gt;7. Browse to the site http://localhost/dnn3, installation will commence&lt;/P&gt;
&lt;P&gt;Note, if the install fails at step 7, you're best-off removing the db, and the folder completely, and restarting the process.&amp;nbsp; If the install&amp;nbsp;processes fall out of sync, it's a pain to recover from.&amp;nbsp; The step 7 problems I had were due to messing up step 6.&amp;nbsp; I went to the instructions to get detailed priv info for my iis acct.&lt;/P&gt;
&lt;P&gt;Next - I have some observations to make... &lt;/P&gt;
&lt;P&gt;Telligent's Community Server takes a few less&amp;nbsp;steps, and is much easier on the non-geek trying to grow a social-network:&lt;BR&gt;1. download the install.exe&lt;BR&gt;2. double-click the install.exe&lt;BR&gt;3. Do what the wizard says.&lt;BR&gt;Us geeks on the other hand get a thrill&amp;nbsp; figuring out how to iron out the wrinkles of an open-source deployment...&lt;/P&gt;
&lt;P&gt;Also, on dotnetnuke.com, there's news of &amp;#8220;&lt;A href="http://www.dotnetnuke.com/Community/DotNetNukeSubProjects/tabid/793/Default.aspx"&gt;dotnetnuke sub-projects&lt;/A&gt;&amp;#8221;, which strangely incorporate &lt;EM&gt;only&lt;/EM&gt; Weblogs, Forums, and a Gallery at this moment.&amp;nbsp; For those of you following &lt;A href="http://www.telligentsystems.com/"&gt;Telligent&lt;/A&gt;'s &lt;A href="http://www.communityserver.org/"&gt;Community Server&lt;/A&gt;, you will notice an obvious parallel.&amp;nbsp; I have been with DNN for a long time, and I'm also a big fan of Telligent's work.&amp;nbsp; I have to wonder why these two didn't pull their acts together and&amp;nbsp;share the&amp;nbsp;skill they both obviously have.&amp;nbsp;&amp;nbsp;It may have&amp;nbsp;something to do differences between licensing agreements &amp;amp; commercialization.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;

&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Anyway... the install is complete, and I'm staring at a beautiful,&amp;nbsp;&lt;EM&gt;rich&lt;/EM&gt; DNN interface that blows the socks off DNN2.&amp;nbsp; &lt;BR&gt;Multiple super-user accounts&lt;BR&gt;Drag &amp;amp; drop modules&lt;BR&gt;Modules decoupled from the core&lt;BR&gt;Module content XML Import/Export&lt;/P&gt;
&lt;P&gt;That's in the 1st 2 minutes of looking around.&amp;nbsp; Time to recompile all my custom modules to version 3 now!&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/336.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2005/03/14/336.aspx</guid>
            <pubDate>Tue, 15 Mar 2005 03:59:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/336.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2005/03/14/336.aspx#feedback</comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/336.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/336.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN2: Adding Actions to an existing DotNetNuke module's Options Menu in 12 steps</title>
            <link>http://edsid.com/blog/archive/2004/10/14/243.aspx</link>
            <description>&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Looking for DNN4 stuff??? Check my more recent posts:&lt;BR&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1538.aspx"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Create Your DotNetNuke Development Environment&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="dnn4.02:%20Quick%20&amp;amp;%20Dirty%20C# and VB Custom Modules"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Quick &amp;amp; Dirty C# and VB Custom Modules&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1539.aspx"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Starting New DotNetNuke Modules in C# or VB.Net&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;

&lt;P&gt;Adding options to your module's flyout can be a little tricky. The following list uses code in C#, and applies to any existing module projects in VS 2003. &lt;/P&gt;
&lt;P&gt;If you have yet to create your module, you may want to read &lt;A id=_4d88ca502df_HomePageDays_DaysList__ctl1_DayItem_DayList__ctl0_TitleUrl href="/blog/archive/2004/10/12/239.aspx"&gt;&lt;FONT color=#000066&gt;DNN: Create a custom DotNetNuke Module in a dozen steps!&lt;/FONT&gt;&lt;/A&gt; first.&lt;/P&gt;
&lt;P class=sidenote&gt;1. Add new User Control to existing module project&lt;BR&gt;2. Update control to inherit from DotNetNuke.PortalModuleControl&lt;BR&gt;3. Update Namespace to [company].DNN.Modules.[modulename]&lt;BR&gt;4. Add using statement for DotNetNuke &lt;BR&gt;5. Save and compile new empty control&lt;BR&gt;6. Manually add Module definition for each new control to the Module Definitions for the module&lt;BR&gt;&amp;nbsp;&amp;nbsp; Type is used for security, Key is used to programatically reference a control&lt;BR&gt;7. Add Menu option(s) by adding Action(s) at end of initial ("View") page's Page_Init&lt;BR&gt;&amp;nbsp;&amp;nbsp; base.Actions.Add(base.GetNextActionID(), "My Module Options", "", "", "", base.get_EditURL("","","Options") , "",false, SecurityAccessLevel.Edit, true, false);&lt;BR&gt;8. Update .dnn file to include control section, and add file element(s)&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;KEY&gt;Options&lt;/TITLE&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SRC&gt;MyOptionsPage.ascx&lt;/SRC&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;TYPE&gt;Edit&lt;/TYPE&gt;&lt;BR&gt;9. Design Additional pages&lt;BR&gt;&amp;nbsp;&amp;nbsp; Set CSS for text controls to DNN styles:&lt;BR&gt;&amp;nbsp;&amp;nbsp; Linkbuttons: CommandButton&lt;BR&gt;&amp;nbsp;&amp;nbsp; Validators: NormalRed&lt;BR&gt;&amp;nbsp;&amp;nbsp; Form Prompts: SubHead&lt;BR&gt;&amp;nbsp;&amp;nbsp; Text: Normal&lt;BR&gt;10. Include a cancel linkbutton to return back to : &lt;BR&gt;&amp;nbsp;&amp;nbsp; try{Response.Redirect(get_NavigateURL(""),true);}&lt;BR&gt;&amp;nbsp;&amp;nbsp; catch(Exception ex){DotNetNuke.Exceptions.ProcessModuleLoadException(this, ex));}&lt;BR&gt;11. Test through DNN until you're ready to package.&lt;BR&gt;12. Create module package&lt;BR&gt;&amp;nbsp;&amp;nbsp; Identify all items needed in module, make sure they're included in .dnn file under &lt;FILES&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; Zip up all items and upload package in File Manager&lt;/P&gt;
&lt;P&gt;Next I'll cover a much easier topic: Storing and Retrieving data for Module Settings.&lt;/P&gt;
&lt;P&gt;!!!NOTE REGARDING DNN 3 BREAKING EditURL():&lt;BR&gt;&lt;A href="http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=715571"&gt;http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=715571&lt;/A&gt;&lt;BR&gt;"Change Name: EditUrl Logged by: smcculloch (Scott McCulloch) Area of Impact: Custom Modules Impacted DNN Versions: All currently released versions Who is Impacted: Third Party Module Developers Short Description: Added function overloads to EditUrl (formerly a property) Full Description: Most custom modules use the EditUrl property of the PortalModuleControl for linking off to other controls in the module. Properties with optional arguments are not very well supported by C#. So the property has now moved to a function with a number of overloads. Workaround or &lt;STRONG&gt;Recommended Course of Action: There should be no code changes required, just a recompile for binary compatibility&lt;/STRONG&gt; (change from a property to a method). "&lt;/P&gt;
&lt;P&gt;!!!NOTE REGARDING DNN 3 BREAKING NavigateURL() &lt;BR&gt;&lt;A href="http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=715567"&gt;http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&amp;amp;PostID=715567&lt;/A&gt;&lt;BR&gt;Change Name: NavigateUrl Logged by: smcculloch (Scott McCulloch) Area of Impact: Custom Modules Impacted DNN Versions: All currently released versions Who is Impacted: Third Party Module Developers Short Description: Full Description: Most custom modules use the NavigateUrl property of the PortalModuleControl for linking off to other controls in the module. Properties with optional arguments are not very well supported by C#. So the property has now moved to a function with a number of overloads. There should be &lt;STRONG&gt;no code changes required, just a recompile for binary compatibility&lt;/STRONG&gt; (change from a property to a method). The method has also been moved to the Globals class, so other items such as Skin Objects, and other sections of code in DotNetNuke have access to this functionality. Workaround or Recommended Course of Action: No workaround. It will be important to use NavigateUrl or EditUrl, as it will do the rewriting of the Friendly Url path (if enabled). There will also be a FriendlyUrl method to do a rewrite if you wish to create your own urls. NavigateUrl has a param array on one of the overloads, so you should be able to add any number of parameters as well. &lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/243.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2004/10/14/243.aspx</guid>
            <pubDate>Thu, 14 Oct 2004 20:52:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/243.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2004/10/14/243.aspx#feedback</comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/243.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/243.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN2: Create a custom DotNetNuke Module in 12 steps</title>
            <link>http://edsid.com/blog/archive/2004/10/12/239.aspx</link>
            <description>&lt;P&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;Looking for DNN4 stuff??? Check my more recent posts:&lt;BR&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1538.aspx"&gt;&lt;EM&gt;DNN4.02: Create Your DotNetNuke Development Environment&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="DNN4.02: Quick &amp;amp; Dirty C# and VB Custom Modules"&gt;&lt;EM&gt;DNN4.02: Quick &amp;amp; Dirty C# and VB Custom Modules&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; * &lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1539.aspx"&gt;&lt;EM&gt;DNN4.02: Starting New DotNetNuke Modules in C# or VB.Net&lt;/EM&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;
&lt;/P&gt;
&lt;P&gt;The practice of creating custom&amp;nbsp;DNN modules is documented in many places, but I have yet to see a small, concise list of items to just get the job done.&amp;nbsp; Here's my list, and it's concise because it assumes you have already &lt;A href="http://edsid.com/blog/archive/2004/10/11/237.aspx"&gt;set up your test environment&lt;/A&gt;, you are using and are familiar with VS 2003, and you are familiar with DotNetNuke's File Manager. &lt;/P&gt;
&lt;P class=sidenote&gt;1. Add new "Empty Web Project" to DotNetNuke solution under DotNetNuke\desktopmodules, name it appropriately&lt;BR&gt;2. Rename project to [company].DNN.Modules.[modulename]&lt;BR&gt;3. Under References, add "DotNetNuke" from the projects tab&lt;BR&gt;4. Add reference in DnnFramework project to your new module's project&lt;BR&gt;5. Add text file, name it [modulename].dnn, and fill in Private Assembly&amp;nbsp;info&amp;nbsp;(&lt;A href="http://edsid.com/blog/archive/2004/10/12/238.aspx"&gt;.dnn file information here&lt;/A&gt;)&lt;BR&gt;6. In project properties, rename assembly to [company].DNN.Modules.[modulename]&lt;BR&gt;7. Add main user control (be sure to include the ascx &amp;amp; assembly files in the DNN file!)&lt;BR&gt;8. Update control to inherit from DotNetNuke.PortalModuleControl, instead of&amp;nbsp;System.Web.UI.UserControl&lt;BR&gt;9. Add using statement for DotNetNuke namespace&lt;BR&gt;10. Set CSS for text controls to DNN styles:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Titles:&amp;nbsp;Head&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linkbuttons: CommandButton&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Validators: NormalRed&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form Prompts: SubHead&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Text: Normal&lt;BR&gt;11. In DotNetNuke web, add a Module definition to the ascx just created, add module to a test tab.&amp;nbsp; For the initial 'View'-type &amp;nbsp;control, leave 'Key' and 'Title' fields blank, and set type to 'View'.&amp;nbsp; Test that it displays properly.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Now, simply compiling the project will update the module!)&lt;BR&gt;12. To package module, zip the assembly(s), ascx controls, resource files, dnn file, style sheets, and a readme.txt file that documents the module&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Note: Be sure to compile your assembly in Release mode &amp;amp; not Debug!&lt;/P&gt;
&lt;P&gt;There you have it!&amp;nbsp; You can now set a breakpoint and step through&amp;nbsp;your module.&amp;nbsp; The assembly should be getting&amp;nbsp;placed into both the dotnetnuke\bin folder, and the module's \bin folder.&amp;nbsp; You know what it takes to create a single-page DNN Private Assembly without any data access.&lt;/P&gt;
&lt;P&gt;Next: Add Actions to your module's options menu!&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/239.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2004/10/12/239.aspx</guid>
            <pubDate>Tue, 12 Oct 2004 21:49:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/239.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2004/10/12/239.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/239.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/239.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN: Understanding the DotNetNuke .dnn File</title>
            <link>http://edsid.com/blog/archive/2004/10/12/238.aspx</link>
            <description>The .dnn file&amp;nbsp;defines the framework of&amp;nbsp;a DotNetNuke&amp;nbsp;module's Private Assembly.&amp;nbsp; I have yet to find a good source of concise documentation, so I wrote my own.&amp;nbsp; Here's a simple file layout (with comments).&amp;nbsp; I will discuss the various parts afterwards: 
&lt;P class=sidenote&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;BR&gt;&amp;lt;dotnetnuke version="2.0" type="Module"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;folders&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;folder&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;[modulename]&amp;lt;/name&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;01.00.01&amp;lt;/version&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;modules&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;module&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;friendlyname&amp;gt;&amp;lt;/friendlyname&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;controls&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;control&amp;gt; &amp;lt;!-- for each control, make keys unique, use types from Module Definitions dropdown: View, Edit, etc--&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;key&amp;gt;[controlname for controls hash]&amp;lt;/key&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;title&amp;gt;[title of view control]&amp;lt;/title&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;src&amp;gt;[view control's ascx filename]&amp;lt;/src&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;type&amp;gt;View&amp;lt;/type&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/control&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/module&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/modules&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;files&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;file&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;name&amp;gt;[all files for module, including graphics, ascx file, assembly(s), etc&amp;lt;/name&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/file&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/files&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/folder&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/folders&amp;gt;&lt;BR&gt;&amp;lt;/dotnetnuke&amp;gt;&lt;/P&gt;
&lt;P&gt;The fields are&amp;nbsp;straightforward until you get to the Control elements.&amp;nbsp;&amp;nbsp;Add a &amp;lt;control&amp;gt; element for each control in your module.&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;key&amp;gt; Uniquely identifies the control in the module.&amp;nbsp; You may refer to the control programatically by this key.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Actions are added to the&amp;nbsp;module's flyout menu in the page_init section of the view page, and&amp;nbsp;must refer to a control's key.&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt; The title of the action on the flyout is the same as the Title of the control.&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;src&amp;gt; name of .ascx file&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;lt;type&amp;gt; Item from the DotNetNuke.SecurityAccessLevel enum: {Admin, Anonymous, Edit, Host, SkinObject, View}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type is what allows DNN to handle security for your controls.&lt;/P&gt;
&lt;P&gt;All files that are part of the final module need to be included in the &amp;lt;file&amp;gt; elements.&lt;BR&gt;&amp;nbsp;&amp;nbsp; Images &amp;amp; Resources&lt;BR&gt;&amp;nbsp;&amp;nbsp; .ascx file(s)&lt;BR&gt;&amp;nbsp;&amp;nbsp; Assembly file(s) (don't forget to compile in release mode)&lt;BR&gt;&amp;nbsp;&amp;nbsp; .sql Scripts&lt;BR&gt;&amp;nbsp;&amp;nbsp; Stylesheets&lt;/P&gt;&lt;img src="http://edsid.com/blog/aggbug/238.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2004/10/12/238.aspx</guid>
            <pubDate>Tue, 12 Oct 2004 15:07:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/238.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2004/10/12/238.aspx#feedback</comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/238.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/238.aspx</trackback:ping>
        </item>
        <item>
            <title>DNN2: Set up a new DotNetNuke test environment in 12 steps</title>
            <link>http://edsid.com/blog/archive/2004/10/11/237.aspx</link>
            <description>&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Looking for DNN4 stuff??? Check my more recent posts:&lt;BR&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1538.aspx"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Create Your DotNetNuke Development Environment&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="dnn4.02:%20Quick%20&amp;amp;%20Dirty%20C# and VB Custom Modules"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Quick &amp;amp; Dirty C# and VB Custom Modules&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; * &lt;/STRONG&gt;&lt;/EM&gt;&lt;A href="http://edsid.com/blog/archive/2006/02/12/1539.aspx"&gt;&lt;EM&gt;&lt;STRONG&gt;DNN4.02: Starting New DotNetNuke Modules in C# or VB.Net&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;
&lt;HR id=null&gt;

&lt;P&gt;With a lot of experimentation, and a lot of help from DNN sites like &lt;A href="http://www.dotnetnuke.dk/"&gt;DotNetNuke.dk&lt;/A&gt;, I've finally got the DNN install down to a science... I wrote the following steps for DNN 2.12 in an environment with a SQL Backend, IIS with full privileges, and Visual Studio.&lt;/P&gt;
&lt;P&gt;The following method of installing DNN enables local debugging&amp;nbsp;for both DNN,&amp;nbsp;and any DNN Projects (custom modules).&amp;nbsp; &lt;/P&gt;
&lt;P class=sidenote&gt;1. Create the dotnetnuke database&lt;BR&gt;2. Create and unzip dotnetnuke (download from &lt;A href="http://www.dotnetnuke.com/"&gt;www.dotnetnuke.com&lt;/A&gt;)&lt;BR&gt;3. In dotnetnuke folder create 2 folders: dnnbin and dnnframework&lt;BR&gt;4. Create dnn virtual directory in iis, point to dotnetnuke folder with all access rights&lt;BR&gt;5. Update web.config to reflect database connection info&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Update web.config's compilation debug attribute from false to true&lt;BR&gt;6. Go to new dotnetnuke install via browser, database update will begin, portal should open&lt;BR&gt;7. Open dotnetnuke solution, set dotnetnuke project as default project, and it's default.aspx page as start page&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In DotNetNuke Properties, under Configuration Properties-Debugging, enable ASP.NET debugging (f5 to build &amp;amp; test)&lt;BR&gt;8. In dotnetnuke project properties, change to all configurations, update build folder to dnnbin (instead of just bin)&lt;BR&gt;9. Repeat for all projects but have them build to their own bin folder (instead of ..\..\bin)&lt;BR&gt;10. Add new class library project to the solution, called dnnframework, located in dotnetnuke folder&lt;BR&gt;11. Set dnnframework build location for all configurations to ..\bin (so it goes into dotnetnuke\bin)&lt;BR&gt;12. New modules should be added as a new project, and exist inside the DotNetNuke\DesktopModules\ModuleName folder. Add references to all other projects in dnnframework (rebuild and see that everything works fine)&amp;nbsp; &lt;/P&gt;Tomorrow, I'll cover creating a simple, single-page DNN Module (in C#)&lt;img src="http://edsid.com/blog/aggbug/237.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gerry Heidenreich</dc:creator>
            <guid>http://edsid.com/blog/archive/2004/10/11/237.aspx</guid>
            <pubDate>Mon, 11 Oct 2004 16:07:00 GMT</pubDate>
            <wfw:comment>http://edsid.com/blog/comments/237.aspx</wfw:comment>
            <comments>http://edsid.com/blog/archive/2004/10/11/237.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://edsid.com/blog/comments/commentRss/237.aspx</wfw:commentRss>
            <trackback:ping>http://edsid.com/blog/services/trackbacks/237.aspx</trackback:ping>
        </item>
    </channel>
</rss>