Snapshot import

Import flow

Snapshot import is currently constructed of multiple steps, that will be explained below.  These steps don't depend on specific element import like parameters or domain.

  1. The zip file is analyzed for the existence of the config.json file.
    • If it exists, then all required elements are fetched. This step is crucial for elements removal during snapshot import.
    • If it doesn't exist, then import snapshot will not delete any elements from the system.
  2. Specific import is launched for each element.
  3. After import was successful and there was proper config.json then, the deletion process of elements, that were not included in the snapshot, takes place.
    • The element can be deleted if it was nowhere to be found in the system. This mechanism is using already existing global search functionality for searching dependencies.
    • If an element is not in use, it can be safely marked for deletion.
    • If an element is in use, then proper messages will be constructed to inform of the dependent element, but elements can't be removed.
  4. After the deletion process, if everything was ok, there is a possibility to automatically publish the user's session. This functionality is controlled with an autocommit flag.