sitemap.xml llms.txt
Skip to main content

Project Entities

These entities are used by the Project adapter and encapsulate data objects used by the Epicenter Project API.

Enums​

Access type​

The ACCESS_TYPE enum defines project access levels.

ValueDescription
PRIVATEOnly the owner can access.
PUBLICPublicly accessible, no login required.
AUTHENTICATEDParticipants must authenticate to access the project's simulations.

Worker partition​

The WORKER_PARTITION enum identifies which compute cluster a simulation runs in.

ValueDescription
NONENo partition - the simulation cannot run.
ALLAny cluster
FREEFor admins' personal accounts
LICENSEDShared with other paying customers
ACCOUNTDedicated compute for the account

Phylogeny​

The PHYLOGENY enum identifies a project's phylogeny.

ValueDescription
ORIGINALOriginal version
HISTORICALIn this version, the run replay data for Excel, Simlang, and Vensim models is stored in a more compact and efficient format.
REFERENTIALChanges the way the run replay data is stored for Python3 models.
ORDEREDA further improvement to the way the run replay data is stored for Excel, Simlang, Vensim, Powersim, and Stella models.
EVENTUALUpdated the naming convention of the events that are sent to the model. For example, now the events are called onInitialized, onRestored, etc.
TRANSMOGRIFIEDImproves the way Epicenter runs proxies.
REANIMATEDChanges the default run start-up ritual.
SILENTInhibits push channel notifications unless allowChannel is true for the entity, which by default is false.

File type​

FileType is a string-literal union type describing a file system as case-sensitive or case-insensitive.

ValueDescription
INSENSITIVEcase-insensitive
SENSITIVEcase-sensitive

Channel protocol​

The CHANNEL_PROTOCOL enum identifies the server used for a project's push notifications.

ValueDescription
OUMUAMUAForio's push notification server
COMETDThe legacy CometD-based push notification server

Interfaces​

ProjectMember​

A ProjectMember object describes a member of the admin team. The members property of a project contains an array of ProjectMember objects.

Properties​

  • role: ROLE.AUTHOR - The role of the admin. Always the literal value ROLE.AUTHOR (see the ROLE enum).
  • adminKey: string - Unique key identifying the admin
  • objectType: 'project' - Type of object

Deployment​

A Deployment object stores the deployment settings of a project in the deployment property of a personal or team project.

Properties​

  • defaultGroupName: string - The group name used to create a group after an SSO login.
  • autoCreatePlayer: boolean - If true, a new user record is created automatically on first login.
  • loginFile: string - The redirect destination after logout, timeout or unsuccessful authentication.
  • welcomeFile: string - The page that opens after a successful authentication.
  • groupFile: string - The page where a user can select a group after authentication.

Types​

Project​

Project is a union type for projects, which can be either:

Team project​

The TeamProject interface contains the properties of a team project.

Properties​

  • concurrentRunLimit: number - Maximum concurrent runs allowed for the project
  • modelFile: string - The name of the model file to load for the project
  • available: boolean - Availability status
  • allowWorldSelfAssign: boolean - If true, allow simulation participants to move from one classroom to another. When false, a facilitator must assign participants to the classrooms.
  • objectType: 'team' - Identifies this as a team project.
  • accessType: ACCESS_TYPE enum value - The project's access level
  • sessionTimeoutSeconds: number - Idle time in seconds before a model can be removed from memory.
  • projectKey: string - A globally unique project identifier
  • members: ProjectMember[] - List of project admins
  • channelEnabled: boolean - If true, the users can receive push notifications about entities that have allowChannel set to true.
  • workerPartition: WORKER_PARTITION enum value - Worker partition type. Overrides the account-level worker partition setting.
  • name: string - A descriptive name for the project
  • phylogeny: PHYLOGENY enum value - The project's phylogeny. Always set to latest system level at the time of project creation.
  • multiPlayerEnabled: boolean - Whether multiplayer features are enabled
  • shortName: string - A project identifier unique for the account. Used in the project URL.
  • approximateRunCount: number - Estimated run count
  • pricing: { amount: number } - Project owners can decide to charge users. This is the amount (in cents) for a user to sign up.
  • dataRetentionDays: number - The number of days Forio stores the project data.
  • fileType: FileType value - The file system containing project files can be case-sensitive or case-insensitive.
  • dimensions: 'UNIVERSE' | 'MULTIVERSE' - Dimensional scope
  • deployment: Deployment - Deployment configuration
  • channelProtocol: CHANNEL_PROTOCOL enum value - Identifies the server used for push notifications.
  • legacySettings: object - Legacy configuration flags retained for backward compatibility:
    • blockDirectApiCalls: boolean
    • channelAuthorizationRequired: boolean
    • filePermissionsActive: boolean
    • showEmail: boolean
    • transmogrifierActive: boolean
    • dataApiAllowAnonymousAccess: boolean
    • channelVersion: number
    • authorizationMode: 'LEGACY' | 'USER'
    • dataApiEnforceScope: boolean

Personal project​

The PersonalProject interface contains the properties of an admin's personal project.

Properties​

  • concurrentRunLimit: number - Maximum concurrent runs allowed for the project
  • available: boolean - Availability status
  • objectType: 'personal' - Identifies this as a personal project.
  • accessType: ACCESS_TYPE enum value - Access level
  • sessionTimeoutSeconds: number - Idle time in seconds before a model can be removed from memory.
  • projectKey: string - A globally unique project identifier
  • workerPartition: keyof typeof WORKER_PARTITION - Worker partition type. Overrides the account-level worker partition setting.
  • name: string - A descriptive name for the project
  • phylogeny: PHYLOGENY enum value - The project's phylogeny. Always set to latest system level at the time of project creation.
  • shortName: string - A project identifier unique for the account. Used in the project URL.
  • approximateRunCount: number - Estimated run count
  • fileType: FileType value - The file system containing project files can be case-sensitive or case-insensitive.
  • deployment: Deployment - Deployment configuration
  • channelProtocol: CHANNEL_PROTOCOL enum value - Identifies the server used for push notifications.
  • channelEnabled: boolean - If true, the users can receive push notifications about entities that have allowChannel set to true.