Skip to main content
Version: Next

Projects

A project is the unit of authored work. One gateway hosts many projects; each has its own views, scripts, named queries, pipelines, assets and runtime identity binding.

What a project owns

Owned by the projectShared across the gateway
Views (operator screens)Connections
Client and Gateway scriptsThe tag namespace and bindings
Named queriesUser-defined types
Pipelines and their execution historyAlarm definitions (attached to tags)
The asset/file treeThe file library
Its LiveView access policy and identity bindingPlatform users, roles and permissions

The split is deliberate: the plant model is one thing; the applications built on it are many. Two projects can present the same tags to different audiences without duplicating the namespace.

Naming

FieldRules
NameThe URL slug. Lowercase letters, digits, - and _; must start with a letter or digit. No spaces. Immutable in practice — it appears in every LiveView URL.
TitleFree text, shown in the interface. Change freely.
DescriptionFree text.

The name becomes the first path segment of every runtime URL:

https://qubiq.example.com/line1-hmi LiveView home
https://qubiq.example.com/line1-hmi/login runtime login, when identity is bound

Choose it as carefully as you would a hostname.

Lifecycle

A project's states: created into Active, which can be disabled and re-enabled, or trashed and restored, and a trashed project can be purged permanently.A project's states: created into Active, which can be disabled and re-enabled, or trashed and restored, and a trashed project can be purged permanently.
Trashed is reversible. Purged is not.
StateEffectPermission
ActiveNormal. Pipelines run, LiveView serves.
DisabledPipelines stop, entry is blocked, all data is retained. Fully reversible.Manage projects
TrashedRemoved from the project list, retained for 30 days, then eligible for permanent deletion.Manage projects
PurgedPermanently deleted.Manage projects
DeletedImmediate deletion, bypassing the trash.Delete projects

Disabling is the right tool for "take this offline, keep everything" — an out-of-service line, a project pending review, a commissioning environment. Trash is for "I believe this is finished" with a safety net.

Permissions

ActionPermission
See the project list and open a projectView projects
Create a projectCreate projects
Edit name, title, descriptionEdit projects
Disable, enable, trash, restore, purgeManage projects
Delete outrightDelete projects
Export/import the view treeManage the Designer
Export/import a project backupManage projects (import: Create projects)

Permissions reference

Project resources

Everything a project contains is addressed under one namespace and served through a single resource API, which is also what LiveView loads at runtime.

ResourceWhat it is
ManifestThe project's declared structure: views, routes, exports, settings.
ViewsOne resource per screen, addressed by slug.
ScriptsClient scripts (browser) and Gateway scripts (server-side Python entry points).
Named queriesSaved, parameterised queries with their connection baked in.
Access policyWho may view the project's runtime, and how.
FilesImages, models, documents and other assets in the project tree.

Resources are optimistically locked: saving a view carries the revision you loaded, and a conflicting concurrent save is rejected rather than silently overwriting. Two engineers on the same screen get a conflict to resolve, not a lost edit.

Runtime identity binding

A project may be bound to a User Database — an external identity source for its operators.

  • Unbound (default): LiveView is public. Anyone who can reach the URL sees the screens.
  • Bound: LiveView requires a runtime login at /{project}/login, and runtime roles govern what each operator may see and write.

The binding is authoritative and is written only through its dedicated endpoint — never through the project manifest, so an author cannot grant themselves access by editing a resource.

LiveView authentication

Backup and transfer

Two granularities:

ScopeContainsUse for
Project backupOne project's resources, assets and pipeline definitionsMoving an application between environments
Gateway backupConnections, namespace, tags, bindings, alarms, UDTs, users and the project registryDisaster recovery, machine migration

Both can be passphrase-encrypted; only an encrypted archive carries connection secrets.

Backup & restore

Next

Connections