What is Serialization in OmniDesign?

What is Serialization in OmniDesign?

Serialization allows developers to easily move and share serialized items across different environments. Serialization is the process that converts database items to text files. OmniDesign introduces content serialization tools, including:

  • Internal tools: CLI (Command Line Interface) and GUI (Graphical User Interface)
  • External tools: TDS and Unicon

Serialization can be done either manually or automatically:

  1. Manual Serialization: Used when you need to push or pull content items to or from an OmniDesign instance on demand.
  2. Automatic Serialization: Utilize the CLI and SVS to activate a watch command, which continuously monitors for changes in OmniDesign and automatically synchronizes serialized items to disk.

Key benefits of OmniDesign Content Serialization:

  1. Version Control: Enables version control using tools like Git, simplifying tracking, comparison, and rollback.
  2. Collaboration: Facilitates collaborative work across multiple developers or teams, improving efficiency in branching, merging, and conflict resolution.
  3. Deployment and Environment Management: Streamlines deployment across different environments, ensuring consistency and reducing deployment errors.
  4. Continuous Integration and Continuous Delivery (CI/CD): Supports CI/CD practices with automated serialization and deserialization, ensuring reliable deployments.
  5. Disaster Recovery and Backup: Simplifies backup creation and restoration, providing added data protection alongside source code.

Configure serialization in OmniDesign step by step:

Step 1: Please email us at connect@oremda.com to get the OmniDesign’s Management Services Package 

Step 2: Install it on your OmniDesign instance using OmniDesign Control Panel -> Install a package or Development Tools -> Installation Wizard.

Step 3: Open the command line interface or PowerShell interface using the administration account and execute the following commands:

  • dotnet new tool-manifest: Creates a dotnet-tools.json file, which serves as a manifest file for .NET Core global tools.
  • dotnet nuget add source -n OmniDesign https://OmniDesign.myget.org/F/sc-packages/api/v3/index.json: Adds a NuGet package source named “OmniDesign” from the specified URL.
  • dotnet tool install OmniDesign.CLI: Installs the OmniDesign Command Line Interface (CLI) tool, enabling developers to interact with OmniDesign environments from the command line.
  • dotnet OmniDesign init: Initializes an OmniDesign project by creating the necessary configuration files and setting up the project structure.
  • dotnet OmniDesign plugin list: Lists installed plugins, providing visibility into the plugins currently integrated into the OmniDesign environment.
  • dotnet OmniDesign plugin add -n OmniDesign.DevEx.Extensibility.Serialization: Adds the OmniDesign serialization plugin.
  • dotnet OmniDesign plugin add -n OmniDesign.DevEx.Extensibility.Publishing: Adds the OmniDesign publishing plugin.
  • dotnet OmniDesign login –authority https://{OmniDesign identity server} –cm https://{OmniDesign instance} –allow-write true: Authenticates with an OmniDesign instance, allowing for write operations during the session.

Step 4: CLI Command Summary

dotnet new tool-manifest
dotnet nuget add source -n OmniDesign https://OmniDesign.myget.org/F/sc-packages/api/v3/index.json
dotnet tool install OmniDesign.CLI
or
dotnet tool install OmniDesign.CLI --add-source https://OmniDesign.myget.org/F/sc-packages/api/v3/index.json
dotnet OmniDesign init
dotnet OmniDesign plugin list
dotnet OmniDesign plugin add -n OmniDesign.DevEx.Extensibility.Serialization
dotnet OmniDesign plugin add -n OmniDesign.DevEx.Extensibility.Publishing
dotnet OmniDesign login --authority https://{OmniDesign identity server} --cm https://{OmniDesign instance} --allow-write true

Step 5: Configure OmniDesign.json and module.json files
The OmniDesign.json file is a project configuration file used in OmniDesign for serialization tasks. It defines settings for how content is serialized, such as the serialization format, root paths, and automation tasks. The module.json file is used specifically for configuring serialization settings for individual OmniDesign modules or features, allowing developers to customize serialization settings for specific modules within their OmniDesign solution.

Step 6: Commands for Serialization

  • dotnet OmniDesign ser pull: Pulls serialized content from an OmniDesign instance to your local development environment.
  • dotnet OmniDesign ser push: Pushes serialized content from your local development environment to an OmniDesign instance.

Examples:

dotnet OmniDesign ser pull (from CMS to solution)
dotnet OmniDesign ser push (Solution to CMS)


Leave a Reply

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