The CLI itemres command
The Sitecore Items as Resources plugin includes an itemres command. This command creates an item package in a resource file with configurable options.
To install the Items as Resources plugin, run the following code:
Usage
You can use the command as follows:
Subcommands
You can use the following subcommands:
create- creates a resource package.unicorn- creates a Unicorn resource package.cleanup- cleans up database items contained in .dat files if the item data in both entries are equal. This subcommand is available for CLI 4.1 or later.
The create subcommand
The create subcommand creates a new items and resources package. The CLI names the package based on the convention items.{databaseName}.{providedName}.dat.
You can use the following options with the create subcommand:
-o, --output <OUTPUT>- Required. Package path to output. The extension is added if not provided.--overwrite <OVERWRITE>- Overwrite an existing package.-i, --include <INCLUDE>- Include module configurations. Wildcards and multiple values are allowed.-e, --exclude <EXCLUDE>- Explicitly exclude module configurations. Wildcards and multiple values are allowed.-c, --config <CONFIG>- Path to the rootsitecore.configdirectory. Default: current working directory.-v, --verbose- Report additional diagnostic and performance data.-t, --trace- Report additional diagnostic and performance data.-?, -h, --help- Help for the command.
Examples:
Create a package that includes all modules
Command:
Result: Creates the items.{databaseName}.TestPackage.dat file. The file includes all modules.
Create a package in a specific folder
Command:
Result: Creates the items.{databaseName}.TestPackage.dat file in the test folder. The file includes all modules.
Duplicate package name without overwrite
Command:
Result:
Duplicate package name with overwrite
Command:
Result: Creates and overwrites the package.
Include specific modules
Command:
Result: Creates the package and includes only the Project.Content.Test module.
Command:
Result: Creates the package and includes only the Project.Content.Test and Project.Content modules.
Include modules with wildcards
Command:
Result: Creates the package and includes only the Project.Content.Test module, found with a wildcard prefix.
Command:
Result: Creates the package and includes only the Project.Content.Test and Project.Content.Test1 modules, found with surrounding wildcards.
Command:
Result: Creates the package and includes the Project.Content, Project.Content.Test, and Project.Content.Test1 modules, found with a wildcard suffix.
Exclude specific modules
Command:
Result: Creates the package and includes only the Project.Content and Project.Content.Test1 modules, excluding the Project.Content.Test module.
Command:
Result: Creates the package and includes only the Project.Content.Test1 module, excluding the Project.Content and Project.Content.Test modules.
Exclude modules with wildcards
Command:
Result: Creates the package and includes only the Project.Content and Project.Content.Test1 modules, excluding the Project.Content.Test module with a wildcard prefix.
Command:
Result: Creates the package and includes only the Project.Content module, excluding the Project.Content.Test and Project.Content.Test1 modules with surrounding wildcards.
Command:
Result: Creates the package and excludes the Project.Content, Project.Content.Test, and Project.Content.Test1 modules with a wildcard suffix.
Combine include and exclude filters
Command:
Result: Creates the package and includes the Project.Content and Project.Content.Test1 modules with a wildcard suffix and excludes the Project.Content.Test module.
Command:
Result:
Run from outside a Sitecore project
Command:
Result:
Command:
Result: Creates the package in the samples folder.
Generate diagnostic output
Command:
Result: Creates additional diagnostic and performance data, such as a root config path or count of nodes with performance, for example, 73ms (8.1ms/node).
Command:
Result: Creates additional diagnostic and performance data, such as FSIndex: Loaded filesystem indices in, for example, 70ms (9 metadata), or created package of 1 trees in, for example, 1983ms (9 items; 220.3ms/node).
The unicorn subcommand
The unicorn subcommand creates a new items and resources package from Unicorn serialization with the specific name format items.{databaseName}.{providedName}.dat.
You can use the following options with the unicorn subcommand:
-p, --path <INCLUDE>- Required. Path to Unicorn serialization.-o, --output <OUTPUT>- Required. Package path to output. The extension is added if not provided. Multiple values are allowed.--overwrite <OVERWRITE>- Overwrite an existing package.-c, --config <CONFIG>- Path to the rootsitecore.configdirectory. Default: current working directory.-v, --verbose- Report additional diagnostic and performance data.-t, --trace- Report additional diagnostic and performance data.-?, -h, --help- Help for the command.
Example:
Command:
Result: Creates the items.{databaseName}.TestPackage.dat file.
The cleanup subcommand
The cleanup subcommand cleans up database items in .dat files if the item data in both entries are equal.
This command triggers a full cache cleanup, and it can cause performance degradation. It should be executed during a maintenance window.
You can use the following options with the cleanup subcommand:
-f, --force- Force items cleanup without field comparison. Available from version 5.1.28.-w, --what-if- Simulate items cleanup without deleting items. Available from version 5.1.28.-p, --path- Sitecore item path or GUID to clean up. Required for Sitecore 10.3 if using the--forceor--what-ifoptions.-r, --recurse- Recursively clean up all items under the specified path.-c, --config <CONFIG>- The path to thesitecore.jsonconfiguration file. Default:cwd.-n, --environment-name <ENVIRONMENT_NAME>- Named Sitecore environment to use. Default:default.-v, --verbose- Report additional diagnostic and performance data.-t, --trace- Report additional diagnostic and performance data.-?, -h, --help- Help for the command.
You can use the --what-if option to determine whether an item would be overridden, and to identify its storage location.
Examples:
Clean up all eligible items
Command:
Output:
Force cleanup without field comparison
Command:
Output:
Simulate cleanup without deleting items
Command:
Output:
Force cleanup for a specific item path
Command:
Output: