Collaboration
Sharing and Working Together
Share a project by role, edit it live with others, see who is present, work offline, resolve conflicts, and restore earlier versions or deleted items.
On this page
Every Holarch project lives on the Holarch server. You decide who can open it and what each person may do: Owner, Editor or Viewer. Everyone with access works on the same project at the same time. Each change is saved to the server and reaches the others within about a second. Holarch keeps earlier versions of every project automatically, and a deleted project stays in the Trash for 30 days.
Concepts
- Member: an account with a role in a project. Roles apply per project: being an owner of one project gives no access to another.
- Role: what a member may do. Every project has at least one owner.
- Invitation: an email with a link that adds a person to the project with a role. The link is valid for 7 days.
- Live editing: each edit travels to the server as a small change to one field. The server forwards it to everyone who has the project open.
- Presence: the people who have the project open right now, and the page or item each one is on.
- Conflict: two people changed the same field before either saw the other's change, or someone edited an item that someone else deleted at the same time. The newer change is in place; the other is kept for review.
- Quarantine: changes that were refused because they are damaged, too large or unsafe. They are listed, not applied.
- Earlier version: a saved copy of the whole project. Holarch keeps the last 20 saves and one save per day for 30 days.
- Trash: where a deleted project stays for 30 days before it is deleted for good.
- Organization: a group such as a class or a team. A project can belong to one organization; its settings (for example, whether AI may be used) then apply to the project. Belonging to an organization gives no access to its projects.
Roles
| Role | Can do |
|---|---|
| Owner | Everything an editor does, plus invite people, change roles, remove members, transfer ownership, choose the project's organization and delete the project. |
| Editor | Edit all content, restore earlier versions and export. Editors see the member list but do not manage sharing. |
| Viewer | Read and export. Edit controls, comments and the AI control are turned off. |
The Roles legend at the bottom of the Share dialog repeats these in short form: "Edits, shares, transfers and deletes the project", "Edits content and restores earlier versions", "Reads and exports; cannot change anything".
How to use it
When and why
Share a project as soon as more than one person works on the system model: when a team splits requirements, architecture and verification work, when a reviewer needs to read the model before a milestone review (SRR, PDR, CDR), or when an instructor follows a student team. Roles answer the question "who may change the baseline?": give Editor to the people who build the model, Viewer to reviewers and stakeholders, and keep Owner for one or two people who manage access.
Share a project with your team
- Open the project and click Share at the right of the top bar. You can also press ⌘K and choose Share Project…, choose Share Project… in the project menu (click the project name at the start of the top bar), or choose Share… in the project's row menu (⋯) under Manage Projects.
- Under Invite people, type the person's email address and choose a role: Owner, Editor (the default) or Viewer.
- Click Invite. A notice reads "Invitation sent to name@example.com." and the address appears under Pending invitations with its role and expiry date.
- The person receives an email titled "Your name shared “Project” with you". People without an account create one from the link; people with an account sign in and join. See Your Account.
- When they accept, they move from Pending invitations to Members with the role you chose.
Change access later
- Open Share.
- To change a role, choose another role in the menu next to the member's name. A notice confirms it, for example "Dana is now Viewer."
- To remove someone, click ⋯ next to the member and choose Remove from Project…, then Remove. They lose access at once; if they have the project open, it closes for them.
- To cancel an invitation that was not accepted yet, click Revoke next to it under Pending invitations, then Revoke. The link stops working.
Hand the project to someone else
- Open Share, click ⋯ next to the new owner (an editor or viewer) and choose Make Owner and Transfer….
- Under Your access afterwards, choose Editor, Viewer or No access.
- Click Transfer. The notice reads "Name is now the owner." You are no longer an owner.
To add a second owner without giving up your own ownership, change the member's role to Owner instead.
Leave a project
- Open Share.
- Click ⋯ next to your own name and choose Leave Project…, then Leave. The project disappears from your list. An owner can invite you again.
The last owner cannot leave. Make someone else an owner first, or transfer ownership.
Edit together
- Open the project. When others have it open, their round badges appear next to the save status at the top, after the live indicator ⇄.
- Point at a badge to see the person's name, role and the page or item they are on, for example "Dana (Editor) · Requirements".
- Edit as usual. Your changes reach the others within about a second, and theirs reach you.
- When someone else changes items, a notice names them and the number of items, for example "Dana changed 3 items. Show changes". Click Show changes to list the items and fields.
- Click the people next to the save status at any time for Changes by Others…, Conflicts (n)… and About Working Together.
Resolve a conflict
- When a conflict occurs, a red badge such as 1 conflict appears next to the people at the top. Click it, or click the people and choose Conflicts (1)….
- Each entry shows the item and field, the value In place (and who made it) and the value Kept here.
- Choose one:
- Keep Mine, or Keep with the other person's name (for example "Keep Dana’s"): keep that value. The entry disappears.
- Edit…: for text values, combine both versions in a text box and save the result.
- For an item that was deleted while you edited it: Keep Deleted leaves it deleted; Restore with This Edit brings it back with the edit applied.
- Open jumps to the item when it still exists.
Restore an earlier version
- Click the project name at the start of the top bar and choose Restore Earlier Version…, or choose Restore Earlier Version… in the project's row menu under Manage Projects.
- Select a version in the list (columns Saved, Entities, Name, Size). The preview shows what restoring changes: a summary, then a table with Change, Entity, Field, Current and After restore.
- To find the version that still holds a deleted item, type its name under Find versions containing and click Find. The list narrows to versions that contain an entity with that name, with a Contains column. Show All brings the full list back.
- Click Restore. The notice reads "Restored the version saved date and time. Undo (⌘Z) to go back." The state before the restore is kept as a version too.
Everyone with the project open receives the restored state; their pages reload it and show a notice.
Worked example: review the CubeSat EO-1 model before SRR
This example uses the CubeSat EO-1 demo project (Manage Projects → Project Files ▾ → Create Demo Project).
- Open CubeSat EO-1 and click Share.
- Invite your systems engineering lead as Owner, the payload engineer as Editor and the review board chair as Viewer.
- The payload engineer accepts and opens Requirements. Their badge appears next to your save status; pointing at it shows the page they are on.
- You both edit the text of the same requirement in the System Requirements Specification at the same moment. One change wins; the other appears under Conflicts with both values. Choose Edit…, merge the two wordings, and save.
- The review board chair opens the project and sees the View only banner: "You can read and export this project. Ask an owner for edit access." They read the RVTM and export it, but cannot edit.
- After the review, the payload engineer deletes function F11 by mistake. Restore it from Database → Recently Deleted (see below), or open Restore Earlier Version…, type the function name under Find versions containing, select the newest version that contains it and click Restore.
Tips and good practice
- Keep at least two owners on a team project so access can still be managed when one person is away.
- Give reviewers the Viewer role. They can still export documents, the RVTM and diagrams.
- Before a large restructuring (renumbering, bulk import, restoring a version), tell the team: a restore or import replaces the project for everyone with it open.
- Create a baseline at each milestone review in Project Version Control; earlier versions are pruned after 30 days, baselines are not. See Baselines & Versions.
- Use comments on entities for review discussions instead of editing a field back and forth. See Comments and Reviews.
Common mistakes
- "I invited someone, but they cannot see the project." They have not accepted yet. Check Pending invitations; if the link expired after 7 days, invite them again.
- "The invitation is for another address." The invitation must be accepted by the account with the invited email address. Invite the address they sign in with.
- "An owner cannot leave." The last owner must transfer ownership or make someone else an owner first.
- "My undo did not undo a teammate's change." ⌘Z undoes your own changes only.
How it connects
- Account and sign-in: invitations create accounts and add members. See Your Account.
- Organizations: an owner links a project to an organization under Organization in the Share dialog; the organization's AI setting then applies. See Administration and AI.
- Storage: files an editor adds to your project count toward the owners' storage. See Storage and Limits.
- Baselines and review packages: a restore or a conflict resolution is a normal edit and appears in the project history and suspect-link checks.
The Share dialog
The dialog's title is Share followed by the project name in quotes. Done closes it.
| Part | Who sees it | Contents |
|---|---|---|
| Invite people | Owners | Email field, role menu (Owner, Editor, Viewer), Invite. Note: "They get an email with a link that is valid for 7 days. People without an account create one from that link." |
| Members (n) | Everyone | Each member with initials, name, email and role. You are listed first with "(you)". Owners get a role menu and ⋯ per member; others see the role as a label. |
| Pending invitations | Owners | Each open invitation: email, "Invited by name · expires date", role, Revoke. Empty: "No pending invitations." |
| Organization | Owners who belong to an organization, or when the project has one | A menu with None and your organizations. Others see the organization's name. |
| Roles | Everyone | The role legend. |
Editors and viewers see "You are Editor in this project. Only owners invite people and change roles." at the top.
Member menu (⋯)
| Item | Shown for | Result |
|---|---|---|
| Make Owner and Transfer… | Owners, on an editor or viewer | Opens Transfer Ownership. |
| Remove from Project… | Owners, on another member | Confirm Remove Member: "Name (email) loses access to this project." |
| Leave Project… | You, unless you are the last owner | Confirm Leave Project: "You lose access to this project. An owner can invite you again." |
Changing your own role
When an owner lowers their own role, Holarch asks first: Change Your Own Role — "You become Editor and can no longer manage sharing." Click Change My Role to continue. If you are the last owner, your role cannot be changed.
Organization
Choose an organization under Organization to link the project to it; choose None to unlink it. Notices: "The project now belongs to Organization." or "The project belongs to no organization." When the organization has turned AI off, the dialog shows "AI is turned off for this organization by its administrator." The note under the menu reads: "The organization's settings apply to this project, such as whether AI may be used. Membership in the organization gives no access to the project."
View-only mode
When your role is Viewer:
- A banner under the top bar reads View only "You can read and export this project. Ask an owner for edit access." with Show members, which opens the Share dialog.
- Fields read as plain text. Buttons that change the model (new, delete, rename, import, apply, restore and similar) are turned off; pointing at one shows "View only: ask an owner for edit access".
- The ✦ AI control is off: "View only: AI tools need edit access".
- Export, open, search, filter, zoom, present and help controls keep working.
- Any attempt to change something, including dropping a file on the page, shows "View only: ask an owner for edit access."
When an owner changes your role while the project is open, the page follows at once: "Your role changed to Viewer: this project is now view only." or "Your role changed to Editor."
Live editing and presence
The live area sits next to the save status at the top of an open project.
| Element | Meaning |
|---|---|
| ⇄ | The live connection. Point at it: "Live: changes go to the server and reach everyone in this project at once." When the connection is down it is dimmed: "Offline: changes are kept on this device and sent when the connection is back." |
| Badges | Up to four other people with the project open. Point at one for name, role and current page or item. |
| Text | Who is in the project, or Live or Offline when you are alone. |
| Red badge | "n conflict(s)" or "n quarantined". Click it to open Conflicts. |
Click the live area for the menu:
- Changes by Others…: the items and fields each person changed since you opened the project, grouped by person. Empty: "No changes from others since this project was opened."
- Conflicts (n)…: the Conflicts dialog.
- About Working Together: the Help topic.
Undo with others
⌘Z and ⇧⌘Z undo and redo your own changes only. When someone changed a field after you, that field keeps their value.
Saving, offline and reconnect
The save status in the top bar shows the state of your changes:
| Status | Meaning |
|---|---|
| Saved and the time | Everything is on the server. Point at it for the time of the last save. |
| Saving… | Changes are on their way. |
| Offline – changes kept on this device | The connection is down. Keep working: changes are kept in this browser and sent when the connection is back. Click the status to reconnect at once. |
| Not saved — retrying / Not saved | The server did not answer or refused the save. Click the status to retry now. A copy is kept in this browser. |
| Not saved — changed on the server | Someone saved the project in a way that replaced its state (for example from another window) after it was opened here. |
When the project was replaced on the server, Holarch asks Project Changed on the Server: "“Project” was changed on the server (by another member, or in another window or tab) after it was opened here. Saving now would replace those changes. Whichever version you do not keep is saved under Restore Earlier Version." Choose Load the Version on the Server or Keep This Window’s Version.
When an owner restores or imports the whole project, or this page was offline too long, open pages reload it: "Reloaded the project from the server: it was replaced there (restored or imported), or this page was offline too long." Changes not yet sent are sent after the reload.
Losing access while the project is open
When you are removed, or an owner moves the project to the Trash, the project closes and you return to Manage Projects:
- "You no longer have access to this project." or "This project was moved to the Trash by an owner."
- When changes were not sent yet, the notice adds "n changes were not saved." and Download a copy, which saves the project as a
.jsonfile.
Session ended
When your session ends (see Your Account), the sign-in screen appears with "Your session ended. Sign in again to continue; unsaved changes are kept in this browser." After you sign in, the changes are sent.
Conflicts and Quarantine
The Conflicts dialog lists every conflict as a card. With none: "No conflicts. Edits that clash with someone else’s appear here for review." The note above the list reads: "These edits were made at the same time as someone else’s (or to an item someone deleted). The newer one is in place; the other is kept here. Choose which to keep."
| Control | Result |
|---|---|
| Keep Mine / Keep with the other person's name | Keeps that value as an ordinary, undoable edit. |
| Edit… | Text values only. Opens Edit Value with both values; the text you save becomes the value. |
| Keep Deleted | For an item deleted while edited: it stays deleted. |
| Restore with This Edit | Brings the deleted item back with the edit. If it is no longer in Recently Deleted: "The item cannot be restored: it is no longer in Recently Deleted." |
| Open | Opens the item. |
Edits to timestamps and diagram layout are merged quietly (last change wins) and are not listed.
Quarantine (n) appears under the conflicts when changes were refused: "Changes that were refused because they are damaged, too large or unsafe: changes from the server that this page did not apply, and changes of yours that the server did not accept." The table shows When, File, Reason and Start of the content. Clear List empties it. When the server refuses your changes, a notice says "The server refused n changes (reason). They are listed under Conflicts → Quarantine."
Earlier versions
Holarch saves a version of the project automatically while you edit (about once a minute), before a restore, and before the project is deleted.
- Kept: the newest 20 versions, plus the newest version of each day for the last 30 days.
- Who: every member can list versions; editors and owners can restore one.
- Restoring is one undo step and replaces the project for everyone. The state before the restore is saved as a version first.
- Messages: "No earlier versions of this project yet.", "Choose a version first.", "No saved version contains an entity with that name.", "n of m versions contain “term”.", "Restore failed: reason".
For named, permanent snapshots at milestones, use baselines in Project Version Control (project menu). See Baselines & Versions.
Deleting and the Trash
Deleted items
Items you delete inside a project go to Database → Recently Deleted (the tab next to the filters). Restore brings one back with its relationships; Restore All brings all back; Empty clears the list after the confirmation Empty Deleted Entities ("Clear the Deleted list? Its entities can no longer be restored from here. (Undo still brings them back.)"). Deleted items are also kept in earlier versions.
Deleted projects
Only owners delete a project: Manage Projects → ⋯ → Delete this project…. The confirmation reads "Delete "Project" for every member? It stays in the server's Trash for 30 days, then it is deleted for good." Everyone with the project open loses it at once (see above).
To get a project back from the Trash within 30 days, ask a site administrator: they use Restore from Trash on the Projects tab of the Admin console. See Administration. After 30 days the project, its versions and its members are deleted for good.
Shortcuts
| Keys | Action |
|---|---|
| ⌘K then Share Project… | Open the Share dialog. |
| ⌘Z / ⇧⌘Z | Undo / redo your own changes. |
Messages
| Message | Meaning and fix |
|---|---|
| "Enter a valid email address, such as name@example.com." | The invitation address is not an email address. |
| "This person is already a member of the project." | Change their role instead. |
| "A project needs at least one owner. Make someone else an owner first." | You tried to lower the last owner's role. |
| "A project needs at least one owner. Transfer ownership first." | You tried to remove or leave as the last owner. |
| "Only an owner of this project can do this." | Ask an owner. |
| "You have view-only access to this project." | The server refused an edit from a viewer. |
| "Invitation not found." | The invitation was accepted, declined, revoked or expired. |
| "Member not found." | The member left or was removed meanwhile. |
| "Too many attempts. Try again later." | You sent too many invitations (30 per hour). Wait, then try again. |
| "Removed name." / "Invitation revoked." / "You left the project." | Confirmations. |
Limits
- Invitation links are valid for 7 days. Inviting the same address again replaces the earlier invitation.
- Each person can send 30 project invitations per hour.
- Accepting an invitation never lowers an existing role: a viewer invited as editor becomes editor; an editor invited as viewer stays editor.
- Earlier versions: newest 20 plus one per day for 30 days.
- Trash: 30 days.
- A project you cannot open looks the same as one that does not exist.
Related
Last updated October 7, 2026