Sitecore Cookbook for Developers - A development guide

My heartfelt thanks to readers of my book - "Sitecore Cookbook for Developers", and those who gave positive feedback on Amazon and PacktPub. Thank you all for appreciating my efforts of 1.5 years I put into in finishing the book! I'm really happy to see how the Sitecore community welcomed it.

If someone takes 2-5 hours to publish a quality blog post, then a quality recipe covered in this book will surely take 15-20 hours to finish it with better content and quality, and yet by strictly following PACKT Publishing multi-stage workflow. The effort was not about just writing 83 recipes for this book, but also for taking care of keeping table of content up-to-date, keeping latest content, taking and editing screenshots, bettering the content, maintaining context for the reader, providing content for beginners to expert level readers, providing useful and meaningful knowledge in limited pages, etc. and that is without being a professional or experienced author. That's why sadly saying, more than 20 well cooked recipes had to give sacrifice. After all, the intention after this book was not money, but giving a better book to Sitecore community!

This overburdened situation I named as "Sitecore Overloaded" :). And that was the main reason I kept myself far away from writing blogs and forums for last few months.

Last week, I attended Sitecore MVP Summit and Symposium 2016, which gave me chance to meet other MVPs, and many Sitecorians. I also met some Sitecore friends who were looking for a good Sitecore development training or book or tutorials, and seriously they were not aware of this book or its content. And I am delighted, it helped them. Intention for writing this blog is providing Table of Contents of this book, which some Sitecore community members requested me while Symposium.

Sitecore Cookbook for Developers - A Development Guide

Table of Contents of Sitecore Cookbook for Developers

Chapter 1: Basic Presentation Components

  • Creating a simple content page using template and layout
  • Creating a sidebar menu using view rendering and RenderingModel
  • Creating breadcrumb using the view and custom model
  • Creating carousel using view and controller renderings
  • Placing renderings dynamically using placeholders
  • Empowering the Experience Editor using placeholder settings
  • Restricting or swapping rendering controls on placeholders

Chapter 2: Extending Presentation Components

  • Altering rendering behavior using component properties
  • Creating strongly typed rendering parameters
  • Achieving asynchronous operations using a custom device
  • Creating multilingual content pages
  • Generating RSS feeds for syndicated items
  • Improving site performance by caching renderings
  • Personalizing components

Chapter 3: Customizing the User Interface Framework

  • Adding a custom command to item context menu
  • Creating a gutter to show unpublished items
  • Creating a Sheer UI application using XAML control to list products
  • Creating a SPEAK application to list and sort products
  • Searching and fi ltering products using SPEAK
  • Building a custom form to bind product details using SPEAK
  • Creating a custom editor tab in the Content Editor
  • Creating a custom experience button using the Field Editor
  • Creating a custom rule to validate item fields
  • Creating a custom sorting routine to sort the content tree items
  • Creating a custom fi eld to save the date time with time zones

Chapter 4: Leveraging the Sitecore Backend

  • Working with multiple sites
  • Customizing pipelines to achieve a custom 404 page
  • Creating a custom event handler to auto-publish on an item save
  • Achieving a site-specifi c URL pattern for a multisite environment
  • Initializing hooks to subscribe events to prepare an audit trail
  • Creating jobs to accomplish long-running operations
  • Using a scheduling agent to delete older item versions
  • Scheduling database tasks

Chapter 5: Making Content Management More Efficient

  • Using dictionary domains for multilingual sites on multisite environment
  • Creating vanity URLs for marketing purposes using an alias item
  • Centralizing common content using a clone item
  • Using a wildcard item to integrate external content
  • Placing dynamic content in the Rich Text Editor by replacing tokens
  • Adding a custom tool to the Rich Text Editor to generate tokens
  • Dealing with user-generated content using an Item Web API
  • Storing external content using a custom cache

Chapter 6: Working with Media

  • Restricting malicious fi les being uploaded to the media library
  • Downloading the media library folder
  • Protecting media fi les under a disclaimer
  • Achieving responsive images
  • Serving media fi les from CDN or external storage

Chapter 7: Workfl ow and Publishing

  • Creating a custom action using workflow
  • Achieving time-based automated publishing
  • Unpublishing of items
  • Using publishing events to send a publish completion e-mail
  • Publishing fi le-based items using web deploy
  • Clearing an HTML cache based on published items for multisite environment
  • Customizing the publishItem pipeline to avoid duplicate names on a live site

Chapter 8: Security

  • Working with a custom user profile
  • Creating custom access rights for an item
  • Achieving a single sign-on by creating a virtual user with custom roles and rights
  • Preventing Sitecore from applying security
  • Implementing extranet login

Chapter 9: Sitecore Search

  • Indexing, searching, sorting, and paging content using a search query
  • Creating a computed index fi eld for categorization
  • Refining search results by tagging based facets
  • Achieving the autocomplete feature with a wildcard
  • Influencing search results with boosting
  • Hunting MoreLikeThis results
  • Correcting a search with did you mean
  • Managing millions of items using an item bucket

Chapter 10: Experience Personalization and Analytics Using xDB

  • Personalizing experience based on goals and Engagement Values
  • Personalizing content by predicting a visitor's profile
  • Storing visitor information in xDB contacts
  • Extending xDB by creating a custom contact facet
  • Creating a custom rule and condition for personalization
  • Automating the engagement plan
  • Finding nearby places using the Geolocation service
  • Aggregating xDB data to generate custom reports
  • Extending analytics reports using custom dimensions
  • Creating section-specifi c analytics reports using custom dimensions

Chapter 11: Securing, Scaling, Optimizing, and Troubleshooting

  • Profiling and tracing content pages to find out the slowest operations
  • Transferring items from one database to another
  • Making security-hardened environments
  • Adding multiple publishing targets for scalability or preproduction
  • Creating clustered instances for scalability and performance
  • Getting high availability of Sitecore instances
  • Improving the performance of Sitecore instances

Appendix A: Getting Started with Sitecore

  • Installing Sitecore
  • Creating a Visual Studio project
  • Debugging a Sitecore application

Appendix B: Tools and Resources for Sitecore Developers

  • Useful tools for Sitecore developers
  • Useful resources for Sitecore developers

Looking for the sample chapter?

You can check it out from Scribd.

This book is a good resource for beginners to experts, or even trainees in Sitecore, If you like the book, please do not hesitate to give feedback or reviews on Amazon or PacktPub. Or even if you have suggestions for next editions, please do not keep them in your mind, it will help others in future.

P.S.:  Getting likes or reviews on a book is as difficult as easy it is to get likes on a short social media post.