Ce document en français.
The use of this software subjects you to our Terms Of Use and Data Protection Policy.
version 1.1.3
mDriveOOo is part of a Suite of LibreOffice and/or OpenOffice extensions allowing to offer you innovative services in these office suites.
This extension allows you to work in LibreOffice on your Microsoft oneDrive files, even while offline.
It uses Microsoft Graph API to synchronize your remote Microsoft oneDrive files with the help of a local HsqlDB 2.7.2 database.
This extension is seen by LibreOffice as a Content Provider responding to the URL: vnd-microsoft://*
.
Being free software I encourage you:
- To duplicate its source code.
- To make changes, corrections, improvements.
- To open issue if needed.
In short, to participate in the development of this extension. Because it is together that we can make Free Software smarter.
The mDriveOOo extension uses the OAuth2OOo extension to work.
It must therefore meet the requirement of the OAuth2OOo extension.
The mDriveOOo extension uses the jdbcDriverOOo extension to work.
It must therefore meet the requirement of the jdbcDriverOOo extension.
On Linux and macOS the Python packages used by the extension, if already installed, may come from the system and therefore may not be up to date.
To ensure that your Python packages are up to date it is recommended to use the System Info option in the extension Options accessible by:
Tools -> Options -> Internet -> mDriveOOo -> View log -> System Info
If outdated packages appear, you can update them with the command:
pip install --upgrade <package-name>
For more information see: What has been done for version 1.1.0.
It seems important that the file was not renamed when it was downloaded.
If necessary, rename it before installing it.
-
Install OAuth2OOo.oxt extension
You must first install this extension, if it is not already installed.
-
Install jdbcDriverOOo.oxt extension
You must install this extension, if it is not already installed.
-
Install mDriveOOo.oxt extension
Restart LibreOffice after installation.
Be careful, restarting LibreOffice may not be enough.
- On Windows to ensure that LibreOffice restarts correctly, use Windows Task Manager to verify that no LibreOffice services are visible after LibreOffice shuts down (and kill it if so).
- Under Linux or macOS you can also ensure that LibreOffice restarts correctly, by launching it from a terminal with the command
soffice
and using the key combinationCtrl + C
if after stopping LibreOffice, the terminal is not active (no command prompt).
Open your Microsoft OneDrive:
In File -> Open enter in the first drop-down list:
- For a named Url: vnd-microsoft://your_email@your_provider
or
- For an unnamed Url (anonymous): vnd-microsoft:///
And validate not by the Open button but by the Enter key.
If you don't give your_email@your_provider, you will be asked for...
Anonymous Urls allow you to remain anonymous (your account does not appear in the Url) while named Urls allow you to access several accounts simultaneously.
After authorizing the OAuth2OOo application to access your Microsoft OneDrive files, your OneDrive files should appear!!! normally π
-
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python version 3.10.12
-
LibreOffice 7.5.4.2(x86) - Windows 10 - Python version 3.8.16 (under Lubuntu 22.04 / VirtualBox 6.1.38)
-
LibreOffice 7.4.3.2(x64) - Windows 10(x64) - Python version 3.8.15 (under Lubuntu 22.04 / VirtualBox 6.1.38)
-
Does not work with OpenOffice see bug 128569. Having no solution, I encourage you to install LibreOffice.
I encourage you in case of problem π
to create an issue
I will try to solve it π
-
Integration and use of the new Hsqldb v2.5.1 system versioning.
-
Writing of a new Replicator interface, launched in the background (python Thread) responsible for:
-
Perform the necessary procedures when creating a new user (initial Pull).
-
Carry out pulls regularly (every ten minutes) in order to synchronize any external changes (Pull all changes).
-
Replicate on demand all changes to the hsqldb 2.5.1 database using system versioning (Push all changes).
-
-
Writing of a new DataBase interface, responsible for making all calls to the database.
-
Setting up a cache on the Identifiers, see method: _getUser(), allowing access to a Content (file or folder) without access to the database for subsequent calls.
-
Management of duplicate file/folder names by SQL Views: Child, Twin, Uri, and Title generating unique names if duplicates names exist.
Although this functionality is only needed for gDriveOOo, it is implemented globally... -
Many other fix...
-
Using new scheme: vnd-microsoft:// as claimed by draft-king-vnd-urlscheme-03.txt
-
Achievement of handling duplicate file/folder names by SQL views in HsqlDB:
-
Creation of a Provider able to respond to the two types of Urls supported (named and anonymous).
Regular expressions (regex), declared in the UCB configuration file, are now used by OpenOffice/LibreOffice to send URLs to the appropriate ContentProvider. -
Use of the new UNO struct DateTimeWithTimezone provided by the extension jdbcDriverOOo since its version 0.0.4.
Although this struct already exists in LibreOffice, its creation was necessary in order to remain compatible with OpenOffice (see Enhancement Request 128560). -
Modification of the Replicator interface, in order to allow:
- To choose the data synchronization order (local first then remote or vice versa).
- Synchronization of local changes by atomic operations performed in chronological order to fully support offline work.
To do this, three SQL procedures GetPushItems, GetPushProperties and UpdatePushItems are used for each user who has accessed his files / folders.
-
Rewrite of the options window accessible by: Tools -> Options -> Internet -> mDriveOOo in order to allow:
- Access to the two log files concerning the activities of the UCP and the data replicator.
- Choice of synchronization order.
- The modification of the interval between two synchronizations.
- Access to the underlying HsqlDB 2.7.2 database managing your Microsoft oneDrive metadata.
-
The presence or absence of a trailing slash in the Url is now supported.
-
Many other fix...
- Renamed OneDriveOOo extension to mDriveOOo.
-
Implementation of the management of shared files as requested in the request for improvement, see issue 9.
-
The name of the shared folder can be defined before any connection in: Tools -> Options -> Internet -> mDriveOOo -> Handle shared documents in folder:
-
Many other fix...
-
The absence or obsolescence of the OAuth2OOo and/or jdbcDriverOOo extensions necessary for the proper functioning of mDriveOOo now displays an error message.
-
Many other things...
- Support for version 1.2.0 of the OAuth2OOo extension. Previous versions will not work with OAuth2OOo extension 1.2.0 or higher.
- Support for version 1.2.1 of the OAuth2OOo extension. Previous versions will not work with OAuth2OOo extension 1.2.1 or higher.
- Support for version 1.2.3 of the OAuth2OOo extension. Fixed issue #12.
- Support for version 1.2.4 of the OAuth2OOo extension. Many issues resolved.
- Now use Python dateutil package to convert to UNO DateTime.
- All Python packages necessary for the extension are now recorded in a requirements.txt file following PEP 508.
- Now if you are not on Windows then the Python packages necessary for the extension can be easily installed with the command:
pip install requirements.txt
- Modification of the Requirement section.
- Fixed a regression preventing the creation of new files.
- Integration of a fix to workaround the issue #159988.
- The creation of the database, during the first connection, uses the UNO API offered by the jdbcDriverOOo extension since version 1.3.2. This makes it possible to record all the information necessary for creating the database in 6 text tables which are in fact 6 csv files.
- Rewriting the SQL views necessary for managing duplicates. Now a folder or file's path is calculated by a recursive view that supports duplicates.
- Installing the extension will disable the option to create a backup copy (ie: .bak file) in LibreOffice. If this option is validated then the extension is no longer capable of saving files.
- The extension will ask you to install the OAuth2OOo and jdbcDriverOOo extensions in versions 1.3.4 and 1.3.2 respectively minimum.
- Many fixes.
- Updated the Python python-dateutil package to version 2.9.0.post0.
- Updated the Python ijson package to version 3.3.0.
- Updated the Python packaging package to version 24.1.
- Updated the Python setuptools package to version 72.1.0 in order to respond to the Dependabot security alert.
- The extension will ask you to install the OAuth2OOo and jdbcDriverOOo extensions in versions 1.3.6 and 1.4.2 respectively minimum.
-
Add new language for internationalization...
-
Anything welcome...