You will have to make many decisions: Do I create my portal from scratch? If not, which web portal framework should I use? What type of hardware and software do I have available to me? Moreover, what is my skill level on any particular platform? In this section, we will discuss some of the better-known portals that are available.
For our portal, we have decided that it would be counterproductive to start from scratch. So, we will be using an already-developed framework for designing our portal. We will have many options to select from. We will discuss a few of our options and determine why we believe DotNetNuke fits us best.
The grandfather of DotNetNuke (in name at least) is most likely PHP-Nuke (http://www.phpnuke.org). PHP-Nuke is a web portal that uses PHP (a recursive acronym for Hypertext Preprocessor) pages to create dynamic web pages. You can use it in a Windows environment, but it is most flexible in a Linux/Unix environment. PHP is an open-source HTML-embedded scripting language, which is an alternative to Microsoft's Active Server Pages (ASP)—the precursor to ASP.NET, which is the programming language used in DotNetNuke. PHP-Nuke, like DotNetNuke, is a modular system that comes with prebuilt standard modules and allows you to enhance the portal by creating custom modules. As we will be using a Windows platform and are more comfortable using ASP.NET, this choice would not fit our needs.
Joomla! is another open-source content management system available to those looking to create a website. Joomla! also claims to be easy to use to create a website. However, like PHP-Nuke, Metadot runs primarily on the Linux operating system (although it supports Windows as well), Apache web server, and a MySQL database. For the same reasons as PHP-Nuke, this framework will not fit our needs.
Why did we select DotNetNuke as the web portal for this book? Well, here are a few reasons for selecting DotNetNuke:
Open source web portal written in VB.NET : As we wanted to focus on building our web portal using the new VB.NET language, this was an obvious choice. DotNetNuke was born out of a "best-practice" application called IBuySpy. This application, developed for Microsoft by Scott Stanfield and his associates at Vertigo Software, was created to highlight the many things that .NET was able to accomplish. It was supposed to be an application for developers to use and learn the world of .NET. IBuySpy was an application by the original author of DotNetNuke (formerly IBuySpy Workshop), Shaun Walker of Perpetual Motion Interactive Systems Inc. He originally released DotNetNuke 1.0 as an open-source project in December 2002. Since then, DotNetNuke has evolved to version 5.x and the code base has grown from 10,000 to over 120,000 lines of managed code and contains many feature enhancements over the original IBuySpy Starter Kit.
Utilizes the new ASP.NET 2.0 Provider Model : With the release of ASP.NET version 2.0, Microsoft debuted a new provider pattern model. This pattern gives the developer the ability to separate the data tier from the presentation tier and provides the ability to specify your choice of databases. The DotNetNuke framework comes prepackaged with an SQL Data Provider (Microsoft's SQL Server, MSDE, or SQL Express). DotNetNuke introduces several of its providers for tasks such as caching, authentication, and so on. For you to be able to easily switch between the choices in a plug-and-play fashion, you can also follow this model to create your data provider or obtain one from a third-party vendor. Also, the DotNetNuke framework uses many of Microsoft's building block services like the Data Access Application Block for .NET (http://failblog.org/), introduced by Microsoft in its Patterns and Practices articles.
Contains key portal features expected from a web portal : DotNetNuke comes prepackaged with modules that cover discussions, events, links, news feeds, contacts, FAQs, announcements, and more. This gives you the ability to spend your time working on specialized adaptations to your site. In addition to this, the DotNetNuke core team has created subteams to maintain and enhance these modules.
Dot net online training
Separates page layout, page content, and the application logic: It allows you to have a designer who can manage the look and feel of the site, an administrator with no programming experience who can manage and change the content of the site, and a developer who can create custom functionality for the site.
Ability to skin your site: Separating the data tier from the presentation tier brings us to one of the most exciting advancements in recent versions of DotNetNuke, skinning. DotNetNuke employs an advanced skinning solution that allows you to change the look and feel of your site. The skinning framework allows you to build your design for your site, but you will also find many custom skins for free on websites like core team member Nina Meiers' eXtra Dimensions Design Group (http://www.xd.com.au), and Snowcovered (http://www.snowcovered.com). These give you the ability to change the look and feel of your site without having to know anything about the design, HTML, or programming.
Supports multiple portals: Another advantage of using DotNetNuke as your web portal is the fact that you can run multiple portals using one code base and one database. This means that you can have different portals for different groups on the same site, but can still have all of the information reside in one database. This gives you an advantage in the form of easy access to all portal information and a central place to manage your hosting environment. The framework comes with numerous tools for banner advertising, site promotion, hosting, and affiliate management. If you are still unclear about the portal functionality, then you can think of a DotNetNuke (DNN) portal as being a subside for different departments of your organization, where each department can manage its site independently, but you, the organization lead, can centrally manage all sub-sites through what are called host accounts.
Designed with an extensible framework: You can extend the framework in several ways. You can modify the core architecture of the framework to achieve your desired results (we will discuss the pitfalls of doing this in later chapters) and design custom modules that plug into the existing framework. This would be in addition to the prebuilt modules that come with DotNetNuke. These basic modules give you a great starting point and allow you to get your site up and running quickly.
Mature portal framework: At the time of writing this book, DotNetNuke is on version 5.2.x. It means that you will be using an application that has gone through its paces. It has been extensively tested and is widely used as a web portal application by thousands of existing users. What this offers you is stability. You can feel comfortable knowing that thousands of websites already use the DotNetNuke framework for their web portal needs.
Active and robust community: Community involvement and continuing product evolution are very important parts of any open source project, and DotNetNuke has both of these. The DotNetNuke support forum is one of the most active and dynamic community forums on the ASP.NET website. There are currently over 740,000 users registered on the DotNetNuke website. At the time of writing, the much-anticipated DotNetNuke version 5.1 had just been released and brought about a significant improvement over its previous releases. The core team continues to move forward, always striving towards a better product for the community.
Visual studio training
Recognized by the Microsoft team as a best-practice application: In March 2004, at the VSLive! conference in San Francisco, the premier conference for Visual Studio.NET Developers, DotNetNuke 2.0 was officially released and showcased to the public. This gave DotNetNuke a great leg up in the open-source portal market and solidified its position as a leader in the field.