Passion project: Preview and restore backups via the OpenProject web interface

Passion project: Preview and restore backups via the OpenProject web interface

Estimated reading time: 2 minutes

Backing-up your data is vital to your business. In order to guarantee that data will not get lost, continuous backups in separate locations should be essential. In the event of an accident, data can then quickly and easily be recovered.

Preview and restore backups in OpenProject via web interface

Data is at the core of operations, decision-making, and customer interactions. As businesses rely increasingly on digital information, the importance of safeguarding and protecting that data cannot be overstated. In the event of system failures, cyberattacks, or human errors, a comprehensive database backup and restore strategy becomes paramount.

Passion project: Preview and restore backups via the OpenProject web interface.
Why: It is essential for your business to create backups and have the possibility to restore them easily.
How: Easily create, preview and restore backups in OpenProject via the web interface.
What: Implement a new mechanism to preview and restore a backup by an administrator in OpenProject.

Backups in OpenProject

Currently, for OpenProject self-hosted and cloud version, restoring a backup is neither quick nor easy. With the help of our documentation, you need to work with the command line on the server in order to restore the backup. In the case of the OpenProject Enterprise cloud, customers need to create a support ticket to get a backup restored.

Right now, when a user creates a backup via the user interface in OpenProject, previously created backups through the user interface are discarded. Of course, backups via the command line or our backups for the cloud will be retained.

What we have done

With this feature created during our passion time, past backups will be displayed and can be previewed and restored easily through the web interface.

In the administration there would be a list of all past backups that can be seen, previewed and restored by all users with respective permissions. The creator of the backup is displayed.

Next to each backup there will be a “preview” and “restore” button. This then does the following:

  • it creates a new schema in the database
  • it imports the (database) backup into this schema
  • it sets a session variable like current_schema
  • the user then sees just the data from this schema, not the current (public) state
  • if this variable is set the user will be shown a special banner indicating that they are looking at a past state. This also includes a button to switch back to the present.

Mockup to preview a backup in OpenProjectMockup to preview and restore a backup in OpenProject

After all, the feature allows administrators to create, preview and restore past backups quickly and easily and without having to use the command line. It will be easy to switch between different backup versions.

What’s next

For the future, since we have a backup API, we could even allow importing another running OpenProject instance.