Products

Solutions

Resources

Partners

Community

About

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!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


Software & Resources Utilized in Module Development

In the previous blog entry we conceptually reviewed what a DNN module is. The purpose of the blog was to help us understand what a module is, how we can add modules to pages, and where we can find modules. We also looked at the Host > Extensions page so that we can see a list of all the modules in our site, know where modules are installed, as well as be able to see the components (at a high level) of a module.

Now we’re ready to take the next step toward developing out first module. Though, in order to develop a module we’ll need to have a few software installed on our machine. These software are commonly used among developers and if you’ve never heard of or used some of them that’s fine too! I’m also going to discuss and list out some helpful resources that can assist you along the way of developing modules at the bottom of this entry.

Visual Studio
Visual Studio is Microsoft’s application development software and it is the software we’ll probably be spending the most time in as we develop modules. Visual Studio is an IDE (Integrated Development Environment) that most .NET developers commonly use to create all types of applications. We will use it to manage our module’s code base and to help us create, compile, & debug the code of our module.

There are different versions of Visual Studio available and I will be using a full version, but you can easily develop modules on the free version of Visual Studio as well. If you don’t have Visual Studio and want to download the free version just go here: Download Visual Studio Express and install Visual Studio Express and install Visual Studio Express on your machine.

SQL Server
SQL Server is Microsoft’s database software and it is another software that is frequently used when developing modules that store data. It is true that you can create a module that doesn’t interact directly with SQL. Some modules don’t need custom SQL tables or stored procedures at all because DNN has a built in DAL (data access layer) called “Content Items” that can be used to store data as well. Though, if your module is going to store data in custom tables and with custom stored procedures then you will not only need to have SQL Server on your computer, but you’ll also need to know how to write some SQL. And if you don’t know SQL or haven’t ever used it before, no worries… we’ll go through that section slowly and thoroughly as well.

SQL Server is similar to Visual Studio in that there is also a free version available for download. So if you don’t have SQL Server and want to get started with the free version of SQL Express just go here: Download SQL Server Express

IIS
IIS stands for Microsoft’s Internet Information Services and is a set of internet based services for servers using Microsoft Windows. If that sentence just sounded like Spanish to you, no worries we will show you exactly what to click inside of IIS in the next blog entry. The upside is that we won’t be spending too much time at all in IIS. Once we’ve got it configured we’ll be good to go and won’t have to mess with it much more.

If you’re running a Windows machine then IIS is most likely already installed on your computer. Though, in order to run DNN on our local machine we will need to ensure that IIS is fully installed… and you bet that we’ll look at that process shortly too. I can’t tell you how many times I’ve tried to install DNN only to get some IIS error and it was all because I didn’t have IIS installed completely.

You can access IIS by going to Control Panel > Administrative Tools > IIS Services Manager… but more on that later.

ReSharper
ReSharper is a software that enhances Visual Studio. You do not have to have ReSharper installed in order to develop a module. You will see in the videos of this blog series sometimes where I will get certain hints, squiggly lines, and/or certain color codes inside of Visual Studio and these are all coming from ReSharper. For example, let’s say that you create a variable and then never use that variable. Well, ReSharper will change the color of that variable and start signaling to you that the variable is not being used. ReSharper does that and a whole more and I’ve found it to be helpful for making me more efficient. If you are able to get and use ReSharper then I think you’ll like it, but having ReSharper installed is definitely not a requirement in order to develop a module.

* Note: ReSharper can be acquired for free by releasing an open source project… no need to pay for it and they even have a form on their site for this. Check it out here: ReSharper and Open Source Licensing

Core API Help File
The Core API (Application Programming Interface) Help File is a file that shows all the classes that exist in DNN. This is helpful when we’re trying to learn what properties, methods, and members a class has. If you’ve never heard of a class before its ok, we’re going to go over that too. Every time a new version of DNN comes out a new Core API Help File is published on CodePlex. Lately I’ve found myself looking into this Core API Help file more and more to try to get a better understanding of how things are organized and figuring out what lives where in the DNN API. The best part for me is that the Core API Help File has a search feature which helps to quickly find any specific items of interest.

You can find the Core API Help File at http://dotnetnuke.codeplex.com and then click the “Downloads” link and usually the last file listed is the Core API Help File.

* Note: after downloading this file, please right click if and click the "unblock" button to ensure that the zone file information is stripped (otherwise windows will assume it is unsafe and block active content)

I should also mention that one alternative to the Core API Help File is the Object Browser in Visual Studio. It has very similar benefits to the Core API Help File, but you don’t have to leave the Visual Studio IDE to access it.

Environmental Requirements
You may also wonder how one knows about the environmental requirements of DNN. To see the requirements just go to the “Install” page on DNNSoftware.com at https://www.dnnsoftware.com/platform/start/install and scroll down to the bottom. This page lists the recommended environment for DNN and it gets updated whenever there is a change in the requirements. At the time of this writing DNN is in version 7.3 and the below image reflects the currently recommended environment.

* Note: As technology and DNN both continue to evolve these requirements will change in the future.

More Helpful Resources
There are several more areas/links I want to provide as they may be helpful to anyone trying to learn more about module development. These links are to locations online where you can get quick assistance and information nearly any time of the day from DNN developers, integrators, hosts, and evangelists.

Now with knowledge of the software & environment we need to host DNN and develop a module along with some helpful resources at our disposal we are ready to take the next step and install DNN.

Go to the Next Blog Entry: Installing DNN

Comments

Mark Buelsing
All set!
Mark Buelsing Thursday, October 2, 2014 10:03 AM (link)
DnnModule.com
Good articles that will be very helpful to new beginners. Thanks.
DnnModule.com Friday, December 12, 2014 11:17 PM (link)
James Brown
Link to the series introducton:

http://www.dnnsoftware.com/community-blog/cid/155064/module-development-for-non-developers-skinners-dnn-beginners--blog-series-intro

Link to the previous Blog Entry:
http://www.dnnsoftware.com/community-blog/cid/155065/what-is-a-module
James Brown Monday, June 15, 2015 11:30 AM (link)

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out