Local Mode
Under regular operations, GearConnect stores every item in your project in a database, communicating this with the server in real-time. This real-time syncing happens when you perform actions such as adding gear, making connections, or editing project data.
While this allows for a lot of flexibility with how you work with your project data, not all users require this level of real-time communication and data storage. While editing your projects, this may even be undesirable, as the additional time it takes to sync data can cause delays in your workflow.
Furthermore, often you may be working on-site with limited internet access, so it is required to be able to work offline.
Local Mode, combined with Offline Mode, addresses and enhances all of these situations by saving project data locally on your device first. Project data can then be synced with the server either periodically or manually. This experimental feature can significantly accelerate the editing process, especially for large projects.
You can manage Local Mode settings via Experimental Features in the User Settings dialog.
Installation
There is nothing special about installing GearConnect for use with Local Mode or Offline Mode. Because the app is a PWA (Progressive Web Application), when you first visit the app and open your first project, it will automatically download everything it needs to run the app so that you can use it offline.
You can optionally install the app to your device for faster access by following the instructions for your preferred browser. Chrome instructions can be found here.
Enabling and Options
To enable Local Mode:
- Navigate to User Settings (accessible from the User Info menu in the top right).
- Go to the Preferences tab.
- Under Experimental Features, select your Local Mode preference.
The options available are:
- Disabled: Local Mode is disabled and syncing is done in real-time.
- Sync Periodically: Automatically syncs local changes to the server every 10 minutes if changes have been made.
- Sync Manually: Only syncs local changes to the server when you explicitly request it.
Regardless of which mode you choose, you can always manually sync your project via the Sync with Server button in the File menu or by clicking the Last Synced Time text in the Main Menu Bar.
Basic project data and Version History is still saved to the server when online, but individual project items are only updated upon synchronization.
Syncing
When Local Mode is enabled, all project edits are saved locally first, then can be synced to the server based on your preferences.
Sync Status and Manual Sync
- Last Synced Time: The time of the last successful server sync is displayed next to the Version History button in the Main Menu Bar. Clicking this time initiates a manual sync. When the project has never been synced, it will instead say “Not synced with server”.
- File Menu Option: A Sync with Server button is available in the File Menu which performs the same manual sync action.
Sync Process
Most of this process is seamless and transparent, but under the hood it performs the following actions:
- A periodic sync will warn you before the sync is performed and give you a 10-second countdown to cancel before it starts automatically.
- The project is then locked from editing temporarily, and the current state is saved.
- If this is the first time the project has been synced, then a new project will be created on the server, which will generate new project codes.
- A Project Validation is then performed to ensure data integrity.
- A Version History is created on the server.
- The project is unlocked and re-opened.
- If this was a new project, then it will be opened automatically.
Local Data
When Local Mode is enabled, project data is saved locally on your device first, in your browser’s local database. It then syncs to the server based on your preferences. Even when using Local Mode, so long as you are connected to the internet, you can access all features of the application (minus the Experimental Feature - Real-Time Updates) providing a seamless experience.
The below information can help you understand the status of your projects.
Indicators
Project file cards on the Projects Page display icons indicating their storage status:
- Laptop Icon: Project exists only locally (not yet synced). You may go offline and continue working on the project.
- Cloud Icon: Project exists only on the server. If you go offline, you will not be able to access this project.
- Both Icons: Project is available locally and on the server. You may go offline and continue working on the project.
Managing Local Data
You have several options for managing local data, offering you the flexibility to manage your projects as you see fit.
- Deleting Files: When deleting a project file, the app first attempts to remove it from both the server and local storage. If server deletion fails (e.g., due to network issues) or if the project isn’t present on the server, the file is deleted only from local storage.
- Disabling Local Mode: If you disable Local Mode, project files will no longer be loaded from your local storage. They will be loaded directly from the server. They will continue to be saved to your local storage, for when you switch back to Local Mode.
- Hard Project Load: Performing a hard load when opening the project will reset the project to the last state saved on the server. A warning message will appear, advising about potential data loss if the last sync is significantly outdated compared to your local changes.
- Delete Local Projects: An option to Delete Local Projects is available in the File Menu to clear locally stored project information. Please note that if any projects are not synced to the server, they will be deleted permanently.
- Reset Project Cache: Available in the Tools Menu to clear project data cached locally and from the server. This can be useful if you are experiencing issues with the local project cache and need to reset it.
Offline Mode
Offline Mode is an extension of Local Mode that allows you to continue working on your projects even when disconnected from the internet. It is automatically enabled when you are not connected to any networks.
It can also be manually enabled via the Force Offline Mode checkbox in Experimental Features in the User Settings dialog. This can be useful if you are on a local network that doesn’t have internet access, or if you are working in a location with limited internet access and want to continue working on your projects.
Indicators and Behavior
- An orange Offline bar appears at the top of the application window when active.
- All network requests (excluding essential telemetry) are disabled to allow you to operate offline.
Disabled Features
Certain features relying on server connectivity are disabled while Offline Mode is active:
- Expansion Card/Library Item reference buttons that open the manufacturer’s website.
- Saving new Version Histories.
- Running Project Validation against the server.
- A light weight validation is still performed in the background, however.
- Changing User Settings or Subscription information.
- Reloading the Library.
- Saving or copying items in the Library Editor.
- Logging out.