Wednesday, October 14, 2020

Offline mirror mode when working with GanttProject Cloud

Many modern project management apps, as well as other software, are built as cloud services. They are great and they work fine, provided that you are online and a lot of servers between your computer and service provider are working normally. They usually do, however, when they don't, it may render very frustrating.

What may go wrong? You Internet service provider may have network issues. Our servers may get down (we do our best to keep them running though!). Even your government may have issues with someone whom you don't even know and may block access to a wide Internet segment because of that.

GanttProject has always been a desktop application and it does not need an Internet connection. But now, when GanttProject Cloud offers a collaborative cloud storage, will it suffer from the same problem of Internet availability? Most likely, no.

GanttProject Desktop app can work with the documents from GanttProject Cloud in two modes: online and mirrored offline. Let's talk a bit about the latter.

The primary storage of a mirrored document is still GanttProject Cloud. When you click Save, you send an HTTP request to our servers and the document is written to the cloud storage. However, it is also saved on your local computer in a slightly hidden place. We call it "mirroring" and we save the file contents and some metadata about the latest sync with the Cloud. Normally this mirror is identical to what is stored in the cloud. It sits in a hidden folder and does not expose itself in any way besides this icon in the status bar:

Status bar indicates if document is available offline

If something wrong happens on the way from you to us, and your desktop GanttProject loses connection with GanttProject Cloud, the document will switch to offline mode and when you click Save, it will write to the local mirror. In the status bar you will see that the document is now Offline and countdown to the next reconnect try

GanttProject is working with the cloud document offline and is trying to reconnect.

Once the connection is restored, GanttProject will try to sync the offline mirror with the Cloud. If Cloud version of the document has not been changed while you were offline, it will just seamlessly switch to online mode, otherwise GanttProject will ask you to resolve the conflict. 

GanttProject shows that your offline mirror has diverged from the online copy

But what happens if you close GanttProject when you're offline and then start it again? How can you find your offline mirrors? Don't worry. If you're offline, "GanttProject Cloud" storage in the File Dialog will show your offline mirrored documents. 

If you're offline, GanttProject Cloud pane in File Dialog shows offline mirrored documents.

Documents which were accessed in online only mode are naturally unavailable when you work offline. Why one may need online mode then? Well, if you access GanttProject Cloud from a computer which you don't trust, you may want to use the online mode. 

You can switch between modes at any moment by clicking the icon in the status bar. It will open a dialog where you can change the online mode, lock or unlock the document or access the revision history.

Starting from update 2911, which is coming soon, GanttProject will open Cloud document in offline mirror mode by default. Have fun, collaborate with your colleagues and build your project plans even when you are offline!