did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780470939017

Professional Sitecore Development

by
  • ISBN13:

    9780470939017

  • ISBN10:

    047093901X

  • Format: Paperback
  • Copyright: 2012-05-29
  • Publisher: Wrox

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $44.99 Save up to $11.25
  • Buy Used
    $33.74

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

The book will walk a .Net developer through the process of creating a Sitecore website including the initial installation, .Net development process, using the APIs and deploying the website. Using a linear approach, the book will guide the developer through the process from beginning to end. Installing and Configuring Sitecore .Net Development (setting up the environment, creating layouts and sublayouts) Using the Content API The Layers (Presentation, Data, Business Logic) Advanced Features (Other APIs, Pipelines, Configuration files) Deploying the Website

Author Biography

John West is Chief Technology Officer (CTO) in his eighth year working at Sitecore. With more than 25 years of experience designing and developing software solutions using Microsoft tools and technologies, John West is one of the most experienced Sitecore engineers in the world.

Table of Contents

INTRODUCTION xxix

CHAPTER 1: INTRODUCING THE SITECORE ASP.NET CMS 1

Understanding Web Content Management Systems 2

Introducing Sitecore 3

Logging In 4

Embedded Applications 10

Working with Sitecore 12

Sitecore Company History 13

Sitecore ASP.NET CMS Version History 13

Sitecore Components 14

Sitecore Databases 14

Hosting IIS Websites 15

IIS Application Pool 16

Document Root Subdirectory 16

Data Subdirectory 16

Sitecore Visual Studio Project 17

Sitecore Rocks 17

Take Home Points 17

CHAPTER 2: INFORMATION ARCHITECTURE 19

Introducing Information Architecture 20

Sitecore Items 22

Item Languages, Versions, and Revisions 23

Item Properties 26

Item Structure 28

Definition Items 29

Insert Options 30

Sorting Items 31

Managing ItemURLs 33

How Sitecore Generates URLs 34

How Sitecore Resolves URLs 35

Removing /sitecore/content from URLs 36

Clone Items 36

Alias Items 38

Wildcard Items 39

Sitecore Data Templates 39

Data Template Sections 41

Data Template Fields 42

Data Template Field Types and Categories 42

Data Template Field Properties 46

Standard Values 49

Data Template Inheritance 53

The Standard Template 53

Data Validation 55

Managing Multilingual Solutions 56

Language and Culture 57

Determining the Context Language 58

Falling Back to an Alternate Language 59

Managing Media 60

Sitecore Media Folders 61

Media URLs 61

Configuring the Media Library 64

Media Upload Watcher 65

WebDAV 66

Media Types 66

Configuring MIME Types 68

Media Path Provider 68

Caching Media 69

Sharing Content 69

Importing Content 70

Take Home Points 71

CHAPTER 3: THE LAYOUT ENGINE AND DATA ACCESS APIS 73

The ASP.NET Page Lifecycle 74

The Sitecore Context 77

Layout Details and Layout Deltas 78

Presentation Components 78

Devices 78

Layouts 79

Placeholders and Placeholder Settings 80

Presentation Controls (Renderings) 81

Sublayouts 81

XSL Renderings 82

Method Renderings 82

URL Renderings 82

Web Controls 83

Rendering Parameters and Rendering Parameters Templates 84

Presentation Control Defi nition Item Properties 88

Choosing Presentation Technology 90

Presentation Component Data Sources 90

Conditional Rendering and Personalization 91

The FieldRenderer Web Control and the renderField Pipeline 98

The Page Mode 98

Fundamental Sitecore APIs 99

Sitecore.Confi guration.Factory 99

Sitecore.Data.Database 100

Sitecore.Data.Items.Item 101

Sitecore.Data.Fields.Field and Related Classes 103

Sitecore.Data.ID 104

Sitecore.Data.Items.EditContext, BeginEdit(), and EndEdit() 104

Sitecore.Data.Items.CustomItem 105

Sitecore ID Constants 106

Sitecore Data Access Techniques 107

Direct Item API Access 107

Sitecore Query Access 108

Sitecore Fast Query Access 108

Lucene Search Index Access 109

Internal Links Database Access 113

Recursion 116

Sitecore Web Services 118

Syndicate Content with Sitecore 118

Public RSS Feeds 118

Client RSS Feeds 120

Layout Engine Best Practices 120

Take Home Points 121

CHAPTER 4: SITECORE SECURITY 123

Access Rights 124

Inheriting Access Rights 127

Evaluating Access Rights 127

Setting Access Rights 130

Interpreting Access Rights with the Access Viewer 131

Securing Data Template Fields 133

Applying Access Rights with APIs 137

Security Accounts and Domains 140

Users 140

User Profiles 143

Anonymous Users 145

Context User 146

Roles 146

Everyone Roles 150

Nested Roles 151

Sitecore Client Roles 152

Security Domains 152

Preventing Sitecore from Applying Security 153

Impersonating a Sitecore User 153

Disabling Sitecore Security 154

Requiring Authentication for a Managed Website 154

Integrating and Extending Sitecore Security 155

Confi guring ASP.NET Membership, Profi le, and Role Providers 156

Building Virtual Users 156

Employing Federated Authentication 157

Switching Providers 157

Take Home Points 159

CHAPTER 5: ERROR MANAGEMENT 161

Exception Levels 163

Designing an Error Helper Class 163

Implementing Your Own Exception Classes 167

Trapping Exceptions with try...catch...finally Blocks 168

Handing Errors in Presentation Controls 169

Handing Syntax and Runtime Errors in XSL Renderings 169

Handling Exceptions in Sublayouts 174

Handling Exceptions in Web Controls 180

Hiding Presentation Control Errors 184

Handling Exceptions at the Page Level 185

Handling Exceptions at the Application Level 186

Error Management Pages 187

ASP.NET Error Management Pages 187

IIS Error Management Pages 189

HTTP 404 Not Found 189

System Outages 196

Take Home Points 196

CHAPTER 6: OPTIMIZING, SCALING, AND TROUBLESHOOTING 197

Optimizing Sitecore Performance 198

Leveraging Sitecore Caching 198

Utility Caches 199

Database Caches 199

Site Media Caches 204

Site Output Caches 205

Tuning Cache Sizes 211

Disabling Cache Size Limits 214

Bringing the Most Bits Together 214

Scaling Your Solution 216

Scaling Infrastructure 217

Load Balancing 218

Balancing Content Management 218

Balancing Content Delivery 220

Scaling Publishing 220

Scaling the Database Layer 221

Virtualizing Sitecore 222

Edge Caching and Content Delivery Networks 222

Architecting High Availability 223

Planning Hardware Capacity 224

Troubleshooting Your Solution 225

The Sitecore Log Files 225

Rendering Statistics 227

Tracking Performance Thresholds 229

Debugging in a Browser 229

Debugging with Microsoft Visual Studio 233

Spelunking Sitecore 234

The Web.Config File 234

Web.Config Include Files 235

The /configuration/sitecore Section 236

Reflecting on Sitecore 238

Reviewing Stack Traces 242

Browsing Sitecore Databases 242

Take Home Points 243

CHAPTER 7: EXTENDING AND INTEGRATING SITECORE 245

Determining Types with the Confi guration Factory 247

Extending Sitecore Classes with Extension Methods 249

Leveraging the Sitecore User Interface Framework 250

Introducing Sitecore Commands 250

Extending Ribbons 251

Adding Entries to Item Context Menus 259

Using Content Editor Warnings 260

Overriding Sitecore User Interface Applications 262

Engaging the Rules Engine 266

Validating Data 270

Validating Fields 271

Validating Items 274

Scheduling Sitecore Processes 277

Defining Agents in the Web.config File 278

Registering Tasks in a Sitecore Database 280

Integrating from the Back End 282

Initializing with Hooks 282

Handling Events 282

Processing Pipelines 287

Handing the httpRequestBegin Pipeline 289

Processing the renderField Pipeline 293

Intercepting the renderLayout Pipeline 296

DMS Pipelines 298

Hook, Pipeline Processor, Event Handler, or Rule? 299

Extending the Sitecore Page Editor 299

Take Home Points 306

CHAPTER 8: AUTOMATED TESTING 307

Understanding Automated Testing 308

Complexities of Testing Against Sitecore 309

Testing Techniques for Sitecore 310

The Test Project 311

Creating the Test Project 311

Running the Tests 315

Testing with the HTTP Protocol 317

Implementing Tests over HTTP 318

Limitations of Testing over HTTP 322

Testing Using a Web Browser Driver 322

Implementing Testing with a Web Browser Driver 323

Limitations of the Web Browser Driver Technique 325

Testing with an Embedded Test Runner 325

Implementing an Embedded Test Runner 326

Deploying the Embedded Test Runner 333

Instantiating Controls to Test 334

Implementing Tests that Instantiate Controls 334

Limitations of Testing by Instantiating Controls 335

Invoking the Sitecore API Directly 336

Using Sitecore APIs without an HTTP Context 338

Considering Calling Sitecore APIs Without an HTTP Context 338

Limitations of using Sitecore API outside an HttpContext 342

Working with Test Data 342

Location of Test Data 343

Creating Test Data through HTTP 344

Creating Test Data through the API 347

Creating Test Data from XML 348

Take Home Points 351

CHAPTER 9: MANAGING IMPLEMENTATIONS 353

Approaching Sitecore Projects 354

Prototyping with Sitecore and RAD 354

Prototyping with Traditional RAD 355

Prototyping with Sitecore RAD 355

Facilitating Object-Oriented Coding Techniques 358

Integrating Front-End Markup 359

Integrating Custom Business Logic/Objects 359

Publishing with Sitecore 360

Publishing Modes 362

Republishing 362

Incremental Publishing 362

Smart Publishing 362

Publishing Restrictions 363

Publishing Targets 364

Publishing to Preproduction Sitecore Environments 365

Publishing Media 366

Scheduling Publication 366

The publishItem Pipeline 367

Workflow 367

The Sitecore Workbox 367

Locking and Workflow 368

Workflows 369

Workflow States 369

Initial Workflow State 369

Final Workflow States 370

Workflow Commands 370

Workflow Actions 370

Managing Sitecore Deployments 372

Sitecore Item Serialization 372

Creating a Deployment 373

Deploying to the QA Environment 373

Deploying Additional Changes 374

Deploying to the Production Environments 374

Upgrading Sitecore 374

Team Development for Sitecore 375

Managing Multiple Sites with Sitecore 375

Take Home Points 379

CHAPTER 10: ON BEYOND CMS 381

The Digital Marketing System 382

Engagement Analytics 385

Engagement Automation 387

Testing and Optimization 387

Visitor Profiling 388

Real-Time Personalization 389

Universal Profile Management 390

Campaign Management 390

Dynamic Segmentation 391

Web Forms for Marketers 392

Email Campaign Manager 392

Standalone Sitecore Products 393

Sitecore Intranet Portal 393

Sitecore Foundry 394

Sitecore App Center 394

Optional Modules 395

Active Directory 395

Adaptive Print Studio 395

Calendar 396

dtSearch 396

E-Commerce Modules 397

SharePoint Integration Framework 397

Sitecore Search Engine Optimization Toolkit 397

Sitecore Azure 398

Take Home Points 399

CHAPTER 11: SITECORE BEST PRACTICES, TIPS, AND TRICKS 401

Sitecore Best Practices 402

Managing Sitecore Implementations 403

Estimating Hardware Requirements 404

Administering Sitecore Solutions 405

Architecting Data Infrastructure 406

Designing Data Templates 408

Applying Standard Values 411

Configuring Insert Options 411

Managing Multiple Sites 411

Working with Multiple Languages 411

Storing Relational Data 413

Coding Presentation Infrastructure 414

Automating Publishing Workflow 417

Securing Sitecore Solutions 418

Using the Media Library 420

Maximizing Solution Performance 423

Sitecore Tips and Tricks 424

Optimizing Sitecore Usability 424

Logging In to a Sitecore User Interface 425

Limiting User Interfaces 425

Optimizing the Sitecore Desktop Experience 427

Ctrl+Right-Click 429

Optimizing the Content Editor 430

Maximizing Content Editor Performance 433

Content Editor Keyboard Shortcuts 433

Investigating and Copying Raw Field Values 434

Copying and Moving Items with the Clipboard 435

Sitecore Keyboard Shortcuts 435

Optimizing the Rich Text Editor 437

Rich Text Editor Profi les 438

Rich Text Editor Keyboard Shortcuts 438

Ad Hoc Reports 439

Overlay Icons 439

Showing the Developer Tab 441

Working with the Sitecore Debugger 441

Take Home Points 441

APPENDIX A: RESOURCES FOR SITECORE DEVELOPERS 443

Accessing Sitecore Resources 443

Sitecore Training 444

Sitecore Partners 444

Becoming a Sitecore Partner 444

Benefi ting from Your Sitecore Partnership 444

Sitecore Portal 445

Registering for a Sitecore Account 445

Signing Up for E-Mail Alerts 445

Resetting Your Sitecore Password 445

Sitecore Developer Network 446

Sitecore Documentation 446

Using the Sitecore Developer Network Forums 447

Accessing the Sitecore Shared Source Library 447

Sitecore Blogs 447

Sitecore Demo Sites 447

Virtual and Local Sitecore User Groups 448

The Sitecore Support Portal 448

Sitecore Symposium 449

Sitecore Success Services 449

APPENDIX B: INSTALLING SITECORE 451

Preparing to Install Sitecore 451

Choosing an Installation Strategy 452

Installing Microsoft SQL Server 454

Confi guring an Existing SQL Server Instance 458

Installing Sitecore with the Setup Program 459

Performing a Complete Installation 461

Performing a Database Only Installation 464

Performing a Client Only Installation 465

Installing Sitecore from a Zip or Other Archive 466

Archiving a Sitecore Solution 467

Creating and Confi guring a New Installation 469

Creating a Visual Studio Project 484

Take Home Points 491

INDEX 493

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program