Unicorn Serialization Issue - Cannot perform initial serialization

Issue:

Version 4.1.5 | Options

Warning: your current predicate configuration for at least one configuration does not have any valid root items defined. Nothing will be serialized until valid root items to start serializing from can be resolved. Please review your predicate configuration.

There are dependencies between some configurations, therefore the order in which you sync them is important.

Configurations

Some configurations prevent the 'sync all' checkbox because they include predicates that rely on (currently) invalid root paths. You likely need to sync one or more base configurations.

Foundation.Serialization

Sitecore.Solution.Framework Root items

Initial Setup

Cannot perform initial serialization because the predicate configuration is including item paths which do not exist in the database. The following path(s) are invalid:

  • - master:/sitecore/system/Settings/Buckets/Facets/Feature
  • - master:/sitecore/system/Settings/Buckets/Facets/Foundation
  • - master:/sitecore/system/Settings/Buckets/Facets/Project

MySitecoreSln.Feature.CustomCoreMenu

MySitecoreSln.Feature.CustomCoreMenu

Dep: 1

This configuration's predicate cannot resolve all root items. This usually means the predicate is configured to rely on a parent item that does not exist in the Sitecore database.

The following predicates rely on a missing root path:
- master:/sitecore/templates/MySitecoreSln/Feature
- master:/sitecore/layout/renderings/MySitecoreSln/Feature
- master:/sitecore/media library/MySitecoreSln/Feature

Reference

What is Sync?

Runs a synchronization operation, which will sync serialized items into Sitecore. The serialized state is merged into the database state, making additions, modifications, and deletions (in some cases) as needed.

Note: if you only need to sync part of a configuration, you can use the Update Tree command on the Developer tab of the Sitecore ribbon. When used on a Unicorn item, it performs a partial sync.

What is Reserialize?

This clears the serialized data and refills it with the items in the Sitecore database. This should be done if you add or remove items from your predicate after initial serialization.

Note: if you only need to reserialize part of a configuration, you can use the Dump Tree command on the Developer tab of the Sitecore ribbon. When used on a Unicorn item, it performs a partial reserialize.

Documentation

Looking for something else? Here are some places to get help.


Solution:

In my case, I was trying to serialize only one item in the Core db content. So, I got rid of the feature serialization extends and dependencies attributes in the feature serialization config since they were irrelevant to my case but, discretion is needed on  a case to case basis. In a different scenario, I would ensure that the required items/folders are present in Sitecore or else, remove those totally from the Foundation.Serialization.config

Comments