Building Websites with VB.NET and DotNetNuke 3.0
1/5
()
About this ebook
DotNetNuke DotNetNuke is a free, open source evolution of Microsoft's celebrated ASP.NET reference implementation, the IBuySpy Portal Solution Kit. DotNetNuke began life as a framework for constructing data-driven intranet and Internet portal applications. It has now developed into an advanced web content management system with tools to manage a dynamic and interactive data-driven website.
If you work with ASP.NET and VB.NET, and want an interactive website, with forums, news and image management, where visitors can register, participate and contribute to your site, then DotNetNuke is the ideal solution for you. This book is your indispensable guide to creating content-rich websites with DotNetNuke 3.0, as quickly as possible.
The first part of this book gives you a deep understanding of working with basic DotNetNuke sites, guiding you through the features and giving you the confidence to create and manage your own site. After that, you will journey to the heart of DotNetNuke, and learn about its core architecture. From there, you will learn how to customize DotNetNuke sites through skinning and creating custom modules.
Enhancing your site with forums and ecommerce functionality, creating multiple sites and deploying your site round off the book. You will master each of these topics as you leap into the development of a DotNetNuke 3.0 site.
DotNetNuke is the leading open source website system for .NET. This book shows you how to get a fully featured website right off the blocks, with forums, news and image management, visitor accounts and registration, and community contribution features. The book then takes VB.NET developers through extending and customizing this powerful application.
Visit the Free Online Edition for Building Websites with VB.NET & DotNetNuke 3.0 and learn more about the book, you can read through a full chapter, "Creating Custom Modules," and discover what each chapter from this best selling book has in store.
http://dotnetnukebook.packtpub.com
ApproachYou can use this book to help you set up and administer a DotNetNuke portal, even if you have a limited knowledge of ASP.NET. You will learn how to setup and administer an example site, stepping through all the tasks to ease your learning.
If you are a developer, this book will help you extend the DotNetNuke portal by first helping you understand how the core framework works and then show you how to create custom modules and skins. A rudimentary knowledge of VB.NET programming is assumed, but the emphasis is not on becoming a better VB.NET programmer but on taming DotNetNuke.
Who this book is forThis book has been written for both the beginner wanting to set up a website and also ASP.NET developers with a grasp of VB.NET and access to Visual Studio .NET. No prior knowledge of DotNetNuke is assumed.
The new features of DotNetNuke 3.0 are discussed extensively, so even if you have worked with previous versions of DotNetNuke, you will find something new.
Table of Contents
Daniel N. Egan
Over the past seven years, Daniel has held a variety of positions in the information technology and engineering fields. Currently, he is a System Development Specialist for Automated Data Processing's Southern California region working extensively in database applications and Web development. Daniel is an MCP and MCSD. In addition to his development work, he teaches a VB.NET Certification course at California State University Fullerton as well as serves on its .NET Advisory board. He is also the founder and chief author of Dot Net Doc (http://www.DotNetDoc.com), a .NET and DNN developer resource website built using the DotNetNuke framework. He has written numerous articles on DotNetNuke and the underlying DNN architecture. He is also the founder of the LA/Orange County DNN Usergroup and is currenly working on two DNN Related projects. DNNUsergroup Online (http://www.DNNUGOnline.com), a portal designed to allow usergroups to broadcast their meetings online. DotNetNuke Radio, a live internet radio show about DotNetNuke.
Related to Building Websites with VB.NET and DotNetNuke 3.0
Related ebooks
Practical XMPP Rating: 0 out of 5 stars0 ratingsJSTL: Practical Guide for JSP Programmers Rating: 3 out of 5 stars3/5Ivor Horton's Beginning Visual C++ 2013 Rating: 0 out of 5 stars0 ratingsXamarin Mobile Application Development for Android - Second Edition Rating: 0 out of 5 stars0 ratingsA Reunion Story Rating: 5 out of 5 stars5/5iOS and OS X Network Programming Cookbook Rating: 0 out of 5 stars0 ratingsJSF 1.2 Components Rating: 0 out of 5 stars0 ratingsBootstrap for Rails Rating: 0 out of 5 stars0 ratingsWhat's Inside My Computer? Rating: 0 out of 5 stars0 ratingsApache Karaf Cookbook Rating: 0 out of 5 stars0 ratingsThe Definitive Guide to Spring Batch: Modern Finite Batch Processing in the Cloud Rating: 0 out of 5 stars0 ratingsCrystal Clear Java: 1St Edition Rating: 0 out of 5 stars0 ratingsOSGi in Depth Rating: 0 out of 5 stars0 ratingsLearning Couchbase Rating: 0 out of 5 stars0 ratingsRuby on Rails: A Comprehensive Guide Rating: 0 out of 5 stars0 ratingsSpring MVC: Beginner's Guide - Second Edition Rating: 0 out of 5 stars0 ratingsHeroku Cloud Application Development Rating: 0 out of 5 stars0 ratingsNginx Troubleshooting Rating: 0 out of 5 stars0 ratingsMastering KnockoutJS Rating: 0 out of 5 stars0 ratingsBuilding Websites with VB.NET and DotNetNuke 4 Rating: 1 out of 5 stars1/5Getting Started with Oracle Data Integrator 11g: A Hands-On Tutorial Rating: 5 out of 5 stars5/5Mastering Yii Rating: 0 out of 5 stars0 ratingsMCTS: Microsoft Silverlight 4 Development (70-506) Certification Guide Rating: 0 out of 5 stars0 ratingsModX Web Development - Second Edition Rating: 0 out of 5 stars0 ratingsMicrosoft SharePoint 2010 Business Application Blueprints Rating: 0 out of 5 stars0 ratingsGetting Started with Knockout.js for .NET Developers Rating: 0 out of 5 stars0 ratingsiOS 6 Foundations Rating: 0 out of 5 stars0 ratingsAgile Web Application Development with Yii1.1 and PHP5 Rating: 4 out of 5 stars4/5Practical Plone 3: A Beginner's Guide to Building Powerful Websites Rating: 0 out of 5 stars0 ratings
Information Technology For You
Summary of Super-Intelligence From Nick Bostrom Rating: 5 out of 5 stars5/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5Data Governance For Dummies Rating: 0 out of 5 stars0 ratingsCompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsHow To Use Chatgpt: Using Chatgpt To Make Money Online Has Never Been This Simple Rating: 0 out of 5 stars0 ratingsHow to Write Effective Emails at Work Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratingsCISSP Study Guide Rating: 4 out of 5 stars4/5Computer Science: A Concise Introduction Rating: 4 out of 5 stars4/5Inkscape Beginner’s Guide Rating: 5 out of 5 stars5/5Cybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Linux Command Line and Shell Scripting Bible Rating: 3 out of 5 stars3/5Supercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsWindows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry Rating: 4 out of 5 stars4/5Data Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5The iPadOS 17: The Complete User Manual to Quick Set Up and Mastering the iPadOS 17 with New Features, Pictures, Tips, and Tricks Rating: 0 out of 5 stars0 ratingsPanda3d 1.7 Game Developer's Cookbook Rating: 0 out of 5 stars0 ratingsCyber Security Consultants Playbook Rating: 0 out of 5 stars0 ratingsComputer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5Hacking Essentials - The Beginner's Guide To Ethical Hacking And Penetration Testing Rating: 3 out of 5 stars3/5The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy Rating: 4 out of 5 stars4/5Handbook of Digital Forensics and Investigation Rating: 4 out of 5 stars4/5Practical Ethical Hacking from Scratch Rating: 5 out of 5 stars5/5Investigating Child Exploitation and Pornography: The Internet, Law and Forensic Science Rating: 5 out of 5 stars5/5A Mind at Play: How Claude Shannon Invented the Information Age Rating: 4 out of 5 stars4/5
Reviews for Building Websites with VB.NET and DotNetNuke 3.0
1 rating0 reviews
Book preview
Building Websites with VB.NET and DotNetNuke 3.0 - Daniel N. Egan
Table of Contents
Building Websites with VB.NET and DotNetNuke 3.0
Credits
About the Author
Introduction
What This Book Covers
What You Need for Using This Book
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
1. What Is DotNetNuke?
Open-Source Web Portals
What Is a Web Portal?
Common Portal Features
Why DotNetNuke?
PHP-Nuke
Metadot
Rainbow
DotNetNuke
Benefits of Using an Established Program
The DotNetNuke Community
Core Team
The DotNetNuke Discussion Forum
The Bug Tracker
DotNetNuke Project Roadmap Team
The License Agreement
Coffee Connections
Determining Client Needs
What Is a User Story?
Advantages of Using User Stories
Coffee Connections User Stories
Summary
2. Installing DotNetNuke
Installing DotNetNuke (Local Version)
Clean Installation
Downloading the Code
Setting Up a Virtual Directory
Using Windows Explorer (the Easy Way)
Using the Virtual Directory Creation Wizard
Verifying Default Documents
Setting up the Database
Upgrading
Upgrade Checklist
Back Up Your Database
Back up Your DotNetNuke files
Setting Security Permissions
Logging In as Admin and Changing Passwords
Summary
3. Users, Roles, and Pages
User Accounts
What Is a User?
Creating User Accounts
Setting Required Registration Fields
Registering a User Manually
Understanding DotNetNuke Roles
Assigning Security Roles to Users
Understanding DotNetNuke Pages and tabIDs
Administering Pages
Membership Provider Model
Summary
4. Standard DotNetNuke Modules
DotNetNuke Modules
Adding a Module
Module Settings
Editing a Module
Importing and Exporting Content
Syndicate Information
Online Help and Documentation
Editing Module Functionality
Basic Settings
Advanced Settings
Page Settings
Standard Modules
Account Login Module
Practical Purposes
Administration and Modification
Special Features
Announcements Module
Practical Purposes
Administration and Modification
Special Features
Banner Module
Contacts Module
Practical Purposes
Administration and Modification
Special Features
Discussions Module
Practical Purposes
Administration and Modification
Special Features
Documents Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
Events Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
FAQs Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
Feedback Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
IFrame Module
Practical Purposes
Administration and Modification
Special Features/Additional Information
Image Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
Links Module
Practical Purposes
Administration and Modification
Special Features and Additional Features
News Feed (RSS) Module
Practical Purposes
Administration and Modification
Special Features
Text/HTML Module
Practical Purposes
Administration and Modification
Special Features and Additional Information
User Accounts Module
Practical Purpose
Administration and Modification
Special Features and Additional Information
User Defined Table Module
Practical Purpose
Administration and Modification
Special Features and Additional Information
XML/XSL Module
Practical Purpose
Administration and Modification
Special Features and Additional Information
Summary
5. Host and Admin Tools
The Difference Between Host and Admin
Admin Tools
Site Settings
Basic Settings
Advanced Settings
Stylesheet Editor
Pages Menu
Security Roles
User Accounts
Vendors
Site Log
Newsletter
File Manager
Recycle Bin
Log Viewer
Skins
Languages
Host Tools
Host Settings
Basic Settings
Advanced Settings
Portals
Module Definitions
File Manager
Vendors
SQL
Schedule
Languages
Search Admin
Lists
Superuser Accounts
Extra Options on the Admin Menu
Common Tasks
Summary
6. Understanding the DotNetNuke Core Architecture
Architecture Overview
Diving into the Core
Using the Context Object in Your Application
The PortalSettings Class
Working with the Configuration Files
The web.config File
Configuring the Providers Used in DotNetNuke
Handling the Providers
The
The
HTTP Modules
Application Settings
The Global Files
Global.aspx.vb
Application Start
Examining Application_BeginRequest
Application Authenticate Request
The Globals.vb File
Putting It All Together
Summary
7. Creating Custom Modules
Coffee Shop Listing Module Overview
Setting Up Your Project (Private Assembly)
Creating Controls Manually in Visual Studio
Creating the View Control
Module Edit Control
Module Settings Control
Adding Module Definitions
Adding Your Module to a Page
The Datastore Layer
SQL Server
The Data Access Layer (DAL)
The SQLDataProvider Project
The Provider File
The Business Logic Layer (BLL)
CoffeeShopListingInfo and CoffeeShopListingOptionsInfo
CoffeeShopListingController and CoffeeShopListingOptionsController
Implementing IPortable
Implementing ISearchable
The Presentation Layer
ShopList.aspx
EditShopList.ascx
Settings.ascx
Testing Your Module
Creating Your Installation Scripts
Packaging Your Module for Distribution
The Install ZIP file
Testing Your Installation
Summary
8. Creating DotNetNuke Skins
What Are Skins?
What Are Containers?
Uploading Skins and Containers
Uploading as a Host
Uploading as Admin
Applying Skins
Applying a Skin at Host and Portal Levels
Using the Skins Manager
Using Host and Site Settings
Applying a Skin at Page Level
Applying a Skin at Module Level
Creating Custom Skins
File Structure and Setup
Skin Images
Creating a Skin Using Visual Studio
Creating the Skin Web User Control
Creating Your Skin Table
Setting Up Your Module Panes
Adding Skin Objects
Adding Images to the Skin
Creating Your CSS File
Modifying the HTML Code
Creating a Skin Using HTML
Adding Panes to the Skin
Creating Custom Containers
Adding Thumbnail Images
Packaging Your Custom Skins and Containers
Summary
9. Enhancing Your Portal
Must-Have Modules to Enhance Your Portal
Adding a Forum to Your Portal
YetAnotherForum
ActiveForums
Adding e-Commerce to Your DotNetNuke Portal
Adding Classroom Management to Your Portal
Adding Security to Your DotNetNuke Portal
Adding a Blog to Your Site
Finding Custom Modules
Summary
10. Deploying Your DNN Portal
Acquiring a Domain Name
Finding a Hosting Provider
Preparing Your Local Site
Setting Up the Database
Backup and Restore Database
Build New Database
FTP Your Files
Summary
11. Creating Multiple Portals
Multiple Portals
Parent Portals Versus Child Portals
Setting Up a Parent Portal
Registering Your Domain and Setting the DNS
Creating a Parent Portal
Setting Up a Child Portal
Creating Portal Templates
Using the Site Wizard
Managing Multiple Portals
Summary
12. Implementing the Provider Model in DotNetNuke
What Is an HTML Editor?
What Is an HTML Editor Provider?
HTML Editor Provider
Setting Up the Providers Folder
Setting Up the Provider Project
Creating the Provider
Adding Your Provider to the web.config File
Other HTML Editor Providers for DotNetNuke
Summary
Index
Building Websites with VB.NET and DotNetNuke 3.0
Daniel N. Egan
Building Websites with VB.NET and DotNetNuke 3.0
Copyright © 2005 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: February 2005.
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 10: 1-904811-27-2
ISBN 13: 978-1-904811-27-5
www.packtpub.com
Cover Design by www.visionwt.com
Credits
Author
Daniel N. Egan
Technical Reviewers
Dennis J Bottjer
K. Scott Allen
Colin Munford
Layout*
Niranjan Jahagirdar
Indexer*
Niranjan Jahagirdar
Commissioning Editor
Douglas Paterson
Technical Editors*
Nanda Padmanabhan
Niranjan Jahagirdar
Proofreader
Chris Smith
Cover Designer
Helen Wood
*Services provided by www.editorialindia.com
About the Author
Daniel N. Egan has, over the past seven years, held a variety of positions in the information technology and engineering fields. Currently, he is a System Development Specialist for Automated Data Processing’s Southern California region working extensively in database applications and web development. Daniel is an MCP and MCSD. In addition to his development work, he teaches a VB.NET Certification course at California State University Fullerton and also serves on its .NET Advisory board. He is also the founder and chief author of Dot Net Doc (www.DotNetDoc.com), a .NET and DotNetNuke developer resource website built using the DotNetNuke framework. He has written numerous articles on DotNetNuke and the underlying architecture. He is the cofounder of the LA/Orange County DotNetNuke User Group.
I would like to thank Kirsten, my true love and best friend, for putting up with the many hours spent at the computer during this process. I love you with all my heart. I would also like to thank Douglas Paterson for all his generous help answering my never ending flood of questions, and keeping me on track to finish this book. Finally I would like to thank the technical reviewers, among others, for all of the time they spent helping me find the right things to say and exactly how to say them.
Introduction
DotNetNuke is a free, open-source evolution of Microsoft’s celebrated ASP.NET reference implementation, the IBuySpy portal solution kit. DotNetNuke began life as a framework for constructing data-driven intranet and Internet portal applications, and has now developed into an advanced web content management system with tools to manage a dynamic and interactive data-driven website. The DotNetNuke portal framework allows you to quickly create a fully featured community-driven website, complete with standard modules, user registration, and integrated security. This free open-source application puts a staggering range of functionality into your hands, and, either by using it as is or by customizing it to your requirements, you are giving your projects a great head start.
Supported and tested by thousands of developers in the DotNetNuke community across the world, the DotNetNuke framework, on one hand, offers you the luxury of a well-tested and proven architecture, and on the other, the ability to manage your site through an easy web-based administration system.
The book is structured to help you understand, implement, and extend the DotNetNuke framework; it will take you inside DotNetNuke, allowing you to harness its power for easily creating your own websites.
What This Book Covers
Chapter 1 introduces DotNetNuke (DNN) and discusses the meaning and purpose of web portals, and the common aspects of successful web portals. It looks at different types of open-source web portals, and discusses why we selected DotNetNuke for this book. We then meet our fictional client Coffee Connections and, using user stories, gather the requirements needed to build this client’s site.
In Chapter 2 we see how to install a local version of DotNetNuke with Microsoft SQL Server, and cover setting the required permissions on your machine to run DNN properly. The chapter also covers the process of upgrading from previous versions of DotNetNuke.
In Chapter 3 we cover users, roles, and pages. Users are the individuals who visit or administer your portal, and their power depends on the roles that they have been assigned. We discuss how each page of your portal can be administered differently, laying the foundation for the rest of the book. From defining users, to registration, to security roles, this chapter will help you to begin administering a DNN portal.
In Chapter 4 we cover the standard modules that come pre-packaged with DotNetNuke. We cover their basic uses as well as situations they may be used in. You will use these modules to build your portal’s content.
Chapter 5 introduces the administrative functions available to the host and admin logins. These are special logins that have access to all areas of your portal, and are used to secure your site and make changes to its content. This chapter takes you through the tools to make sure you are comfortable with all that is available to you.
Understanding the core architecture of DNN is essential if you want to extend the system or even modify the existing code. In Chapter 6 we learn how the DotNetNuke framework builds the pages, and what are the major classes that drive it.
In Chapter 7 we take the knowledge we learned in the last chapter and use it to build a custom module. You will learn everything you need to know to start building your own modules so you can extend the capabilities of your portal. We begin by setting up a private assembly project, which allows you to create your custom module outside the core project code while still giving you the ability to debug within the DotNetNuke project. After creating your user controls, you will create your data access and business logic layers, and finish by learning how to package your module for distribution.
Chapter 8 talks about skins. A skin is the outer layer of your site, and defines the look and feel of the portal. In this chapter we design a custom skin for the Coffee Connections site. You will learn the skills needed to skin both your portal and your module containers.
Chapter 9 shows you how to enhance your module with some of the modules that are available to you from the DotNetNuke community. From user forums, to e-Commerce, to security modules, this chapter will help you get the most out of your portal without having to create everything yourself.
When you finally have your portal the way you want it to look and function, you are ready to deploy it, and that is what Chapter 10 shows you how to do. The chapter advises on what you should look for in a web host and helps to steer you clear of common deployment mistakes.
In Chapter11 we show you how to take advantage of one of the most exciting features of DotNetNuke: multiple portals. These are additional portals that use the same underlying database, but can contain different content. So instead of just having one website, you can create as many as you need using just one DotNetNuke installation. From parent portals to child portals, this chapter gives you the information necessary to create new portals from scratch or to use the new template structure built into the framework.
Chapter 12, the final chapter of the book, focuses back on the DotNetNuke developer. In this chapter we walk through the steps necessary to create a new provider for a RichTextBox control, improving on the FreeTextBox. The provider model is used extensively throughout DotNetNuke and allows you to have a pluggable
architecture, giving you the freedom to add different tools while keeping the core code unchanged.
What You Need for Using This Book
This book has been written both for the beginner wanting to set up a website and also for ASP.NET developers with a grasp of VB.NET and access to Visual Studio .NET. No prior knowledge of DotNetNuke is assumed. To use this book, you need to have access to Visual Studio .NET Professional or higher.
This book uses the DotNetNuke open-source project available from http://www.DotNetNuke.com. To install and run DotNetNuke, you will need:
The .NET framework
One of Windows Server 2003, Windows 2000, or Windows XP operating systems
An installation of SQL Server 2000
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
There are three styles for code. Code words in text are shown as follows: The GetPortalSettings method call will retrieve enough information to populate the PortalSettings object
.
A block of code will be set as follows:
Public Shared Function GetCurrentPortalSettings() As PortalSettings
Return CType(
HttpContext.Current.Items
(PortalSettings
), _
PortalSettings)
End Function
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:
Public Shared Function GetCurrentPortalSettings() As PortalSettings
Return CType(HttpContext.Current.Items(PortalSettings
), _
PortalSettings)
End Function
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: clicking the Next button moves you to the next screen
.
Note
Tips, suggestions, or important notes appear in a box like this.
Any command-line input and output is written as follows:
>xcopy /s *.* ..\stage
cd ..\stage
Reader Feedback
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an e-mail to <feedback@packtpub.com>, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or e-mail
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer Support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the Example Code for the Book
Visit http://www.packtpub.com/support, and select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.
Note
The downloadable files contain instructions on how to use them.
Errata
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in text or code — we would be grateful if you could report this to us. By doing this you can save other readers from frustration, and also help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata have been verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Questions
You can contact us at <questions@packtpub.com> if you are having a problem with some aspect of the book, and we will do our best to address it.
Chapter 1. What Is DotNetNuke?
From company intranets to mom and pop shops to local chapters of the 4H club, most organizations are looking to have a presence on the World Wide Web. Open-source web portals answer this demand by providing easy to install and use websites that are not only extremely functional but also free. Whether it is to sell services or to have a place to meet, web portals play an important part of communications on the Web.
In this chapter, we will first discuss what web portals are and what successful web portals have in common. We will explore different types of open-source web portals and discuss why we selected DotNetNuke for our project over other available portals. In addition, we will cover the benefits gained by using an established program as a framework and the benefits of DotNetNuke specifically. We will then introduce Coffee Connections, our fictional client. We will get a brief overview of Coffee Connections, determine the specific requirements for its website and gather the requirements using user stories. This will give you a general overview of what to expect from this book and how to best use it depending on your role and experience with web portals and Visual Basic .NET.
Open-Source Web Portals
So what does it actually mean to have a web portal? We begin the chapter with an explanation of what a portal is, and then go on to the features of a web portal and reasons for selecting open-source web portals.
What Is a Web Portal?
You have decided to start a portal and first need to find out what makes a web portal. Does throwing up a few web pages with links to different topics make it a web portal? A portal, in its most basic sense, aims to be an entry point to the World Wide Web. Portals will typically offer services such as search engines, links to useful pages, news, forums, and e-mail, all in an effort to draw users to their site. In most cases, portals provide these services free in the hope that users will make the site their home page or at least come back often. Successful examples include Yahoo! and MSN. These sites are horizontal portals because they typically attract a wide audience and primarily exist to produce advertising income for their owners. Other web portals may focus on a specific group of users or be part of a corporate intranet.They will most often concentrate on one particular subject, like gardening or sports. This type of portal is a vertical portal because they focus inward and cater to a more select group of people.
The type of portal you create depends on the target audience you are trying to attract. You may discover that the portal you create is a combination of both horizontal and vertical portals in order to address specific needs, while simultaneously giving a broader range of services to your visitors. Whatever type of portal you decide on, horizontal or vertical, they both will share certain key characteristics and functionality that guarantee users will return to your site.