Learning Sitecore - A beginner tutorial on Sitecore CMS
This post is for developers who just started to learn Sitecore CMS basics. It gives brief description on some of the basic Sitecore concepts and provides links to detailed posts where ever possible.
Prerequisite: It is required to be a .NET developer and have good understanding on ASP.NET MVC.
Basics on CMS and Sitecore
A brief on what Content Management Systems (CMS) are - Wikipedia link
What exactly a CMS is and some common features of any CMS solution - CMS and its key features
List of CMSs available in the market - List of CMS - Wikipedia link
Why Sitecore as the Content Management Systems?
Official Sitecore website links
Some basic Sitecore concepts
Databases in Sitecore: When Sitecore is installed, it creates few databases for the internal CMS functionality. 'Core', 'Master', 'Web' are the three important databases which are created, there are other databases also created which are used for user Sessions and website Analytics. Here is the detailed description on the databases - Core vs Master vs Web
Publishing in Sitecore: Publishing is the concept of pushing the content changes from one database to another (may be from Master to Web database).
Purpose of publishing queue and different types of publishing in Sitecore: Publishing queue, Incremental publish vs Smart publish vs Republish
Sitecore also provides 'Transfer' option which is similar to 'Publish'. Here is the post which desribes the purpose of these two options in Sitecore - When to use what
Here are the steps to perform Publish or Transfer in Sitecore - Steps to perform Publish, Transfer
Deployment in Sitecore: Deployment is required to push changes from one Sitecore instance to another Sitecore instance. For example, to move the changes from a development environment to a test environment we need the deployment.
Deployment options: 'Packaging' and 'Serialization' are the two options available in to deploye changes in Sitecore - Packaging vs Serialization in Sitecore
Here are the steps on how to create and install a Sitecore package: Creation and installation of Sitecore packages
Steps to do Serialization and Deserialization in Sitecore - How to serialize and deserialize in SItecore
CM, CD Instances: To scale a Sitecore webite, Content Management and Content Delivery are separated. Here is the detailed description on both - CM vs CD and their architecture
Sitecore admin pages: There are some pages provided by Sitecore for CMS administration. Here is the list and along with their purpose: List of Sitecore admin pages
Sitecore Roles and Permissions: For a new instance of Sitecore, this post provides the complete information on how to setup custom Security roles and permissions from the scratch.
Getting started with development
Sitecore Installation: Once you are comfortable with some basic theory, you can install Sitecore in your machine and get started. To install Sitecore you need
- Sitecore license file - This you can get from a Sitecore partner, may be the company you are working for, if they have one. The other option is to get a developer trial license using this link - Developer license
- Sitecore executable (.exe) - Only a Sitecore certified developer can download Sitecore from their official website. So you can get in touch with any certified developer who might download it for you.
Here is a link to Sitecore 8 installation guide. If this seems complicated, there are lot of tutorials online for you with simple installation steps.
Setting up dev environment for Sitecore: Once Sitecore installation is completed, its time to setup Visual Studio solution to do some development activities. Here is the link for the same - Visual studio setup for Sitecore
Creating a page in Sitecore: Things get easier and clear only when we create a sample page in Sitecore. This gives a complete understand on how a page is built and rendering in the browser. This example gives understanding on layouts, placeholders, renderings, templates with simple steps - How to create a new page
Renderings in Sitecore: This post helps you understand what renderings are in Sitecore and the different types of renderings available. It also gives an idea on what layouts and placeholders are in Sitecore - What are Renderings in Sitecore and their purpose
Controller rendering: This example provides steps to create a controller rendering in Sitecore - Creating controller rendering
View rendering: A simple example on view rendering in Sitecore - Creating view rendering
Rendering parameters: Rendering parameters can be used to pass parameters to Sitecore presentation components. They are used to control the presentation of a dynamic component in Sitecore - implementing rendering parameters
Some concepts to understand
Versioned vs Shared vs Unversioned fields: This example explains what templates and fields are in Sitecore and the differences between the Versioned, Shared and Unversioned fields in Sitecore. It also states the scope of each of these fields in different scenarios - Versioning the fields
Versioned vs Final layouts: - The concept of Shared and final layouts have been introduced with Sitecore 8. This post explains what Shared and final layouts are and the differences between them - Versioned vs Final layouts
Il continue to update this post with whatever resources I find. Thanks for reading. Please do comment and share your thoughts.