Professional DotNetNuke 4: Open Source Web Application Framework for ASP.NET 2.0 (Programmer to Programmer)

Chapter 2: Installing DotNetNuke

Listing 2-1: The <appSettings> Section
Listing 2-2: The Data Provider Section
Listing 2-3: Password Hash Keys
Listing 2-4: <connectionStrings> Section
Listing 2-5: <machineKey> Section
Listing 2-6: <connectionStrings> Section
Listing 2-7: Password Hash Keys

Chapter 5: Host Administration

Listing 5-1: Portal Template (Settings Node)
Listing 5-2: Schedule Provider Section of web.config

Chapter 7: DotNetNuke Architecture

Listing 7-1: Data Provider Configuration Settings
Listing 7-2: The FileInfo CBO Class
Listing 7-3: The FileController CBO Controller Class
Listing 7-4: Traditional Method of Filling an Object
Listing 7-5: Filling an Object Using the CBO Hydrator
Listing 7-6: The FolderController.GetFolder Method
Listing 7-7: The DataProvider.GetFolder Abstract Method
Listing 7-8: The SQLDataProvider.GetFolder Method
Listing 7-9: A SqlDataProvider Upgrade Script

Chapter 8: Core DotNetNuke APIs

Listing 8-1: EventLogController.EventLogType Enumeration
Listing 8-2: EventLogController.AddLog Example
Listing 8-3: EventLogController.AddLog Log Entry for the XML Logging Provider
Listing 8-4: EventLogController.AddLog LogProperties for the DB Logging Provider
Listing 8-5: EventLogController.AddLog Example
Listing 8-6: EventLogController.AddLog Log Entry
Listing 8-7: ExceptionLogController.AddLog Example
Listing 8-8: ExceptionLogController.AddLog Log Entry
Listing 8-9: Scheduled Task Example
Listing 8-10: HTTP Modules Configuration Section
Listing 8-11: The IHttpModule Interface Implemented by Each HTTP Module
Listing 8-12: SiteUrls.config
Listing 8-13: SiteUrls.config with a Modified Rule
Listing 8-14: Modifying SiteUrls.config
Listing 8-15: Human Readable URL Example
Listing 8-16: Friendly URL Provider Methods
Listing 8-17: Friendly URL Provider Configuration
Listing 8-18: IActionable Interface Definition
Listing 8-19: IActionable.ModuleActions Example
Listing 8-20: ModuleActionTypes
Listing 8-21: Key ModuleActionCollection Methods
Listing 8-22: Registering an Event Handler
Listing 8-23: Handling the Event
Listing 8-24: ActionEventHandler Delegate
Listing 8-25: Click Event Handler
Listing 8-26: ProcessAction Method
Listing 8-27: OnAction Method
Listing 8-28: Skin Class Handles the ActionEvent
Listing 8-29: IPortable Interface Definition
Listing 8-30: ExportModule Stub
Listing 8-31: ImportModule Stub
Listing 8-32: IUpgradeable Interface
Listing 8-33: IModuleCommunicator Interface
Listing 8-34: ModuleCommunication Event Implementation
Listing 8-35: IModuleListener Interface
Listing 8-36: ISearchable Interface
Listing 8-37: Implementing the Interface

Chapter 9: Member Role

Listing 9-1: Setting ApplicationName
Listing 9-2: Membership Provider Set in web.config
Listing 9-3: MachineKey Values Set in web.config
Listing 9-4: CreateUser Method in the Concrete AspNet Membership Provider
Listing 9-5: AspNet Roles Provider Set in web.config
Listing 9-6: AddUserToRole Method in the Concrete AspNet Roles Provider
Listing 9-7: Profile Provider Set in Web.Config
Listing 9-8: UpdateUserProfile Method in the Concrete AspNet Profile Provider

Chapter 10: Client API

Listing 10-1: Verifying that a Client Browser Supports DHTML and Registering the Namespace
Listing 10-2: Client-Side Browser Functionality Tests Supported
Listing 10-3: ClientAPICaps.config File
Listing 10-4: Registering a Variable on the Client Side
Listing 10-5: Example of RegisterClientVariable in DNNTree
Listing 10-6: Registering a Startup Script
Listing 10-7: Beginning of the dnn.controls.dnntree.js File
Listing 10-8: Retrieving the Value of a Client-Side Variable
Listing 10-9: Handling Potential Callbacks in Page_Init
Listing 10-10: RaiseClientAPICallbackEvent Function
Listing 10-11: dnn.xmlhttp.doCallBack Client-Side Function
Listing 10-12: Callback Response Status Code Enumerator
Listing 10-13: XmlHttpRequest's Client-SideComplete Function

Chapter 11: Localization

Listing 11-1: System Message Resource Example
Listing 11-2: System Message Rendered Example

Chapter 13: Developing Modules: The Database Layer

Listing 13-1: The AddEvent Stored Procedure for the Events Module
Listing 13-2: The DeleteEvent Stored Procedure for the Events Module
Listing 13-3: The GetEvent Stored Procedure for the Events Module
Listing 13-4: The GetEvents Stored Procedure for the Events Module
Listing 13-5: The GetEventsByDate Stored Procedure for the Events Module
Listing 13-6: The UpdateEvent Stored Procedure for the Events Module
Listing 13-7: Importing Namespaces for the Events Module Data Provider Class
Listing 13-8: Inheriting the DataProvider Class for the Module
Listing 13-9: The Private Members of the Data Access Layer
Listing 13-10: Defining the Default Data Provider in the web.config
Listing 13-11: Constructors Regions in the SQLDataProvider Class of the Events Module
Listing 13-12: Public Properties — Exposing the Database Connection Information in the SQLDataProvider Class
Listing 13-13: Public Methods within the SQLDataProvider Class
Listing 13-14: Creating the Abstraction Class for the Events Module
Listing 13-15: Shared/Static Methods in the DataProvider Class of the Events Module
Listing 13-16: The Abstraction Methods in the DataProvider Class of the Events Module

Chapter 14: Developing Modules: The Business Logic Layer

Listing 14-1: The Private Members Region of the EventInfo Class
Listing 14-2: The Constructors for the EventInfo Class
Listing 14-3: The Public Properties for the EventInfo Class
Listing 14-4: Defining the Controller Class for the Events Module
Listing 14-5: Public Methods of the EventsController Class
Listing 14-6: Defining Search Items of the Module for DotNetNuke Search
Listing 14-7: The Function for the EventsController Class
Listing 14-8: The ImportModule Function for the EventsController Class

Chapter 15: Developing Modules: The Presentation Layer

Listing 15-1: DataList Control in the Events.ascx Page
Listing 15-2: Calendar Control within the Events.ascx Provides Another View
Listing 15-3: Optional Interfaces Region of the Events Module
Listing 15-4: Controls and Private Members Regions of the Events Module
Listing 15-5: GetCalendarEvents Method of the Events Module
Listing 15-6: Public Methods Contained in the Events Module
Listing 15-7: Event Handlers Region in the Events Module
Listing 15-8: Settings User Control for the Events Module
Listing 15-9: Defining the Settings Control for the Events Module
Listing 15-10: Base Method Implementations of Events Module's Settings.ascx.vb
Listing 15-11: Registering Controls for the EditEvents.ascx Control
Listing 15-12: EditEvents.ascx Control
Listing 15-13: Controls Region of the EditEvents.ascx.vb File
Listing 15-14: Private Members Region of the Edit Control
Listing 15-15: Events Handlers Region of the Edit Control — Page Load Event
Listing 15-16: Handling Linkbutton Events in the EditEvents Class

Chapter 16: Skinning DotNetNuke

Listing 16-1: Default.aspx Source Code
Listing 16-2: Default.aspx.vb Init_Page Directives
Listing 16-3: Default.aspx.vb ManageStyleSheets Function
Listing 16-4: Skin Attribute Example
Listing 16-5: Content Pane Attributes
Listing 16-6: Pane Level Skinning
Listing 16-7: Example Container

Chapter 17: Distribution

Listing 17-1: Module Manifest File Format
Listing 17-2: Sample Manifest for the Survey Module
Listing 17-3: Skin Object Manifest File Format
Listing 17-4: Provider Manifest File Format
Listing 17-5: Skin Configuration File Format
Listing 17-6: Skins Configuration File Format
Listing 17-7: Language Pack Manifest File Format
Listing 17-8: German Language Pack Manifest

Категории