Skip to content

Sharing Multi User Resources

SightLab 2.9.3 and higher

In SightLab 2.9.3 and higher, SightLab Sync copies shared lessons to every PC for you. With SightLab 2.9.2 or earlier, see SightLab 2.9.2 and Earlier.

SightLab Sync (SightLab 2.9.3 and Higher)

SightLab Sync copies everything in E-Learning Lab's Shared tab from the instructor's PC (the primary) to every other E-Learning Lab PC on the same network. When the instructor starts a multi-user session, client PCs load that lesson from their Shared folder automatically, so nothing has to be imported or copied by hand. To open, edit or run a shared lesson on its own, use Import to Projects first. For all options and troubleshooting, see Sharing Multi User Resources.

Set Up (once)

  1. Open E-Learning Lab once on every PC. SightLab Sync starts in the background, and starts again every time Windows starts.
  2. On the instructor's PC, go to Advanced → Tools → SightLab Sync. In the SightLab Sync window, click Make this machine the primary, check the folder paths it shows, and click Yes. Click Yes again when Windows asks for permission.

    SightLab Sync in E-Learning Lab's Tools

    Confirming the folders the primary shares

  3. Within a few seconds, the other PCs show Receiving from followed by the instructor PC's name.

    A client PC receiving from the primary

PCs that still use Syncthing keep working as before. To hand a folder over to SightLab Sync, see Sharing Multi User Resources.

Sharing a Lesson

  1. On the instructor's PC, right-click the project in Projects and choose Add to Shared. After you edit a project that is already shared, right-click it and choose Update Shared Copy. Participant data folders are never shared.

  2. Within seconds, the project appears in the Shared tab on every PC. A greyed-out project is still being copied. The line above the Shared gallery shows what SightLab Sync is doing; click it to open the SightLab Sync window.

  3. Start the session as usual. When the instructor starts a multi-user session, client PCs load that lesson from their Shared folder automatically, so there's no need to Import to Projects first. The Shared tab itself only offers Import to Projects and Delete: to open, edit or run a shared lesson on its own (for example a Single session), import it first. Participant data is still saved on each PC as before, never in Shared.

If you start an Instructor session and the shared copy of that project is out of date, E-Learning Lab offers Update shared copy and start, then shows how many client PCs are up to date.

Good to Know

  • Progress: on the instructor's PC, the SightLab Sync window shows each client PC's progress. Large lessons can take a few minutes the first time; after that, only changed files are copied.

    The primary, with one PC still copying

  • Deleting: deleting a project from Shared on the instructor's PC removes it from the other PCs' Shared tab too (it is kept in their SightLab Sync trash for 7 days). Copies already imported into Projects are not affected. Deleting from Shared on a client PC only lasts until the next sync.

  • Lessons in use: a lesson that is open in a running session isn't updated until the session ends.
  • Which copy clients load: clients load from Shared only while they are receiving from a SightLab Sync primary; otherwise they use Projects first, as before. A lesson that is only in Projects still loads as before. To change this on one PC, set LESSON_SOURCE in global_config\globalConfig.py on that PC: 'COLLECTIONS' always uses Projects, 'SHARED' always uses Shared first.
  • Changing the instructor's PC: click Make this machine the primary on the new instructor's PC. The old one switches to receiving by itself.

SightLab 2.9.2 and Earlier

Use the steps below with SightLab 2.9.2 or earlier, or if you don't use SightLab Sync.

Overview

For a multi-user session, every machine (the instructor/server and each client) needs its own local copy of the project in its collections folder. There are two ways to get projects onto every machine:

  • Automatically with Syncthing (recommended). Syncthing works both online and offline over a local LAN. It also works across separate networks when used with Radmin VPN.
  • Manually, by copying the project folders to each machine yourself. Use this if Syncthing is not installed or isn't working.

If Syncthing Is Not Installed or Not Working: Copy Projects Manually

Without Syncthing, you have to copy each project in your collections folder to every machine that will join the session. The projects folder is:

C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\collections

Each project is a single folder inside collections. Copy the whole project folder, not individual files.

Ways to copy projects:

  • Shared online link: Zip the project folder and upload it to Google Drive, OneDrive, Dropbox or similar. Share the link, then download and unzip it into the collections folder on each machine.
  • USB flash drive or external drive: Copy the project folder to the drive, then paste it into the collections folder on each machine. This works with no network at all.
  • Windows network share (same LAN): On the instructor machine, right-click the collections folder (or a folder of projects you want to share) and choose Properties → Sharing → Share. On each client, open File Explorer, go to \\<InstructorPCName>\ and copy the project folders across. This is usually the fastest method in a lab where all machines are on the same network.
  • Online Presentation Browser: Projects published to the Online Presentation Browser can be downloaded on each machine. Dragging a downloaded zip file onto E-Learning Lab unpacks it automatically. See Building a New Lesson.

Tips for manual copying:

  • Keep the project folder name exactly the same on every machine.
  • After you edit a project, copy it to every machine again. Replace the old folder so no machine runs an outdated version.
  • If session data is saved in the project folder, it includes a data folder with participant data. Delete or move that folder before sharing the project if you don't want to share that data. See Data Logging and Replay.
  • If a copied project doesn't appear in the Projects list, restart E-Learning Lab on that machine.

Syncthing Setup

Tip

syncthing_autoconfig.bat sets Syncthing up on every PC without typing device IDs. See Syncthing (older SightLab installs).

1. Run Latest SightLab Installer with Syncthing

Run the SightLab exe installer again or request a new link here. This installs Syncthing into a new folder at C:\wvlab\syncthing.

When installed from the SightLab installer, Syncthing runs without a DOS window and starts automatically with Windows (it is added to the Startup menu). The web interface is at http://localhost:8384.

If you installed SightLab with an older installer, install Syncthing manually:

  • Download it from syncthing.net.
  • Run Syncthing once to generate a unique Device ID and initial configuration.
  • Open the web interface at http://localhost:8384.

2. Choose a Primary Machine or Allow Both Send and Receive

If you use a primary machine, it holds the master copy of your shared folder.

  1. In Syncthing, click Add Folder.
  2. Folder Path: point to the E-Learning Lab shared folder:

    C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\shared
    
  3. Folder ID: use e-learning.

  4. Folder Label: optional display name.
  5. (Optional) Under Advanced, set the folder type to Send Only on the primary machine if clients shouldn't send changes back.
  6. Click Save.

Note

If you also share SightLab projects, add a second folder for C:\Users\<username>\Documents\Sightlab2\Shared with the Folder ID shared-projects.


3. Pair Devices

On Each Client Machine
  1. Open the Syncthing web interface (http://127.0.0.1:8384).
  2. Go to Actions → Show ID.
  3. Copy the long Device ID string, or scan the QR code if adding from another device.
  4. Get the Device ID from every machine you plan to pair before moving to the primary machine.
On the Primary Machine

  1. In Syncthing, click Add Remote Device (bottom right).
  2. Paste the client's Device ID, or pick it from the list of nearby devices.
  3. Name: give the device a clear name (e.g., VRClient1).
  4. (Optional) Tick Introducer to have the primary automatically connect new devices to each other.
  5. Under Sharing, tick the e-learning folder. You can also do this in the next step.
  6. Click Save.
Accept on the Client
  • On the client, accept the connection request from the primary:

    "Device PrimaryMachineName wants to connect."

  • Click Add Device, give it a name, then Save.

Once both sides have accepted, the devices are paired and ready to share folders.


4. Share the Folder with Clients

On the Primary Machine
  1. Find the e-learning folder in Syncthing's folder list. If you didn't add it earlier, repeat Step 2 above.
  2. Click the Edit (pencil) icon next to it.
  3. Go to the Sharing tab and tick all the client devices that should receive this folder.
  4. Click Save.
On Each Client Machine
  1. Accept the folder share request from the primary:

    "Device PrimaryMachine wants to share folder e-learning."

  2. Click Add.

  3. Set the Folder Path to the E-Learning Lab shared folder on that machine:

    C:\Users\<username>\Documents\Sightlab2\ELearning\E-Learning Lab\shared
    
  4. Under Advanced, set the folder type to Receive Only on all client machines (if you don't want them to both send and receive).

  5. Click Save.

5. After Setup

  • Syncthing automatically keeps the shared folder in sync between the primary and all clients.
  • Any file added, edited, or deleted in the folder on one machine is reflected on all others.
  • If clients also have write access enabled, changes flow in both directions.

Workflow for Sharing

  1. Right-click any project you want to share and select Add to Shared.
  2. The project appears on the Shared tab on the other machines.
  3. On each machine, right-click the project on the Shared tab and select Import to Projects.
  4. Once everyone has received the project, you can delete it from Shared.

Running Locally

To sync only over a local network with no internet connection:

  1. Go to Actions → Settings → Connections.
  2. Disable Global Discovery and NAT Traversal.
  3. Keep Local Discovery enabled (fastest inside a LAN).

How to Ignore Sub Folders

To ignore sub-folders, in the web interface click Edit on the shared folder, then go to Ignore Patterns. Enter the name of the folder followed by a forward slash (e.g. sightlab_configs/). A .stignore file is also added automatically to the E-Learning Lab shared folder.

Important notes:

  • Use forward slashes (/) even though it's a Windows path.
  • Don't include the drive letter or the synced folder's full path.
  • End with / to indicate it's a directory.
  • The path is relative to the folder you've set up for syncing in Syncthing.

Troubleshooting

If Syncthing still won't work after trying the steps below, use the manual copy method above.

GUI Not Opening in Browser

The GUI opens in a browser even when offline in LAN mode. If it doesn't open automatically, open it manually in your browser:

http://127.0.0.1:8384/

If that still won't load, something (firewall, antivirus, browser plugin) is blocking localhost connections.

Syncthing Not Starting

  1. Stop Syncthing completely (no tray icon, no background process).
  2. Go to this folder:

    C:\Users\<username>\AppData\Local\Syncthing\
    
  3. Rename the database folder so Syncthing will rebuild it: change index-v2 to index-v2.bak.

  4. Start Syncthing again.

Syncthing creates a brand-new index-v2 database and does a full rescan of your configured folders.

  • Your config.xml (devices and folder definitions) is still there, so you don't lose settings.
  • Your files on disk are not touched. Syncthing just reindexes them.
  • The .bak folder is a backup in case you ever need to restore it.

Syncthing Not Syncing

Remove the folder in Syncthing on the receiving client (this doesn't delete the files), then add it again with the same path.

Extra Files Being Added with Conflicts

Syncthing creates *.sync-conflict-YYYYMMDD-HHMMSS-<DeviceID> files whenever two devices modified the same file before syncing.

  • The original file is still there.
  • The *.sync-conflict… copy is Syncthing's way of making sure you don't lose either version.

Safe cleanup options:

  • If you know which version is correct: open the files, confirm the correct one, then delete the conflict files.
  • If you don't need the alternate copy: delete the *.sync-conflict* files and keep only the base ones.
  • If you're not sure: move the conflict files somewhere else (e.g. a conflicts/ subfolder) before deleting them.

How to prevent future conflicts:

  • Designate one "writer" machine (e.g. your primary/instructor machine) and keep the others read-only if possible.
  • In Syncthing, set the folder type on clients to Receive Only if you don't want them to push changes back. See the Syncthing folder types documentation for more information.
  • If you need true two-way sync, conflicts can still happen, but they'll be rare if only one person edits at a time.

The .sync-conflict… files are not required for E-Learning Lab to run. They are duplicates kept for safety, and you can delete them once you've confirmed you don't need them.