Skip to main content

Workspace File System (and API)

What is a workspace​

Your work in Octostar is scoped in one or more workspaces. For example, a workspace can contain the scope of a specific investigation.

Workspace objects (WSO)​

As a Octostar user, you can save your work on dashboards, link-charts, and other apps into workspace objects. They will behave like files: you can open, update, close, and delete them.

You can upload files of any type to WSFS (binary, text, multimedia, etc), as long as Octostar has installed an app to visualize it once you click on them. For more information Workspaces and the files

WSFS magic folders and files​

The workspace file system has a set of "magic folders" and conventions which ultimately allow different groups of people to enjoy a customized experience

These are:

  • /system folder. This contains system wide configuration files like os_settings.yaml regulating verius aspects of apps and platforms advanced_settings.yaml settings that can be used by APPs, Templates etc, and not related specifically to this specific workspace. Private (https://app.clickup.com/t/24535548/DEV-520)
  • /apps folder. This contains the apps:
    • One folder per app
    • See Writing APPs (General) for details on the app manifests and others
  • /templates contains custom record templates
  • /dashboards contains semantically bound dashboards

How magic folder/files collisions are handled​

It could be that 2 or more currently opened workspaces have magic folders which could contain overlapping files.. e.g. there could be 2 apps with the same name or 2 workspaces defining advance_settings.yaml

Workspace priorities Private (https://app.clickup.com/t/24535548/DEV-521)

The first thing we define is the natural ordering of workspaces, defined as:

  • The workspace priority (the lowest highest). This is a parameter at workspace creation. cannot be set less than 100 for regular users. Administrators can set it up to 1.
  • In case of collision still (same priority), the older workspace will have priority.

Collisions are handled according to cases:

  • Not really collisions: Sometimes a double entry will simply mean more options for the users. If there are 2 templates defined for the same record a user might simply see both templates available
  • True collisions: An app showing twice (same version / etc) will not be run twice, instead only the copy in the workspace with the highest priority will run

When a user clicks on a workspace object, Octostar will select the app designated to open it, and if that is your app, the init method of your app will be called with the content of the workspace object delivered as a context.