260 likes | 282 Views
Dive into the world of DotNetNuke with an in-depth exploration covering installation, features, project history, technical overview, customization tips, and future projections. Learn about portals, modules, roles, and user management.
E N D
DotNetNuke Overview • Stan Schultes • Enterprise architect / application developer • Conference speaker, mentor, trainer • Contributing Editor, Visual Studio Magazine • Founder - .NET Pub Club (netpubclub.net) • Microsoft MVP • www.vbnetexpert.com • stan@vbnetexpert.com
Presentation Outline • Introduction & History • Installation • Technical Overview • Portal Features & Management • Project Organization & Internals • Private Assemblies • Customizing / Tips & Tricks • Project Futures
Web Portal Introduction • What is a Web Portal? • Business Case • Open Source Project • DotNetNuke and Rainbow Projects • Target Audiences: • Web Hosters • Corporate Portal Developers
Project History & Relatives • IBuySpy web portal, IBS Workshop • Rainbow (mid-’02) & DotNetNuke (Dec ’02) • ASP.NET Starter Kits (www.asp.net): • Portal • Community • Commerce • Reports • Time Tracker
Installation Requirements • Current: v2.1.2 • Requires: • Win2K, WinXP, or Win2K3 • IIS installed and operational • .NET Framework V1.1 • Access or SQL Server 2000 / MSDE • SMTP configured if you want to use mail • VS.NET 2003, or custom build environment (no SDK version available today) • DNN is written in VB.NET, but you can write modules (.DLLs) in any .NET language
Demo – DNN Installation • Installation Process: • Unzip the code to a directory, give ASPNET/Network Service account permissions • Create a virtual directory • [ Create an empty SQL database, set up DB account ] • Edit web.config • Browse to http://localhost/vdir • Change Host and Admin passwords! • Upgrade Process: • Back up your current configuration • Unzip the new code into the directory structure • Browse to the vdir
What’s New in Version 2 • Improved admin user interface • Data Provider Model • Business Logic Layer • Skinning • Recycle Bin • Scheduler • Exception Management • Backward compatibility for modules using the old data architecture
Technical Overview • Framework application • Modular construction • Dynamically loaded user controls • Data access layer uses Provider model • Business logic layer • Online portal configuration by role • Multi-portal: parent or child configuration • Portals are skinnable
Demo – DNN Features • Portal Management • Tabs & Modules • Roles & Users • Files & File Uploads • Child Portals
Managing Portals • Host and Admin Accounts • Hosting Configuration, Modules • Multiple Portals, Aliases • Forms Authentication vs. Windows Authentication • Service Directory: Vendors & Banner Advertising • Chargeout process • Bulk email (portal users)
Tabs & Modules • Tabs = portal organizational units • Modules = information containers • Module Options • Info access controlled by Roles and Users
Roles & Users • Roles & Users - created by Admin role • Role usage is up to you • User registration: none, private, public, verified • Specify required registration fields: • Admin User Accounts, edit mode
Files and File Uploads • Shared directory per portal (\portals\n\) • File security: there isn’t any by default! • Set uploadable file types on Host Host Settings • Set File Upload Roles on Admin File Manager • Use the Sync link on File Manager if you manually copy files into directories • Decompress Zip files checkbox • Host file uploads vs. portal file uploads
DNN in Design Mode • DNN v2 built with VS.NET 2003 • Change .sln and .webinfo file if not default DotNetNuke vdir • Release mode vs. Debug mode • All standard modules are integrated in .sln • Build private modules in any language – as separate project.
Project Organization • Directory structure: • Admin – user controls for all system pages • Components – business logic layer • Controls – title, header, footer controls • DesktopModules – module addins • Portal\n\ – content directories by portal • Providers – data access providers
Portal Internals • web.config • Global.asax • HTTP Handler and portal aliases • Default.aspx (DesktopDefault redirects) • Everything else is .ascx (user controls) • Controls: SolPart menu, FreeTextBox, SharpZipLib
Data Access / Business Logic • Data access based on a Provider model • Databases supported: • Access (default), SQL Server 2000/MSDE • (future) mySQL, Oracle • Business Logic Layer: • Abstracts the data layer from the portal • Custom Business Object (CBO) helper
Making the Portal Your Own • Containers • DNN V2 is now skinnable by portal! • CSS Style sheet • Modify the core code • Integrate custom modules • Build your own private assemblies
Demo - Customization • CSS Style Sheet • Containers • Skinning
Demo – Install a private assy • Build the assembly separately • Package as .zip with .dnn manifest file • Upload to portal from Host account • Configure the module • Four examples are provided: • Page Title • Survey • Users Online • Whois
Building a Private Assembly • Find a similar standard module and copy it • Database tables & SPs • Data component • Create user controls for display & editing • Style sheet additions • Project integration options • PA installation files & docs • Article in Dec 2003 Visual Studio Magazine
DNN Tips & Tricks • Try to minimize core customization • When upgrading – compare codebases & eliminate obsolete code • Use VSS for code & build control • Interactions between logins w/ multiple instances • Watch forums & bug lists for fixes (see #1 above)
Project Futures • Localization – static / dynamic • Site Search • Friendly URLs • Private Assembly Architecture • Windows Authentication / Tabs SSL • Enhanced File Management / Security • Hierarchical portals • Web Farm Support
Resources • www.dotnetnuke.com • http://www.fawcette.com/vsm/2003_12/magazine/columns/gettingstarted/ • www.asp.net/forums • www.gotdotnet.com/community/workspaces • DNN ML: www.cyberhuis.com • DNN XXL: arkadic.healthship.com • www.asp.net • www.rainbowportal.net