Skip to main content

Enum MetaFileSystemLocation

Represents the different storage locations available in the MetaFileSystem infrastructure.

Namespace: Workspace.XBR.Xperiflow.MetaFileSystem

Assembly: Xperiflow.dll

Declaration
public enum MetaFileSystemLocation

Examples

// Framework location - implicit path resolution
var frameworkClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Framework
);
var config = frameworkClient.GetFileContentStringAsync("config/settings.json").Result;

// Routine location - explicit protocol
var routineClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Routine
);
var script = routineClient.GetFileContentStringAsync("routine://scripts/process.py").Result;

// Meta location - requires explicit protocols for all paths
var metaClient = MetaFileSystemClientFactory.CreateClient(
sessionInfo,
MetaFileSystemLocation.Meta
);
var frameworkFile = metaClient.GetFileContentStringAsync("framework://config/app.json").Result;
var routineFile = metaClient.GetFileContentStringAsync("routine://scripts/task.py").Result;
var sharedFile = metaClient.GetFileContentStringAsync("shared://templates/report.xlsx").Result;

Remarks

The MetaFileSystem provides a unified abstraction layer over multiple Azure Blob Storage containers, each serving a specific purpose within the XperiFlow architecture. This enum provides strongly-typed access to these logical storage locations, which are mapped to physical connection keys via Workspace.XBR.Xperiflow.MetaFileSystem.IConnectionReferenceFactory.

Path Resolution Behavior:

  • Framework, Routine, and Shared locations: Support both explicit protocol paths (e.g., "framework://my/path") and implicit paths (e.g., "my/path"). When no protocol is specified, the path is automatically scoped to the location's default protocol.

  • Meta location: Provides unified access to all storage locations but requires explicit protocol specification in all paths (e.g., "framework://", "routine://", "shared://"). Implicit paths are not supported when using the Meta location.

Important: This enum represents only the most commonly used connection keys. Additional connection keys may exist in the MetaFileSystem that are not represented by this enumeration. For advanced scenarios requiring custom connection keys, use the string-based overloads available in the MetaFileSystem API.

Fields

Unknown

Represents an unknown or uninitialized storage location.

Declaration
[EnumMember]
Unknown = -1
Remarks

This value is used as a sentinel for error handling and validation scenarios. It should not be used for normal MetaFileSystem operations.

Framework

Represents the Framework storage location for system-level configuration and framework resources.

Declaration
[EnumMember]
Framework = 0
Remarks

The Framework location stores core system resources, configuration files, and framework-level assets that are shared across the entire XperiFlow platform. This includes application settings, system templates, and infrastructure configuration.

Path Resolution: Supports both explicit protocol paths ("framework://path/to/file") and implicit paths ("path/to/file"). When no protocol is specified, the path is automatically resolved with the "framework://" protocol prefix.

Routine

Represents the Routine storage location for executable scripts, workflows, and routine-specific artifacts.

Declaration
[EnumMember]
Routine = 1
Remarks

The Routine location stores executable code, Python scripts, workflow definitions, and artifacts generated by routine executions. This is the primary storage location for user-defined business logic, data processing scripts, and automation workflows within XperiFlow.

Path Resolution: Supports both explicit protocol paths ("routine://path/to/script.py") and implicit paths ("path/to/script.py"). When no protocol is specified, the path is automatically resolved with the "routine://" protocol prefix.

Shared

Represents the Shared storage location for cross-application data and collaborative resources.

Declaration
[EnumMember]
Shared = 2
Remarks

The Shared location stores data and resources that are shared across multiple applications, users, or organizational units within the XperiFlow ecosystem. This includes shared datasets, common templates, reference data, and collaborative workspaces.

Path Resolution: Supports both explicit protocol paths ("shared://path/to/data.xlsx") and implicit paths ("path/to/data.xlsx"). When no protocol is specified, the path is automatically resolved with the "shared://" protocol prefix.

Meta

Represents a unified Meta location that provides cross-location access to all storage locations (Framework, Routine, and Shared).

Declaration
[EnumMember]
Meta = 3
Remarks

The Meta location is a special unified storage location that enables access to files across all underlying storage locations (Framework, Routine, and Shared) through a single MetaFileSystem client. This is particularly useful for operations that need to work with resources from multiple locations or when the storage location is determined dynamically at runtime.

Path Resolution: Unlike other locations, the Meta location requires explicit protocol specification for all file paths. You must use fully-qualified paths with protocols ("framework://", "routine://", or "shared://"). Implicit paths without protocols are not supported and will result in errors.

Use Cases:

Was this page helpful?