Rights Contact Login For More Details
- Wiley
More About This Title Professional Sitecore Development
- English
English
Professional Sitecore Development offers comprehensive information for programmers learning the CMS and experienced Sitecore developers alike. This guidance can help your organization minimize implementation cost and time to web, increasing revenue while decreasing IT costs. With this book, you will learn how to implement solutions with Sitecore, how the Sitecore architecture enhances the ASP.NET development process, how to use Sitecore’s extensive Application Programming Interfaces, and how to deploy the website.
Professional Sitecore Development provides coverage on a range of topics including:
• Installing and configuring Sitecore
• Implementing an information architecture and transforming content into web pages
• Using the Sitecore security infrastructure, managing errors, and testing automatically
• Managing Sitecore projects, optimizing performance, and scaling Sitecore solutions
• Tips, tricks, and best practices for working with the CMS
• Extending Sitecore and integrating external systems, including coverage of configuration, events, pipelines, and Sitecore’s user interface technology
If you're looking for a solution for web content management, then Sitecore is your answer and this book will get you started using this valuable software today.
- English
English
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.
- English
English
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