Bill Cava Bill Rogers Aniel Sud WILEY Wiley Publishing, Inc.
INTRODUCTION xxiii CHAPTER 1: INTRODUCING EKTRON 3 Ektron: The Company 3 Ektron's Community, Support, and Services 4 Ektron's Online Community 4 Ektron Technical Support 5 Ektron's Best Practices and Professional Services 6 Ektron Training 7 Ektron, the Framework 7 All-in-One versus Best-of-Breed 8 Developing with the Ektron Framework 9 System Requirements 13 Who Uses Ektron? 15 Take Home Points 16 CHAPTER 2: THE EKTRON WEB PROJECT METHODOLOGY 17 Iterative/Waterfall versus Agile Approaches 18 The Business Case: Where It All Starts 18 Understanding the Implementation Process 19 The Discovery Phase 19 Kicking Off the Project 20 Developing a Project Plan 20 The Implementation Phase 24 Starting Development 24 Content Migration 25 The Quality Assurance Phase 26 System Testing 26 User Acceptance Testing 27 Take Home Points 28
CHAPTER 3: THE IMPLEMENTATION GUIDE 29 The Ektron Approach 30 Implementation Guide 31 The OnTrek Implementation Guide 32 The Homepage 33 Product Page 35 User Dashboard Page 39 Take Home Points: Best Practices for Creating an Implementation Guide 42 CHAPTER 4: CONFIGURING YOUR DEVELOPMENT ENVIRONMENT 45 What You Need to Configure Your Machine 45 installing the Framework 46 Development Scenarios 47 Source Control 47 Data Synchronization 47 Further Tips 49 Take Home Points 49 CHAPTER 5: UNDERSTANDING CONTENT MANAGEMENT FUNDAMENTALS 53 Login and Workarea 54 Logging In and Creating a User 55 Exploring the Workarea 59 Content Entry and Display 62 Content Storage and Status 62 Adding and Managing Content 64 Using the Content Block Server Control 82 Folders and the Library 85 Implementation: Adding a Folder and Managing Library Items 85 Under the Hood: Folders and Libraries 95 Folders and Library in Brief 95 Permissions, Approvals, and Roles 95 Understanding Permissions 95 Understanding Approval Chain Workflows 96 xiv
Understanding Roles 96 Managing Permissions and Workflow 96 Under the Hood 102 Take Home Points 105 CHAPTER 6: CONFIGURING COMMONLY USED COMPONENTS 107 Implementation Understanding the Technology 108 Smart Forms 109 The Difference between Smart Forms and HTML Forms 110 Understanding Smart Form Design 110 Creating Smart Form Designs 111 Retrieving, Manipulating, and Rendering Structured Data 113 Implementation 117 Under the Hood 122 Taxonomy 124 Implementation 125 Under the Hood 128 Aliasing 130 Taxonomy Based Aliasing 131 Folder Based Aliasing 131 RegEx Based Aliasing 131 Community Aliasing 131 Manual Aliasing 132 Implementation 132 Under the Hood 135 Multilingual Sites 136 Designing an Ektron Multilingual Website 137 Managing the Displayed Content Language 141 142. Under the Hood 144 Take Home Points 145 CHAPTER 7: THE HOMEPAGE 147 Use Case 148 Technology 150 Using Rotating Graphics 150 Adding Navigation 150 Rich Interaction Using jquery, Smart Forms, and Handlers 151 XV
Types of Interaction 151 Homepage Image Rotator Using Serialization 153 Homepage Image Rotator Using XSLT 162 Web Service Creation and Consumption 169 Using Menus for Navigation 185 Ektron Menu Basics 185 Implementing the Global Navigation Menu 191 Under the Hood 195 Using Search for Navigation 197 Defining Your SiteSearch Strategy 198 Adding Search to the Global Navigation 203 Under the Hood 205 Sitemap and Breadcrumbs 209 Creating Breadcrumbs for the Products Folder 210 Implementing the Breadcrumb Server Control 212 Creating a Sitemap Page 213 Registration 215 Allowing a User to Register on the Site 215 Allowing Users to Modify Their Properties 218 Implementing a Password Reset Feature 219 Implementing Facebook Registration 220 Take Home Points 223 CHAPTER 8: REACHING PROSPECTS 225 Use Case 225 Technology 227 ListSummary 228 Implementing a Basic ListSummary 229 Changing the HTML Markup Using XSLT 232 Changing the Markup Using EKML 236 Calendars 239 Creating a System Calendar, User Calendar, and Group Calendar 240 Displaying Events Using a WebCalendar Server Control 246 Displaying Events Using a ListSummary Server Control 250 Displaying Events Using a Content Block Server Control 250 Display a List of Upcoming Events 253 Outputting ical Feeds 256 Video/Customer Testimonials 257 xvi
Adding an Object to the DMS 257 Modifying Settings on Managed Objects 259 Displaying the Managed Object 261 Alternatives to Using the Ektron Framework 262 Take Home Points 263 CHAPTER 9: GENERATING LEADS THROUGH CAMPAIGN OPTIMIZATION 265 Use Case 266 Understanding the Technology 268 Implementation Using Collections 270 Creating a Collection 271 Adding to the Collection 272 Putting the Collection on the Landing Page 273 Customizing the Presentation of the Collection Widget 275 Under the Hood: Collection Data Model 280 PageBuilder 282 Creating the Wireframe 283 Associating the Wireframe to a Folder 286 Creating a Layout Based on the Wireframe 286 Under the Hood 292 Widgets 297 Creating the Widget 299 Under the Hood: Widgets 307 HTML Forms 310 Creating a Form 310 Implementation: The "Request a Demo" Form 311 Under the Hood: HTML Form Data Model 315 Multivariate Testing 317 Under the Hood: Multivariate 323 Multivariate Brief 324 Web Analytics 324 Traffic Analytics versus Business Analytics 324 Analytics Reports 325 Setting Up Site Wide Traffic Analytics 326 Measuring Effectiveness of the Campaign Using Traffic Analytics 328 Under the Hood: Analytics 329 Take Home Points 330 Additional Practice Steps 331 xvll
CHAPTER 10: SUPPORTING CUSTOMERS 333 Understanding the Technology 334 Forums 334 Blogs 334 Wiki 335 Use Case 336 Building Forums 338 Creating Forums in the Workarea 339 Blogs 353 Create a Blog in the Workarea 354 Create a Template with a Blog Server Control 358 Wikis 363 Creating a Wiki in the Workarea 364 Using the Wiki Feature in the Site 364 Creating a New PageBuilder Page 365 Using the Wiki and Creating Links 367 Editing Existing Content 369 The SocialBar Server Control 369 Implementing the SocialBar Widget 370 Content Flagging and Content Review 378 Setting Up Flagging Definitions 378 Implementing the ContentFlagging and ContentReview Server Controls 379 Running Flagging and Review Reports, and Moderating Reviews 383 Take Home Points 387 CHAPTER 11: IMPLEMENTING THE ONTREK SOCIAL NETWORK 389 The Importance of Social Networking 390 Technology 391 Users, Friends, and Profiles 392 Understanding the Friending Process 392 Understanding User Profile Functionality 393 Configuring Community Member Templates 396 OnTrek's User Profile User Control 397 Under the Hood 404 Community Groups 408 How Users Discover Community Groups 409 Creating a Community Group 409 Configuring Community Group Templates 411 xviii
OnTrek's Group Profile User Control 412 Under the Hood 416 Dashboards 419 What's on the Dashboard? 419 Using the Dashbard Components and Widget Spaces 420 Activity Streams 422 Using Activity Streams to Your Advantage 422 Under the Hood 428 Micro-Messaging 433 Micro-Messaging Strategies 433 Adding Micro-Messaging to the User Profile 435 Under the Hood 437 Take Home Points 438 CHAPTER 12: CREATING THE CATALOG OF PRODUCTS FOR THE ECOMMERCE STOREFRONT 441 Use Case 442 Understanding the Technology 444 Configuring ecommerce 444 Managing Major Configuration Options 445 Configuring the Settings for Shipping and Taxes 461 Creating a Catalog and Product 467 Creating Product Types 468 Creating a Catalog 471 Creating a Product 473 Coupons 481 Product Reports and Order Management 485 Reports 485 Order Management 488 Take Home Points 489 CHAPTER 13: CONSTRUCTING THE ONLINE STOREFRONT WITH ECOMMERCE 491 Use Case 492 ecommerce Server Controls and Implementation 494 Browsing Experience Controls 495 Purchase and Maintenance Controls 506 OnTrek ecommerce Implementation 516 Custom Order Workflow 525 Windows Workflow Foundation Basics 526 Creating a Custom Activity 527 xix
Building a Workflow 531 Using a Custom Workflow in an Ektron Site 535 Building a Payment Gateway Provider 536 Brief Overview of Payment Gateways 537 Creating a Gateway Provider 538 Installing the Gateway Provider into the OnTrek Website 543 Take Home Points 544 f^rawmg^^^^sra^ffi^^^f ii^hmbttuivihuai^uiduk i CHAPTER 14: DEPLOYING YOUR WEBSITE 547 Pre-Conditions for a Successful Deployment 548 Creating the Discovery Collateral 548 Completion of the Development Process 549 Creating the Staging Environment 549 Content Is in a Staged Environment 550 Completion of System Testing 551 Understanding the Different Deployment Scenarios 554 Understanding the Basic Terminology 554 Determining the Content Flow 555 Moving Content with or without esync 558 Moving Content with esync 558 Moving Content without esync 561 The Deployment 563 Installing Your Website on Another Server 563 Securing the Server 567 Take Home Points 568 CHAPTER 15: MAINTAINING YOUR WEBSITE 571 Creating an Effective Maintenance Plan 571 Capturing Data 572 Analyzing Data 572 Acting upon Data 573 Maintaining Content Freshness 573 Running Content Reports 574 Performing "Spot Checks" 576 Maintaining Availability 577 Maintaining Performance 579 Maintaining Usability 581 XX
Maintaining (and Building) Reach 582 Maintaining Calm During Disaster Recovery 584 Take Home Points 585 CHAPTER 16: NEXT STEPS 587 Reviewing What You Learned 587 Connecting with Ektron and the Online Community 588 A Quick Review of Ektron's Technical Support 589 Don't Forget Your Account Manager 589 Utilizing Ektron's Professional Services and Training Packages 590 Leveraging Online Developer Resources 590 The Framework API 591 CMS Extensions 591 Integrating Ektron with a Content Delivery Network 591 Building Your First Ektron ecommerce Site 592 Utilizing the Ektron ecommerce APIs 592 Introduction to the Ektron ecommerce Workflow Engine 592 Creating Your Own ecommerce Payment Gateway Provider 593 Hands On with the Content Targeting Widget 593 Introduction to Ektron esync 593 Introduction to the Ektron Marketing Optimization Suite 594 Ektron Widgets in Version 8 594 Writing an RIA Application with Ektron 594 Take Home Points 595 APPENDIX A: CMS EXTENSIONS 599 Benefits of Ektron Framework, Version 8 599 Building Your Extension 600 Available Strategies and Overrides 600 The Completed Extension 602 Registering Your Extension 603 APPENDIX B: FRAMEWORK API 605 Working with the Framework API 605 Framework Object Constructors 605 xxi
Where to Find the Framework API 606 CRUD Operations on Content 607 Create 607 Retrieve 607 Retrieving a List of Data 608 Update 609 Delete 609 Take Home Points 609 APPENDIX C: PERFORMANCE CHECKLIST 611 Hardware Requirements 611 Appropriate SQL Server Deployment 611 Appropriate and Judicious Caching 612 Code Profiling 613 Compiled Site 613 Event Error Maintenance 613 Gzip Response Compression 613 Externalize Resources and Use CDNs Where Applicable 613 Request Minimization 614 Glossary 615 INDEX 625 xxil