SyncOffice Revision

The current SyncOffice is built based on LibreOffice 7.2 (Windows SyncOffice suite app) and LibreOffice 6.1 (SyncOffice suite app within SyncOS and SyncOffice-VA).

SyncOffice added a Java login extension to LibreOffice, revised some C++ procedures files from LibreOffice source code. Some new C++ procedure files are also added into LibreOffice.

Following screenshot shows an About page of SyncOffice under Windows, which is forked on LibreOffice 7.2.

syncoffice-help-page

From the screenshot, you can find a new top menu bar item has been added: "Login". It's from SyncOffice added Java Login Extension. Java Login Extension is an important part of SyncOffice revision. It will be explained in the next chapter in details.

Apart from Java part, SyncOffice also modified a bunch of C++ source code of LibreOffice, added some C++ files into the project.

The main SyncOffice C++ revisions include:

  • Certificate and login status audit.
  • Certificate attributes data decryption and password salt key calculation.
  • Under login status, apply password salt key when save file with password.
  • Under login status, try applying password salt key if needed when open a password protected file.
  • For password protected file, when file is opening, disable file export, disable file print, and disable some file save options.
  • Limit copy/paste file content from password-protected file to non-password-protected file.

As a comparison, please review the original top-bar menu "File" icon's sub-menu items (after opened a non-password-protected file):

so-topbar-menu-file

After open a password-protected file, the revised menu items changes to:

so-topbar-menu-file2

Also a comparison, please review the original top-bar menu "Save" icon's sub-menu items (after opened a non-password-protected file), and the "Export PDF" and "Print" icons:

so-topbar-menu-save

After open a password-protected file, the revised "Save" menu items changes, the top-bar menu "Export PDF" and "Print" icons are also removed:

so-topbar-menu-save2