This is an attempt to help to prepare people for this certification based on the notes I gathered to prepare myself. This assumes you have some previous Sitecore Knowledge since the content is composed mainly of links from Sitecore documentation.
Note: I did read the children of the links and not only the link. I suggest to do the same since it gives you a deeper understanding of the topics. Although, the certification does not go into lot of details of implementation.
Competency 1: Sitecore structure & platform—12%
- https://doc.sitecore.com/xp/en/users/101/sitecore-experience-platform/the-content-editor.html
- https://doc.sitecore.com/xp/en/users/101/sitecore-experience-platform/the-experience-editor.html
- https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/101/Sitecore_Experience_Platform_101_Update1.aspx
- https://doc.sitecore.com/xp/en/developers/90/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html
- https://sitecore-community.github.io/docs/documentation/Sitecore%20Fundamentals/Patch%20Files
- https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/rule-based-configuration.html
- https://support.sitecore.com/kb?id=kb_article_view&sysparm_article=KB0406145
- https://sitecore.stackexchange.com/questions/25991/identity-server-container-fails-to-launch-due-to-license-error-using-headless-ge
- https://mattneil.co.uk/2017/07/10/sitecore-experience-editor-buttons-and-their-uses/
[From Sitecore] To meet this competency, you need to be able to do the following:
- Define Sitecore-specific terminology in a Developer context. Terms include Content Editor, Experience Editor, component, rendering, placeholder, template, layout, item, and serialization.
- Differentiate between Sitecore MVC and Sitecore Headless Development methods, tools, and processes at a high level.
- Identify the different deployment options for a Sitecore Experience Platform environment (e.g., on-premise, containers, Managed Cloud).
- Install Sitecore Experience Platform on a development workstation without the use of containers.
- Create a .NET solution with the appropriate projects for your development method.
- Execute development tasks assigned from a development plan for a Sitecore environment.
Tips:
- What is patching and how to control patch file sequence (load order)
- Best practices for multisite structure in Sitecore
- Template is the data structure in Sitecore
- How to manage multiple domain bindings in Sitecore?
Competency 2: Security & user management—16%
- https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/securing-experience-manager.html
- https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/sitecore-security.html
- https://doc.sitecore.com/xp/en/users/93/sitecore-experience-platform/workflows-and-the-workbox.html
- https://doc.sitecore.com/xp/en/users/93/sitecore-experience-platform/the-workbox-commands.html
- https://doc.sitecore.com/xp/en/developers/91/platform-administration-and-architecture/the-security-roles.html
[From Sitecore] To meet this competency, you need to be able to do the following:
- Create users and roles within the Sitecore platform.
- Configure the security roles to meet the needs of the business and use cases of the environment.
- Configure item security properly for existing and future items.
- Manage permissions for items, roles, and users.
- Identify when security rights are conflicting and resolve the conflict.
- Use role inheritance to simplify role creation and management.
- Use the Sitecore publishing features to publish items and sites to the appropriate databases.
- Configure item workflows for Content Authors, Editors, and Publishers.
Tips:
- How to unlock a user?
- Remember that one roles that denying access overrules other roles accesses.
- Sitecore Domains. What is extranet used for?
Competency 3: Item management—20%
- https://doc.sitecore.com/xp/en/developers/101/sitecore-experience-manager/data-templates.html
- https://doc.sitecore.com/xp/en/developers/101/sitecore-experience-manager/the-standard-template.html
- https://doc.sitecore.com/xp/en/users/101/sitecore-experience-platform/managing-items.html
- https://doc.sitecore.com/xp/en/developers/100/sitecore-experience-manager/standard-values.html
- https://doc.sitecore.com/xp/en/users/93/sitecore-experience-platform/workflows-and-the-workbox.html
- https://doc.sitecore.com/xp/en/developers/91/sitecore-experience-manager/insert-options.html
- https://byteium.com/2019/08/content-sharing-and-links-in-sitecore
[From Sitecore] To meet this competency, you need to be able to do the following:
- Define Sitecore-specific terminology in a Developer context. Terms include standard values, insert options, item GUIDs, fields, field types, source values, inheritance, component definition items, layout definition items, placeholder settings items, and package.
- Add items in multiple areas within the content tree, such as templates, component definition items, layout definition items, and placeholder settings items.
- Create templates and standard values and set insert options to match the data structures outlined in a development plan.
- Recognize the differences between the standard Sitecore databases used, such as Web and Master.
- Locate where search indexes are managed.
- Use Sitecore packages to transfer Sitecore items and environment changes to another Sitecore environment.
- Install a Sitecore package.
Tips:
- Purpose of data template and standard values.
- Find the fields that can be re-used in an example (data templates inheritance).
- When a field is not recommended as inherited from base between different templates.
- Sitecore Tokens. Make sure you know what those are.
- Few questions about workflows/workbox
- What is the purpose of a Sitecore support package?
- Why content author are not allowed to edit web database items directly?
Competency 4: Layout & placeholders—10%
- https://doc.sitecore.com/xp/en/users/sxa/101/sitecore-experience-accelerator/layout.html
- https://doc.sitecore.com/xp/en/developers/101/sitecore-experience-manager/versioned-layouts.html
- https://doc.sitecore.com/xp/en/developers/hd/190/sitecore-headless-development/index-en.html
- https://helix.sitecore.com/principles/layout/placeholders.html
- https://doc.sitecore.com/xp/en/developers/102/sitecore-experience-manager/dynamic-placeholders.html
- https://sitecorediaries.org/2019/12/09/sitecore-dynamic-placeholders/
- https://sitecorediaries.org/2019/12/04/what-is-layout-in-sitecore-and-how-can-we-create-it/
[From Sitecore] To meet this competency, you need to be able to do the following:
- Create layout definitions items within Sitecore and set the presentation details for a layout.
- Create a corresponding layout file within your ASP.NET project.
- Explain the difference between a static and dynamic placeholder and give the purpose of each.
- Set presentation details on a template item.
- Create a placeholder settings item.
- Set Allowed controls on a placeholder settings item.
- Define a placeholder on a layout, both dynamically and statically.
Tips:
- A question about dynamic placeholders.
- Dynamic vs static placeholders.
- Versioned layout usage.
- Use of edit frame buttons.
- How to make a field editable or not editable in Experience Editor with Sitecore helpers.
- What are the necessary things to create a layout?
Competency 5: Components, controls, & renderings—26%
- https://doc.sitecore.com/xp/en/developers/101/sitecore-experience-manager/mvc.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-headless-development.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-asp-net-rendering-sdk.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-layout-service.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/view-types.html
- https://doc.sitecore.com/xp/en/developers/hd/190/sitecore-headless-development/headless-development-with-the-asp-net-rendering-sdk.html
- https://mattneil.co.uk/2017/01/17/compatible-renderings-in-sitecore/
- https://helix.sitecore.com/principles/layout/compatible-renderings.html
- https://community.sitecore.com/community?id=community_question&sys_id=64a4e7ed1b0770d0b8954371b24bcbb0#14463
- https://www.jondjones.com/learn-sitecore-cms/sitecore-developers-guide/sitecore-and-mvc/how-to-make-sitecore-use-a-mvc-controller-controller-renderings-explained/
[From Sitecore] To meet this competency, you need to be able to do the following:
- General:
- Differentiate between the different rendering definition items in Sitecore, such as view, controller, and JSON rendering items.
- Set the compatible renderings on a rendering definition item.
- Control component usage by configuring the Datasource Location and Datasource Template fields.
- Set up additional control properties and component parameters.
- Use caching controls on a rendering item to improve environment performance.
- Build components that utilize the Rendering Contents Resolver to access additional information from the Sitecore platform, such as content tree structure and system- based templates.
- Sitecore MVC:
- Create view and controller renderings.
- Differentiate between static component binding and dynamic component binding with placeholders.
- Explain the purpose of Sitecore MVC field helpers.
- Render Sitecore fields as editable in Experience Editor by using Sitecore MVC field helpers.
- Sitecore ASP.NET Core Rendering SDK:
- Create and register model-bound view components, custom view components, and partial view components.
- Explain the purpose of Sitecore tag helpers.
- Rendering Sitecore fields as editable in Experience Editor by using Sitecore tag helpers in component views.
Tips:
- When a model-bound view should be used?
- What is the difference between model bound view and view component?
- Questions mention SXA to refer MCV websites. For example, In non-SXA sites….
- Compatible renderings.
Competency 6: Sitecore Content Serialization—10%
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-content-serialization.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-command-line-interface.html
- https://doc.sitecore.com/xp/en/developers/101/developer-tools/sitecore-for-visual-studio.html
[From Sitecore] To meet this competency, you need to be able to do the following:
- Locate and connect to the source control location for your development project.
- Install the Sitecore Command Line Interface (CLI).
- Log in to Sitecore from the CLI.
- Configure a Serialization module with included paths and rules.
- Execute the CLI commands to push and pull content item from Sitecore.
- Use serialization packages for continuous integration.
- Install Sitecore for Visual Studio (VS).
- Use Sitecore for VS to push and pull content items from Sitecore.
Tips:
- Understand how and where the modules are set (sitecore.json).
- Sitecore CLI and Sitecore for VS (same functionality but different tools).
- Where do we define modules for serialization?
Competency 7: Containers—6%
- https://doc.sitecore.com/xp/en/developers/102/developer-tools/containers-in-sitecore-development.html
- https://support.sitecore.com/kb?id=kb_article_view&sysparm_article=KB0161310
[From Sitecore] To meet this competency, you need to be able to do the following:
- Prepare the files necessary to deploy Sitecore XP to containers.
- Launch a Sitecore environment with docker-compose.
- Set up a Sitecore solution with your own Docker images based on Sitecore provided images.
- Develop and debug within a Sitecore environment running on containers.
Tips:
- Difference between environment variables HOST_LICENSE_FOLDER and SITECORE_LICENSE
- Is container deployment supported for production deployment.
- How do you debug code running in containers?
- What is the purpose of Sitecore Container Registry (SCR)?
Other reference
My notes include some of the links from the below resources as well, but of course they deserve a shot out and reference since I based my preparation on their notes.