How to Survive in Your First Sitecore Project

Embarking on a new Sitecore project can be challenging, but mastering the fundamentals is essential to thrive in this complex environment. In this post, we will explore five essential pillars to help you succeed in your first Sitecore project.

By understanding the business, building a solid foundation of knowledge, honing your troubleshooting skills, putting it all into practice, and then optimizing your daily work, you’ll be well-prepared for success.

Let’s get started!

1. Understanding the Business

I believe that one of the first steps we should take when starting a software project is to understand the project as a whole. We need to have a high-level and macro view of the entire project to understand where we and our improvements will fit in.

To do this, we need to understand our client’s business first. Start by asking yourself about the following questions:

What product does the client sell?

What services do they provide?

What is the impact of this client on their community?

Asking these types of questions helps us understand specific terms and expressions, as well as the business rules that surround this client. This, in turn, will help us comprehend abbreviations and technical terms used. It will also contribute to understanding the impact of our improvements.

💡 For example, let’s say you’re working with a client who runs a successful e-commerce business selling handcrafted jewelry. Understanding their products, services, and the community’s appreciation for artisanal goods will be crucial. It will enable you to appreciate the importance of showcasing the uniqueness of their products on the website.

It’s not only important to understand our client, but we also need to understand the solution adopted by this client. Since we’re talking about Sitecore, in this context, we need to understand what product they have:

Which platform do they have? Sitecore XP? Sitecore XM Cloud? Sitecore eCommerce? What is the version?

What additional modules does it have? Does it have integrations? Which ones?

What architecture is being used? Composable? Monolithic?

How is their solution organized in Visual Studio? Helix? Is the project based on Webforms, MVC, Headless, or others?

And what about GitHub? What strategy is used for the branch management?

You see, there are many questions to answer, and the answers might be long and somewhat complex. However, don’t aim for something too deep; what we need to know here is the basics that satisfactorily answer most of these questions. This will help us have a global understanding of the project.

2. Building a Solid Foundation

Now that we have an understanding of our client’s business and how their project is structured, we need a solid foundation in the basic knowledge necessary to create and maintain features.

In this regard, you need to learn the following topics:

  1. Templates: This is a vital part of Sitecore, and understanding how they are created and used is of utmost importance. Learn how to create templates, define standard values and insert options, and understand how the inheritance process works and how you can leverage it. Learn about different types of fields and how they function.
  2. Layouts: This is the visual part responsible for creating the entire digital experience. Here, two important concepts come into play: layouts and renderings. Layouts are simple and define the skeleton of a page. Renderings are the small components added to a layout. A rendering could be a banner, a form, a button, among others. At the very least, understand how to create a layout, a controller rendering, and a view rendering. If you are working with Headless, learn about JSON rendering. There are other variants, but they are not as commonly used as those mentioned.
  3. Content Items: Templates and layouts are responsible for much of the foundation of our pages, and now it’s time to learn how to combine them to materialize our site. Understand how to create items from templates and how to set default layouts for certain templates. Learn how to insert renderings into layouts using placeholders. There are two types of placeholders; understand their differences.
  4. Management: You’ve learned to create your pages using templates, layouts, renderings, and content items. In this regard, you should also learn to manage other important aspects of Sitecore, such as users, where you will define permissions and restrictions for each person using the platform. We also have Workflow, responsible for approvals and the publication of new content. Item versioning is important for preserving and backing up content. Don’t forget to understand how languages and translations work so you can translate the text in your renderings into other languages. Finally, I recommend learning how to use the Media Library so you can upload images and use them on your pages.
  5. Packages and Serialization: Using these two tools makes it possible to exchange items between different instances of Sitecore. In this regard, learn how to use the Package Designer and study Unicorn and TDS to understand how serialization works.

3. The Art of Troubleshooting

I know you’re eager to create new things and put your creativity and knowledge into practice as a good software developer. However, your initial tasks may involve maintenance rather than creation!

Therefore, you need to master the ways to identify and map the bugs you encounter. You need to equip yourself with good tools for quick detection of these issues to ensure your success.

In this regard, I recommend that you learn at least the following options:

  1. Logs: This will (almost) always be your best friend. It will store a significant portion of the errors encountered during the malfunction of a page or component. You can access the logs in two ways: by going to the “App_Data/Logs” folder in your webroot or by accessing them via the Launchpad (Desktop mode > Reporting Tools > Log Viewer). (https://alvaropmontenegro.com/2023/04/05/sitecore-for-newbies-5-tips-that-will-save-your-time-part-2/)
  2. Visual Studio: This is the most obvious and primary tool, and you need to have your environment ready at all times to use it effectively. With Visual Studio, you can debug your code and find errors very quickly. Learn to use “Attach to Process” to debug your site within the Sitecore platform.
  3. Developer Tools: If the logs are not providing clear information and debugging in Visual Studio hasn’t been helpful, it may indicate a front-end problem. In this case, there’s another way to understand what’s wrong, and that’s the “Developer Tools” of your browser. This functionality allows you to inspect the entire front-end for errors. You can analyze error messages in the Console tab, check all internal and external calls in the Network tab, inspect elements in the Elements tab to verify classes and styles being applied, and finally, check all the files loaded by the site in the Sources tab. There are also other functions that can be useful for you.
  4. If the above options are not helping, here are some more ideas: try adding logs to your back-end and front-end. These logs should indicate where your code is passing through and reveal how data is or is not being filled. This will help you understand if your code is being blocked or ending prematurely. Try isolating the problem by disabling unnecessary things or settings that are not being used. Test this functionality in other environments. Question why the page and/or rendering works in one scenario but not in another.

💡 For example, let’s say you’ve launched a new feature on your client’s jewelry e-commerce site, and users are reporting issues with the checkout process. You will need to use logs, Visual Studio, and Developer Tools to identify and rectify the issues. These tools will help you debug the code, examine errors in the front-end, and isolate problems effectively.

4. Time to Get Hands-On!

Well, in my opinion, learning a lot of theory without putting that knowledge into practice will not help you tackle real problems. Therefore, install a version of Sitecore on your computer and create a fictional project.

Invent a business name and define its products or services. Create a logo and use images from Google or create your own.

Create a page with some renderings for this fictional business. Create templates, layouts, renderings, inheritance, workflows, and also create a user for yourself. Don’t create something too extensive since you won’t have much time to work on it.

💡 For example, you can install Sitecore locally and create a fictional e-commerce website for your jewelry brand. Set up templates for different jewelry categories, create layouts to display product details, and define a user with administrative privileges to manage the site’s content. This hands-on experience will help you apply your theoretical knowledge and gain a deeper understanding of Sitecore’s practical aspects.

I’m sure that, no matter how well-prepared you are, by doing this, you will encounter several questions and bugs, which will help you better understand and solidify the theoretical concepts.

5. Optimizing Your Work

There are various hidden resources and features in Sitecore, and learning these tips and tricks will optimize your work.

  1. Use Desktop Mode and learn about default and custom keyboard shortcuts.
  2. Utilize tools like Sitecore PowerShell Extensions that will take your speed and efficiency to another level when performing various tasks.

💡 For example, you can use Sitecore PowerShell Extensions to automate routine content management tasks, such as bulk updating product information or generating reports on website performance. These tools will significantly enhance your productivity.

  1. Have a CheatSheet with the most used commands on hand: https://alvaropmontenegro.com/2023/05/01/download-a-free-sitecore-cheatsheet-pdf/
  2. Finally, don’t overlook the excellent programming tools integrated with Artificial Intelligence that have recently entered the market. Use ChatGPT to help you create the foundation of your code or understand complex code written by someone else. There are also IDEs and plugins like Cursor IDE and GitHub Copilot.

Mastering Sitecore involves understanding the business, building a solid foundation, troubleshooting effectively, putting your knowledge into practice, and then optimizing your work. By following these 5 pillars, you can navigate the complexities of Sitecore projects and deliver successful outcomes for your clients.

Sitecore offers a powerful platform for creating exceptional digital experiences, and with the right skills and knowledge, you can harness its full potential. Remember that learning by doing is a key aspect of becoming proficient in Sitecore, and as you gain hands-on experience, you’ll become more adept at solving real-world challenges.

Additionally, exploring and utilizing advanced tools and resources, such as Sitecore PowerShell Extensions and AI-integrated programming tools, will further enhance your capabilities and streamline your work in Sitecore.

➡ Interested on learning more about Cursor IDE? Take a look here: https://alvaropmontenegro.com/2023/06/19/cursor-ide-enhance-your-sitecore-development-with-this-powerful-tool/

➡ Would you like to learn more tips and tricks? Check out my series of videos called [Sitecore for Newbiews] on YouTube: https://youtube.com/playlist?list=PLiKR9MZF170WKknKN65YBd34k0I5JQDGS&si=wOOVSuzvDCXTv3sl

Leave a Reply

Your email address will not be published. Required fields are marked *