|
DNN Module DevelopmentThis page presents (without the sales hype) a concise yet deep analysis of the detailed nuances of adapting the Microsoft-centric Dot Net Nuke (DNN) CMS (Content Management System). This is one in a series: | Topics this page: |
|
Here are the hierarchy levels of the GUI in DNN
Portal defined in Site Settings configured by an Administrator have public and private admin interfaces.
Additionally, Components provide services in the background.
DNN uses the "Provider" (Factory Design) design pattern for developers to change functionality without having to modify the Core DNN code base. Providers use well known interfaces and/or abstract classes to "plug-in" new behavior used by custom module(s).
Fields presented on screens refer to AddTable and UpdateTable methods of Business Logic Layer (BLL) classes.
To pass collections of data from the Data Access Layer ( DAL ) to the Business Logic layer ( BLL ) layer, DNN uses the DataReader data transport mechanism. The abstract IDataReader, as the base interface for all .NET compatible DataReaders, allows data to be passed between layers without specification of the data access protocol being used in the actual data provider implementation ( ie. SqlClient, OleDB, ODBC, etc… ).
This forward only and read only stream of data is the fastest performing available in ADO.NET.
DNN allows for Custom Modules to be packaged as Private Assemblies (zip files) for deployment to portal installations.
A manifest file is used to deploy private assembly custom modules.
Most DNN module developers use a code generator, typically CodeSmith to generate code to access the database. This is done by analyzing the (physical) database schema (.dbml) and generating code for each table, field, and index.
The first generation of CodeSmith .cst template code from DNN Jungle were based on the NHibernate ("ORM layer") framework.
In Aug. 2008 Rodney Joyce of Smart-Thinker.com updated codesmith generation code to use "iHydratable" which improves performance by reducing reflection.
The 2008 generation makes use of Microsoft's LINQToSQL introduced with .NET Framework 3.5, which merges SQL within programmatic (C#/VB) code. plinqo.com offers several improvements on Microsoft's refence implementation with a customizable engine to enforce business rules.
Automatic installation of Modules occur from a binary .resource file for each module in folder Install\Module when the "Install Additional Extensions" link is clicked.
Notice that each module has its own version number.
TIP: Rename .resource to .zip and the module can be installed manually by clicking the "Install New Module" link.
The plan -- Process Guidance.
DNN Dojo.com has screencasts.
Becaues DNN4 natively uses <span (in-line) marking but CSS relies on <DIV marking of text blocks, changes are necessary to change the generation of .ascx files that DNN performs.
Andy Hock of Fingerful says he is working on a tutorial about working with Microsoft's AJAX.NET and the Client API in DotNetNuke. One obstacle you have to overcome is a basic one: Microsoft uses the JSON (pronounced jayson) standard, while the ClientAPI uses XML.
Object Qualifiers?
Set DNN's scheduled tasks:
such that they don't all occur at once.
First, apply for a key. Write the key obtained in the config.php file (within the footprints \ within facebook-platform folder containing the expanded tar.gz extracted within the module folder "/project/facebook_auth".
Facebook Connect?
This page was created to present informaton on these pages in an updated, more concise way.
How to Install DotNetNuke 4.3.x from DNN Creative magazine
| ||
|
| Your first name: Your family name: Your location (city, country): Your Email address: |
Top of Page
Thank you!
Human verify: |