Rights Contact Login For More Details
- Wiley
More About This Title Professional DNN7: Open Source .NET CMS Platform
- English
English
A variety of positive change has recently taken place in the DNN ecosystem, code base, and underlying technology. Professional DNN7: Open Source .NET CMS Platform provides thorough coverage of all aspects of DNN including the latest features, API’s, and updates. Looking to ramp up your knowledge of DNN7? If so, this book is for you! In this book, you'll learn how to install, configure, administer, develop modules, and much more!
DNN has undergone a significant transformation over the past 4 years. The rebrand from DotNetNuke to DNN was just the start. The entire platform was migrated from VB to C#, the user interface was overhauled providing a much-improved user experience, dramatic improvements in functionality & performance were made including support for social collaboration and mobile devices. Recently API’s that make modern, client-side development easy have been introduced as well. The underlying technology platform has migrated from ASP.NET 2.0 to ASP.NET 4.0 and DNN has also integrated Microsoft’s Web API as the service framework at the core of the DNN solution. All of these enhancements provide developers with a lot of power in one solution.
In previous Professional DotNetNuke books, DotNetNuke founder Shaun Walker authored a popular introductory chapter covering the evolution of the DNN open source project. He will expand this initial chapter with information about venture capital funding, commercialization, and software business insights – which will be of interest to DNN enthusiasts, as well as technology entrepreneurs.
DNN site builders, administrators, and developers will learn how to:
determine if they have met the installation requirements and install DNNadminister and host a DNN site and install and configure modulesmanage users and keep a DNN installation securelocalize a DNN site for multiple languagesbuild custom DNN modules in C# using the model of separation of database, business logic, and presentation layerscustomize the DNN look with skinningmake their site social with EVOQ- English
English
About the authors and technical editors:
Shaun Walker is the original creator of DNN, the founder of DNN Corp., a Microsoft MVP since 2004, and is currently the Director & Innovation Group Lead at Arrow Consulting & Design.
Clinton Bland, Bruce Chapman, Cathal Connolly, Charles Nurse, Chris Paterra, Ashish Prasad, Nathan Rover, and Dennis Shiao each work at DNN Corp. on the DNN product.
Erik van Ballegoij, Peter Donker, Will Strohl, and technical editor Brian Dukes are each DNN MVPs, nominated by other DNN users and recognized as exceptional community leaders.
Israel Martinez, Mitchel Sellers, DNN Corp. co-founder Scott Willhite, Ralph Williams, Jr., and technical editor Sebastian Leupold are each DNN community members who contribute greatly to the DNN ecosystem.
Visit us at wrox.com where you have access to free code samples, Programmer to Programmer forums, and discussions on the latest happenings in the industry from around the world.
- English
English
CHAPTER 1: AN INSIDE LOOK AT THE EVOLUTION OF DNN 1
From Humble Beginnings… 2
The Dot-Com Era 4
IBuySpy Portal 5
ASP.NET 6
IBuySpy Portal Forum 8
IBuySpy Workshop 9
Subscription Fiasco 11
Microsoft 13
DotNetNuke 14
Licensing 15
Core Team 17
XXL Fork 19
Trademarks 20
Sponsorship 21
Enhancements 22
Security Flaw 24
DotNetNuke 2.0 25
DotNetNuke.com Website 26
Provider Model 27
Open Source Philosophy 27
Stabilization 28
Third-Party Components 28
Core Team Reorganization 29
Microsoft Membership API 30
“Breaking” Changes 30
Web Hosters 31
DotNetNuke 3.0 32
Release Schedule 33
DotNetNuke Projects 34
Intellectual Property 35
Marketing 36
Microsoft Hosting Program 38
Infrastructure 39
Branding 40
Tech Ed 43
Credibility 44
Trademark Policy 45
ASP.NET 2.0 46
Reorganization 47
Microsoft Conferences 48
DotNetNuke 4.0 49
Slashdotted 52
Benefactor Program 52
Opportunists 56
Yin and Yang 57
A New Company 58
Larry Augustin 59
Performance 60
DotNetNuke Marketplace 61
Free Module Promotion 63
Conferences 64
Microsoft Valuable Professionals 65
Fundraising 65
Awards and Accolades 66
DotNetNuke OpenForce 07 66
SLA Program 67
More Fundraising 68
CodePlex 69
Security Issues 70
IP Disputes 71
Term Sheets 73
DotNetNuke OpenForce 08 75
DotNetNuke Professional 76
Series A Announcement 78
Physical Offices 79
DotNetNuke 5.0 80
Day of DotNetNuke 80
DNN-Europe 81
Snowcovered Acquisition 81
Telerik Partnership 82
Series B 83
Open-DocumentLibrary Acquisition 84
DotNetNuke Enterprise Edition 84
POET Vulnerability 85
DotNetNuke.com Overhaul 85
Active Modules Acquisition 87
Nik Kalyani Leaves DNN Corp 87
Cloud. Mobile. Social. 88
DotNetNuke 6.0 88
DotNetNuke World 2011 89
DotNetNuke Gets Social 90
Microsoft Azure Partnership 91
DNN World 2012 92
DotNetNuke 7.0 92
iFinity Acquisition 93
10-Year Anniversary 93
DNN Social 94
DotNetNuke.com Hacked 95
Rebranding 95
DNNCon 98
Scott Willhite Moves On 98
DNN 7.x Releases 99
My Departure from DNN Corp 99
Summary 102
CHAPTER 2: INSTALLING DNN VERSION 7 103
What You Need to Install DNN Platform Version 7 104
Installing the DNN Platform Using the Installation Package 104
Step 1: Download the Software 104
Step 2: Unzip the Package 105
Step 3: Create a Database in SQL Server 106
Step 4: Create a Database Account 106
Step 5: Configure IIS 107
Step 6: Set File and Folder Permissions 107
Step 7: Perform the Installation 107
Installing the DNN Platform Using the Web Platform Installer 110
Downloading the Software 111
Installing the DNN Platform 111
Upgrading the DNN Platform to Version 7 114
Getting a Trial Version of Evoq Content 115
Common Installation Issues 116
Summary 117
CHAPTER 3: DNN PLATFORM OVERVIEW 119
Core Platform Objects 119
Sites (Portals) 119
Pages (Tabs) 122
Theme (Skin) 124
Modules 125
Security 127
Users 128
Roles 128
Host 130
Admin 130
Summary 130
CHAPTER 4: SITE ADMINISTRATION 131
What Is Site Administration? 131
Common Administrative Tasks 132
Control Panel Sections 132
Admin 133
Tools 134
Help 134
Modules and Pages 134
Users 134
Edit Page 135
Admin Menu Features 135
Common Settings 135
Event Viewer 136
File Management 139
Page Management 148
Recycle Bin 151
Security Roles 155
Site Settings 162
User Accounts 181
Advanced Settings 185
Advanced Configuration Settings 185
Device Preview Management 186
Extensions 187
Google Analytics 187
Languages 188
Lists 189
Newsletters 189
Search Admin 190
Search Engine Site Map 191
Site Log 191
Site Redirection Management 191
Site Wizard 192
Skins 193
Taxonomy 194
Vendors 194
Best Practices for Site Administrators 195
Getting User Registration Right 195
Having a Naming Convention 195
Never Sharing User Accounts 196
Editing as a Content Editor 196
Fewer Administrators, Not More 197
Fewer Permissions, Not More 197
Never Using “User” Permissions 198
Having a Process and Standards 199
Getting to Know Your Features 199
Summary 199
CHAPTER 5: HOST ADMINISTRATION 201
Why Do You Need the Host? 202
What Is Host Administration? 202
Host Attributes 203
Host Menu Pages 203
Dashboard 204
Extensions 205
Tab: Installed Extensions 205
Tab: Available Extensions 208
Tab: Purchased Extensions 208
Tab: More Extensions 209
Buttons: Install Extension Wizard 209
Buttons: Create New Extension and Create New Module 210
File Management 210
Host Settings 210
The Buttons 210
Basic: Configuration 212
Basic: Host Details 213
Basic: Appearance 213
Basic: Payment Settings 213
Advanced: Friendly URL Settings 214
Advanced: Proxy Settings 214
Advanced: SMTP Server Settings 214
Advanced: Performance Settings 215
Advanced: jQuery Settings 216
Advanced: CDN Settings 216
Advanced: Client Resource Management 217
Advanced: Membership Management 218
Advanced: Login IP Filters 218
Advanced: Search Settings 218
Other: Request Filters 219
Other: Site Log 219
Other: Auto-Unlock Accounts After 219
Other: Allowable File Extensions 220
Other: Auto-Sync File System 220
Other: Allow Content Localization 220
Site Management 221
Configuration Manger 222
Device Detection Management 222
HTML Editor Manager 222
Lists 224
Schedule 224
Schedule Item Details 225
Configuration 227
SQL 227
Vendors 228
Additional Host Features on Admin Site Settings 228
Event Viewer 228
Site Settings 229
Advanced: Site Aliases 229
Advanced: SMTP Server Settings 230
Advanced: SSL Settings 231
Advanced: Messaging Settings 232
Advanced: Host Settings 232
Page Management 233
Advanced Configuration Settings 233
Languages 234
Additional Host Features on the Control Panel 235
Tools Menu 236
Modules Menu 236
Host Options on the Module Actions Menu 236
Integrating with a Third-Party Provider 238
Installing the Facebook Provider 238
Setting Up the Facebook Application 240
Activating the Facebook Provider 241
Summary 242
CHAPTER 6: MODULES 243
What Is a Module? 243
Where Do Modules Live on a Page? 244
Adding a Module to a Page 245
One Module Across Multiple Pages 246
One Module Across Multiple Sites 246
Working with Modules 247
Moving Modules 247
Module Settings and Action Menus 248
The Module Settings Tab 249
The Permissions Tab 249
The Page Settings Tab 251
Where to Get Modules 252
The DNN Store 252
Forge 252
Developing Your Own Modules 253
Viewing Modules and Extensions 253
Installing Modules into DNN 253
The Extension Verifi cation System 254
In Depth with the HTML Module 254
Administrating the HTML Module 256
HTML Pro Module Features in Evoq Content 256
Summary 256
CHAPTER 7: SYSTEM ARCHITECTURE 257
Patterns and Concepts 258
Provider Pattern 258
Service Locator Pattern 260
Inversion of Control (IoC) Container 261
Repository Pattern 262
Architectural Overview 264
Data Layer 264
Install Scripts 264
Upgrade Scripts 265
Script Syntax 265
Data Access Layer 267
Data Access Layer (DAL) 2 268
Business Layer 269
Presentation Layer 271
Namespace Overview 273
DotNetNuke.dll 273
DotNetNuke.Web.dll 274
Summary 274
CHAPTER 8: CORE DNN APIS 275
The CBO Class 275
Hydration Methods 276
The IHydratable Interface 277
Caching 278
The DataCache Class 278
GetCachedData 278
Event Logging 280
Creating New Logging Types 280
Logging an Event Using the Logging API 282
The EventLogController Class 282
Exception Management 283
The Exceptions Class 283
Scheduler 284
Module Interfaces 285
IModuleControl 286
IActionable 287
IPortable 289
Summary 290
CHAPTER 9: MEMBERSHIP SECURITY 291
DNN Membership Overview 291
Membership Provider 292
Authentication Providers 295
Membership Management Enhancements 301
Summary 306
CHAPTER 10: LOCALIZATION 307
Locales in DNN 308
Locale Detection 308
Content Localization 309
Resource Files 310
Application Resources 311
Global Resources 311
Local Resources 312
Resource File Handling 312
The Resource File Editor 315
Missing Resource Keys 317
The API 317
The GetString Method 318
The GetSystemMessage Method 319
Token Replacement Engine 322
Localizing Modules 324
Case 1: Handling Static Strings in the ASCX File 325
Case 2: Handling Static Text in Server Controls 325
Case 3: Handling Static Text Programmatically 327
Summary 328
CHAPTER 11: SEARCH 329
History 329
Objectives of the New Search Functionality 330
Apache Lucene 330
Lucene.Net 330
Lucene: A Document Store 330
Lucene versus Lucene.Net 331
Lucene.Net Contrib 331
Search Architecture 332
Platform Features 332
Site Crawler 333
Near Real-Time Searching 334
Speed 334
Auto-Preview 334
Site-Scoped Search 335
Module-Scoped Search 336
Advanced Search 336
Filtering by Tags 336
Filtering by Content’s Modifi cation Time 337
Filtering by Search Types 337
Locale-Aware Search 337
Delta Indexing 338
Ranking 338
Lucene’s Native Syntax 338
Ignore Words 339
Synonyms 339
Evoq Features 340
URL Crawler 341
Scoping Below a URL 341
DNN Role Impersonation 342
Windows Authentication 342
No Duplication with Site Crawler 342
File Crawler 343
Scoping by Folders 343
Scoping by File Extension 344
Crawling a File’s Content 344
Excluding by Extension 345
Administration 345
Default Index File Location 345
Web-Farm Configuration 346
Re-Indexing 346
Getting Lucene Stats 347
Compacting 348
Custom Analyzer 348
Search Phases 348
Content Acquisition 348
Content Indexing 349
Content Searching 350
Module Integration 351
ModuleSearchBase 351
GetModifiedSearchDocuments 352
Entities 352
SearchType 353
SearchDocument 354
SearchQuery 356
SearchResult 357
APIs 358
Public APIs 358
Unsupported (yet Useful) APIs 358
Writing a New Crawler 360
Troubleshooting 361
Indexing 362
Querying 364
Luke 364
Summary 366
CHAPTER 12: URL MANAGEMENT 367
The History of DNN URL Schemes 367
TabId-Based URLs 367
Friendly URLs Version 1 368
Friendly URLs Version 2 368
Advanced URLs in DNN 7 369
Switching an Upgraded Site to Advanced Mode 370
SEO Focus on URLs 371
Understanding URL Structure in DNN 371
URL Configuration and Customization 372
Creating Custom URLs for DNN Pages 373
Advanced URL Creation for Evoq 374
Creating a Custom URL in Evoq 374
Creating a Custom URL Redirect in Evoq 375
Testing Custom URLs and Redirects in Evoq 377
Site- and Installation-Level URL Confi guration 381
Installation-Level Confi guration Options 381
Site Alias Confi guration 382
SSL URL Confi guration 384
Evoq Advanced URL Settings 384
Evoq Advanced URL Management Options 385
URL Creation for Developers 390
Custom Extension URL Providers 391
Installation and Configuration of Extension URL Providers 392
Testing of Extension URL Provider Functionality 392
Testing Extension URL Providers in Evoq 392
DNN URL Best Practices 394
Configuring URL Options for DNN Sites 394
Troubleshooting and Debugging DNN URLs 395
Using the Debug Mode for Advanced URLs 398
Summary 399
CHAPTER 13: BEGINNING MODULE DEVELOPMENT 401
A Guided Tour of Your Work Environment 403
ASP.NET Web Forms 403
The DNN Platform 404
Anatomy of a DNN Module 406
Your Toolbox 407
The Environment 408
DNN 408
SQL Server 410
IIS 410
To VM or Not to VM 411
Organizing Your Project 412
Inline versus External Module Creation 412
Hello World 412
The Razor Host Module 414
Hello World in Razor 415
Final Remarks 417
WAP versus WSP 417
Inside versus Outside the Root 417
Module Design Considerations 418
Three-Tiered Design and MVC 418
DAL 418
Client-Side versus Server-Side 419
Localization 420
About Modules, TabModules, Module Defi nitions 421
Packages 421
DesktopModules 422
ModuleDefinitions 422
ModuleControls 424
Modules 424
TabModules 424
A Guestbook Module 426
Module Templates and Build Tasks 426
Creating the Project 427
The Data Layer—SQL 429
The Data Layer—DAL 2 431
Settings 434
The UI 438
Results 446
Wrapping It Up 446
The Manifest 448
The Preamble 450
SQL Scripts 450
The Resource File 451
The Module Definition 451
Assemblies 451
Packing Up the Guestbook Module 451
Creating a Source Version 452
Build Automation 452
Summary 453
CHAPTER 14: DEVELOPING MODULES: USER INTERFACES 455
Understanding DNN and Module Interactions 455
Dialogs and AJAX Support 456
DNN AJAX Support 456
DNN Modal Dialogs 457
JavaScript, jQuery, and Custom Scripts 459
Using jQuery and jQuery UI 459
Including Knockout 460
Registering Custom Scripts and CSS 460
DNN jQuery Plugins 462
dnnAlert 462
dnnConfirm 463
dnnPanels 463
dnnTabs 466
Handling Postbacks 467
Implementing Consistent Design 468
Messages and Alerts 468
Forms and Buttons 469
Using Module CSS 470
Summary 471
CHAPTER 15: DEVELOPING MODULES: BUSINESS LOGIC 473
Navigating with the DNN API 474
DotNetNuke.Common Namespace 474
DotNetNuke.Common.Globals Class 474
DotNetNuke.Common.Lists.ListController 475
DotNetNuke.Common.Utilities.CBO Object 476
DotNetNuke.Common.Utilities.DataCache Object 476
DotNetNuke.Entities Namespace 477
_Info Objects 477
_Controller Objects 477
Host and PortalSettings Objects 478
DotNetNuke.Framework Namespace 480
AJAX Class 480
CDefault Class 480
PageBase Class 481
DotNetNuke.Security Namespace 481
Membership Namespace 481
Permissions Namespace 481
Roles Namespace 482
DotNetNuke.Services Namespace 482
Exceptions Class 482
Mail 483
Using Common DotNetNuke Controls 484
LabelControl—Field Inputs 484
TextEditor—Rich Text Editing 485
Leveraging Web API 486
Adding the Proper References 486
Defining the Web API RouteMapper 486
Creating the Controllers 488
Creating DNN Scheduled Jobs 490
Controlling Navigation and Module Views 491
Isolation Mode and Module Controls 491
Bypassing Isolation 493
Dynamically Loading Controls 493
Toggling Visibility of Sub-Controls 493
Managing Linking 493
Summary 494
CHAPTER 16: DEVELOPING MODULES: BEST PRACTICES AND MOVING FORWARD 495
Managing DNN References and Versions 496
Which Version to Reference 496
Enforcing the Dependency 496
Making Things Easier with NuGet 497
Managing External Dependencies 497
Future-Proofing Data Interactions 498
Bypassing the API 498
Managing Foreign Keys 499
Supporting objectQualifier and databaseOwner 500
Supporting Azure 500
Extension Verification Service (EVS) 501
What It Validates 501
Interpreting the Results 502
Errors 502
Warnings 502
Information Messages 503
System Errors 503
Getting Prepared for DNN neXt 503
Avoiding Deprecated Methods 504
Following Best Practices 504
Staying Active 504
Summary 504
CHAPTER 17: SKINNING 505
Skinning by Today’s Standards 505
Parts of a DNN Skin 506
Skins 506
Containers 506
Skin Objects 506
Skin Packages 506
Installable Skin Packages 507
Content Panes 507
Navigation 507
Folder Structures 508
Skin Locations and Permissions 508
Container Locations 509
Skinning Approaches 510
HTML 510
ASCX 511
Preparing to Create a Skin 512
Preparing your Skinning Environment 512
Choosing an IDE 512
Setting Up Your Website in Visual Studio 512
Creating the Folder Structure 513
Creating Your First Skin 515
HTML Approach 515
ASCX Approach 515
Basic Layout 517
Setting Up a Test Page 517
Content Panes 517
Adding Test Content 519
Adding HTML Modules to the Page 519
Updating Module Titles 520
Adding Text to Your Modules 520
CSS 521
Overriding Basic Styles 524
Linking to Files in Your Skin 524
Document Setup 525
DOCTYPE 525
Skin Objects 526
Registering Skin Objects 526
Defining Skin Objects 526
Setting Up a Responsive Web Design Skin 529
Setting the Viewport Using the Meta Skin Object 529
Creating the CSS Using the Styles Skin Object 530
Conditionals for Internet Explorer 533
Available Skin Objects 533
Client Resource Management (CRM) 533
CSS 534
JS 534
Navigation 536
Sample Menu Structure 536
DDR 541
Menu Style 542
Menu Template 543
Creating Alternate Skins 546
Creating Containers 547
Creating the Folder Structure 547
Creating Your First Container 547
Additional Skin Objects for Containers 549
Styling Containers 549
Creating Additional Containers 550
Custom 404 and Pop-up Skins 554
Skin Thumbnails 555
Creating an Installable Skin Package 555
Packaging the Skin 556
Creating the Skin Package 556
Understanding the DNN Manifest 557
Advanced Skinning Techniques 558
Site Title for Logo 558
Page ID for Page-Specific CSS 558
Page Icon as Header Image 559
Summary 559
CHAPTER 18: PACKAGING AND DISTRIBUTION 561
The New Extensions Model 561
Creating New Extensions 562
Extension Configuration 564
Skin and Container Extension Configuration 564
Module Extension Configuration 565
Skin Object Configuration 570
Provider Extension Configuration 571
Authentication System Configuration 571
Core Language Pack Extensions Configuration 571
Extensions Language Pack Extensions Configuration 572
Using the Wizard to Create Packages 572
Building Packages with Manifest Files 573
Manifest Packages 573
Package Components 575
File Components 576
Assembly Components 576
Script Components 577
Cleanup Components 578
Confi g Components 578
Module Components 580
Skin and Container Components 582
SkinObject Components 583
Language Pack Components 583
Authentication System Components 584
Resource File Components 584
Provider Packages 585
Library Packages 585
Summary 585
CHAPTER 19: COMMERCIAL PHILOSOPHY 587
The Fundamentals 587
Technology 588
Market Conditions 589
Distribution Model 590
Branding 590
Results 591
Summary 591
CHAPTER 20: EVOQ CONTENT 593
Content Creation 593
Asset Manager 594
Flexible Content Layouts 595
Permissions, Workflow, and Versioning 595
Permissions 596
Workflow 596
AutoSave 596
Content Versioning 597
Version Compare 597
Optimization 597
Real-Time Personalization 597
Analytics 598
Integrations 599
Summary 600
CHAPTER 21: EVOQ ENGAGE 601
Management Tools 601
Persona Bar’s Dashboard 601
Overview 602
Modules 603
Persona Bar’s Manage Section 604
Assets 604
Users 604
Persona Bar’s Settings 605
Connectors 605
Gaming Mechanics 606
General Settings 607
Tasks 608
Community Modules 608
Answers 609
Blogs 610
Challenges 610
Discussions 610
Ideas 610
Events 611
Wiki 611
Others 611
Activities 611
Activity Stream 611
Member Profile 612
Leaderboard 612
Group Spaces 613
User Badges 613
Summary 613
CHAPTER 22: THE DNN STORE 615
Buying from the Store 615
Locating Products 615
Product Search 616
The Search Filter 616
Product List Sorting 616
Product List Details 617
Other Ways to Shop 617
The Product Details Page 617
Making a Purchase 619
Managing Your Account 620
Accessing Your Downloads 620
Viewing Past Orders 621
Getting Support 622
Posting Reviews 623
Using the Watch List 624
The Referral Program 624
Managing Your Referral Profile 625
Referring Sales 625
DNN Referral Module 625
Referral Reports 626
Selling on the Store 626
Becoming a Vendor 627
Listing a Product 627
Managing Your Account 632
Managing Your Seller Profile 632
Viewing Your Sales 634
Vendor Charts and Reports 635
Analytics 636
Discounts 636
Using the Help Desk 640
Managing FAQs 640
Managing Product Reviews 641
The Vendor File Manager 641
Sales Tax Configuration 642
Summary 642
CHAPTER 23: DNN ON MICROSOFT AZURE 643
Azure Deployment Scenarios 644
Installing DNN on Azure Websites 644
Install Preparation 645
Preliminary Step 1: Opening a New Azure Subscription 645
Preliminary Step 2: Starting a Credentials File 645
Performing the DNN Installation 646
Step 1: Opening the Azure Site and Creating a New DNN Install 646
Step 2: Choosing the Resource Plan for Your Azure Website 647
Step 3: Creating the Azure Website 648
Step 4: Creating the Database Resource 649
Step 5: Creating a Database Server 650
Step 6: Creating the Azure Website 651
Step 7: Running the DNN Install Wizard 654
Step 8: Adding Domain Names 656
Step 9: Configuring SMTP 659
Step 10: Site Inspection 660
Remote Connections to Azure Websites 660
Remotely Accessing Azure Websites with FTP 661
Step 1: Creating FTP Credentials 661
Step 2: Obtaining the FTP Endpoint 661
Step 3: Opening the FTP Connection 662
Backing Up Your Azure Website 663
Creating a Combined Application/Database Backup 663
Step 1: Choosing the Correct Website Pricing Plan 663
Step 2: Linking the Database and File System 664
Step 3: Creating a Storage Account for Backups 665
Step 4: Creating a Container in the Storage Account 667
Step 5: Creating the Backup 667
Step 6: Creating Scheduled Backups 668
Upgrading to a New DNN Version 670
Preliminary Upgrade Steps 670
Preliminary Step 1: Taking a Backup of Your Installation 670
Preliminary Step 2: Checking Your Host User Credentials 670
Preliminary Step 3: Obtaining the Latest Upgrade Package 670
Preliminary Step 4: Checking Your Dependencies 671
Preliminary Step 5: Considering Using a Test Copy 671
Upgrading DNN 671
Step 1: Uploading the Upgrade Package 671
Step 2: Extracting and Copying the Upgrade Files 672
Step 3: Running the Upgrade Wizard 674
Step 4: Cleaning Up the Upgrade Folder 675
Step 5: Performing Testing and Backup 676
Moving an Existing DNN Site to Azure Websites 676
Preparing Your Installation for Migration 676
Preliminary Step 1: Performing a DNN Install on Azure Websites 676
Preliminary Step 2: Upgrading to the Latest DNN Version 677
Preliminary Step 3: Enabling Auto Add Site Alias 677
Preliminary Step 4: Testing the Database Export Process for Compatibility 677
Preliminary Step 5: Testing the Database Import Process for Compatibility 679
Performing a Site Migration 680
Step 1: Taking Your Existing Site Offline 680
Step 2: Copying and Compressing the Application Files 680
Step 3: Uploading and Unpacking Your Application Files 680
Step 4: Importing Your Database Backup 680
Step 5: Pointing Your Application at the Imported Database 680
Step 6: Trying Your Site 681
Step 7: Completing the Switchover 681
Managing and Troubleshooting Your Azure Website 682
Using Kudu 682
Environment 683
Debug Console 683
Process Explorer 683
Tools 683
Visual Studio Online 686
Other Useful Azure Websites Features 687
Autoscaling 687
Deployment Slots 688
WebJobs 688
Application Monitoring 688
Other Azure Resources 688
Summary 689
APPENDIX A: RESOURCES 691
APPENDIX B: SYSTEM MESSAGE TOKENS 697
INDEX 701