User Guide
02.5 · Projects

Project Locking, Permissions and Linked Projects

Project Locking

When you open a project, TX1 attempts to create a ProjectLock. The lock includes:

  • The user ID and machine name.
  • A timestamp and expiry (default 1 hour, refreshed on activity).
  • A pointer to the shared database profile (if applicable).

While a lock is active:

  • You can edit freely.
  • Other users see the project in read-only mode with a banner showing who holds the lock.
  • The status bar shows 🔒 and the lock holder.

Releasing a Lock

  • Automatically on project close or TX1 exit.
  • Automatically on lock expiry.
  • Manually via Project → Release Lock (admins can release another user's lock).
Tip

Warning — Never kill the TX1 process while a shared-database project is open. The lock may linger until expiry.

Permissions

ProjectPermission lets you grant individual users specific roles on a project:

RoleCan
ViewerOpen and read.
EditorEdit items, resources, notes.
ApproverEditor + mark items Approved / Complete.
OwnerAll above + manage permissions + delete.

Users without an entry inherit from their global role plus folder-level access control (15.2).

Linked Projects

A LinkedProject references another project's data and aggregates it into a parent. Common use cases:

  • A programme project that sums multiple packages.
  • A portfolio project showing total spend across phases.

How It Works

  • The parent project has one or more LinkedProject rows pointing to child project IDs.
  • The parent's Direct Cost grid shows child totals as read-only synthesised rows.
  • Changes in the child update the parent live.

Limitations

  • Linked children cannot be inside a folder you don't have access to.
  • Circular links are prevented.
  • Overheads / markups are not linked — only cost totals.

Project Locks in a Shared Database

When a SharedDatabaseProfile is configured (multi-user setup), locks are the single authoritative source of truth for "who has this project right now". Set the profile up from Settings → Shared Database.