devxlogo

Building an Internet Portal (for Free!) with DotNetNuke

Building an Internet Portal (for Free!) with DotNetNuke

lose your eyes and imagine a utopian world where client and/or department Web sites are easily deployed and the responsibility for content creation and modification is turned over to the administrators of the site.

Imagine site administrators creating new content pages consisting of pre-built content types like announcements, contacts, discussions, events, FAQs, news feeds, feedback forms, and even custom-developed content types. Continue imagining them creating new menu options and even adding new users and administering the security rights of users. Sound good? Now imagine all this available for free as an open-source Visual Studio .NET project. Sounding even better? Welcome to the DotNetNuke content management portal!

Overview
DotNetNuke, affectionately known as DNN, is an open source (VB.NET), ASP.NET-based, content management system used to create easy-to-use, updatable, customizable, and secure content management portals for Internet and intranet use. Each site can support multiple portals so there are host-level options and portal-level options. A DNN Administrator user has total control of the portal-level options including membership, security, and content.

Make sure you change the password for the admin and host accounts before you take your site to the Internet unless you want strangers to have the ability to administer your portal!

DNN is an extension of the IBuySpy Portal Solution Kit (IBS) that Microsoft released in January 2002. The development community adopted IBS as an essential reference for creating ASP.NET applications. IBS included ten basic user modules and four administration modules for building data-driven intranet and Internet portal applications. DNN (formerly known as the IBuySpy Workshop) is the result of many hours of work by Shaun Walker of Perpetual Motion Interactive Systems, Inc. (www.perpetualmotion.ca).

This article will focus on DNN v1.0.10d, which is the version available as I’m writing this article. Shaun and the DNN Core Team plan to release the much-anticipated DNN v2.0 in early 2004. Does that mean that this article contains outdated content? No. I have begun working with v2.0 and the major changes lie in DNN 2.0’s ability to apply skins to the user interface and the way DNN 2.0 handles data in custom modules, both of which are topics for a future article. That still leaves plenty of material to cover that will apply to DNN 1.x and DNN 2.0.

Before you continue reading, take a minute or two to visit a couple of sites created with DNN to give you and idea of the type of application / portals you can create with DNN (see Table 1).

A few of the benefits to building your next site with DNN include the ability to specify content that expires on a chosen date, multi-browser support, role-based security to control user access to Web site content, the ability to develop custom modules, and oh yeah, it’s FREE!!

Table 1: DotNetNuke example sites.

URL

Description

Description

Creating DotNetNuke MultiPage Modules

www.wwwcoder.com/main/parentid/224/site/2050/68/default.aspx

Private Assembly Tutorial

www.niquest.com

Creating DNN Modules in C#

www.dotnetnuke.dk

One of the best resources to help you understand how to build your own custom modules is to check out how the pre-built modules work. You will find them in the DesktopModules folder when you load the DotNetNuke project in VS.NET.

Big Changes Coming in V2.0
As I mentioned at the beginning of this article, Shaun Walker and the DNN Core Team are currently hard at work on DNN 2.0. If all goes according to plan, you should be able to download DNN 2.0 (www.dotnetnuke.com) by the time you read this article. Look for a follow-up article from me very soon exploring all the new features of DNN 2.0.

You’re probably wondering what’s new in DNN 2.0. While the list below only represents a subset of the new features, it will touch on the highlights.

Skins. Depending on who you’re talking to, skinning tends to mean different things to different people. At one end, skinning provides a static layout but allows you to change the colors and styles with the ability to override images as well. At the more extreme end, skinning allows you to customize every aspect of the user interface without changing the actual content.

DNN 2.0 will provide a free-form skinning solution that will provide full control over the user interface. Additionally, DNN 2.0 will support skinning at the host, portal, and tab levels. You will also be able to skin your module containers. You can read more about skinning in a 40-page whitepaper on the DotNetNuke site.

Data Access Layer. DNN 2.0 will introduce a new database access layer that will allow DNN to run with any data store; currently DNN supports only SQL Server. Microsoft Access and SQL Server data providers will ship with DNN 2.0, and a third party will provide a MySQL data provider.

Business Logic Layer. DNN 2.0 will introduce a new business logic layer that uses custom business objects. You can read more about the new Data Access Layer and Business Logic Layer in a 50-page whitepaper on the DotNetNuke site.

Modules. DNN 2.0 will let you use an unlimited number of user controls per module. Conversely, DNN 1.x only supports the DesktopSrc and EditSrc controls in each module. Module security has also been improved, providing each user control with its own security access specification.

DNN 2.0 will implement a cleaner, clutter-free, module title user interface. It reduces the number of icons by providing a single link that displays a popup menu containing all of the actions for the module.

Style Sheets. DNN 2.0 will add support for multiple external style sheet specifications.

That should give you plenty to get started with for now. Obviously I couldn’t cover every feature of the portal, but I hope I covered enough to make you feel comfortable enough to jump in and start creating DNN portals of your own. Keep reading CoDe Magazine because I plan to offer a future article that will revolve around DNN.

I also want to take this opportunity to thank Shaun Walker and the DNN Core Team for their hard work and dedication to delivering a fine piece of software. I’m excited about the upcoming release of DNN 2.0!

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist