Skip to content

prrvchr/gContactOOo

Repository files navigation

gContactOOo logo Documentation

Ce document en français.

The use of this software subjects you to our Terms Of Use and Data Protection Policy.

version 1.1.6

Introduction:

gContactOOo is part of a Suite of LibreOffice and/or OpenOffice extensions allowing to offer you innovative services in these office suites.

This extension gives you access, in LibreOffice, to your phone contacts (the contacts of your Android phone).
It uses Google People API to synchronize your remote Google Contacts into a local HsqlDB 2.7.2 database.
This extension is seen by LibreOffice as a database driver responding to the URL: sdbc:address:google:*.

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.


Requirement:

The gContactOOo extension uses the OAuth2OOo extension to work.
It must therefore meet the requirement of the OAuth2OOo extension.

The gContactOOo 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 -> gContactOOo -> 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.


Installation:

It seems important that the file was not renamed when it was downloaded. If necessary, rename it before installing it.

  • OAuth2OOo logo Install OAuth2OOo.oxt extension Version

    You must install this extension, if it is not already installed.

  • jdbcDriverOOo logo Install jdbcDriverOOo.oxt extension Version

    You must install this extension, if it is not already installed.

  • gContactOOo logo Install gContactOOo.oxt extension Version

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 combination Ctrl + C if after stopping LibreOffice, the terminal is not active (no command prompt).

Use:

In LibreOffice / OpenOffice go to: File -> Wizards -> Address Data Source...

gContactOOo screenshot 1

The Address Book Datasource Wizard open.

In step: 1.Address Book Type:

  • Select: Other external data source.
  • Click button: Next.

gContactOOo screenshot 2

In step: 2.Connection Settings:

  • Click button: Settings.

gContactOOo screenshot 3

A new wizard opens. Data source properties.

In step: 1.Advanced Properties.
In Database type list:

  • Select: Google Contacts.
  • Click button: Next.

gContactOOo screenshot 4

In step: 2.Connection Settings.
In General: Enter the DBMS/driver-specific connection string here.

gContactOOo screenshot 5

After authorizing the OAuth2OOo application to access your Contacts, normally you should see: Connection Test: The connection was established successfully.

gContactOOo screenshot 6

If the connection has been established, you can complete this wizard with the Finish button.

gContactOOo screenshot 7

In step: 3.Table Selection.
If your data source has multiple tables, you will be asked to select the primary table.
In this case select the table: All my contacts. If necessary and before any connection it is possible to rename the main table name in: Tools -> Options -> Internet -> gContactOOo -> Main table name.

In step: 4.Field Assignment.
If necessary it is possible to rename the names of the columns of the data source using the button: Field Assignment.
Please continue this wizard with the button: Next.

gContactOOo screenshot 8

In step: 5.Data Source Title.

You must create an odb file. To do this you must:

  • Uncheck the box: Embed this address book definition in the current document.
  • Named the odb file in the field: Location.

This odb file must also be made accessible. To do this you must:

  • Check the box: Make this address book available to all modules in LibreOffice
  • Named the address book in the field: Address book name.

gContactOOo screenshot 9

Have fun...


Has been tested with:

  • LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python version 3.10.12 - OpenJDK-11-JRE (amd64)

  • LibreOffice 7.5.4.2(x86) - Windows 10 - Python version 3.8.16 - Adoptium JDK Hotspot 11.0.19 (under Lubuntu 22.04 / VirtualBox 6.1.38)

  • LibreOffice 7.4.3.2(x64) - Windows 10(x64) - Python version 3.8.15 - Adoptium JDK Hotspot 11.0.17 (x64) (under Lubuntu 22.04 / VirtualBox 6.1.38)

  • LibreOffice 24.8.0.3 (x86_64) - Windows 10(x64) - Python version 3.9.19 (under Lubuntu 22.04 / VirtualBox 6.1.38)

  • Does not work with OpenOffice on Windows 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 πŸ˜„


Historical:

Introduction:

This extension was written in order to make usable in free software (LibreOffice or OpenOffice) your personal data (your address book) stored in your Android phone.

With the eMailerOOo extension, it can be the data source for mail merge by email, to your correspondents contained in your phone.

It will give you access to an information system that only larges companies are able, today, to implement.

What has been done for version 0.0.5:

  • Integration and use of the new Hsqldb v2.5.1.

  • 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).
  • Writing of a new DataBase interface, responsible for making all calls to the database.

  • Many other fix...

What has been done for version 0.0.6:

  • Driver has a new name: Google Contacts

  • Driver is now registred for a new protocol: sdbc:address:google:your_account@gmail.com

  • The jdbcDriverOOo extension now provides the driver needed to access the HsqlDB database used by gContactOOo.

  • Modifying the Replicator in order to:

    • Open and close the database at each replication.
    • Go on hold after the last closing of the address book.
    • Unload when closing LibreOffice / OpenOffice.
  • Possibility to open the local HsqlDB database by: Tools -> Options -> Internet -> gContactOOo -> View DataBase

  • Many other fix...

What has been done for version 1.0.1:

  • The absence or obsolescence of the OAuth2OOo and/or jdbcDriverOOo extensions necessary for the proper functioning of gContactOOo now displays an error message.

  • Many other things...

What has been done for version 1.0.2:

  • Support for version 1.2.0 of the OAuth2OOo extension. Previous versions will not work with OAuth2OOo extension 1.2.0 or higher.

What has been done for version 1.0.3:

  • Support for version 1.2.1 of the OAuth2OOo extension. Previous versions will not work with OAuth2OOo extension 1.2.1 or higher.

What has been done for version 1.1.0:

  • 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.

What has been done for version 1.1.1:

  • Using Python package dateutil to convert timestamp strings to UNO DateTime.
  • Many other fixes...

What has been done for version 1.1.2:

What has been done for version 1.1.3:

  • 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 9 text tables which are in fact 9 csv 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.

What has been done for version 1.1.4:

What has been done for version 1.1.5:

  • Updated the Python setuptools package to version 73.0.1.
  • The extension will ask you to install the OAuth2OOo and jdbcDriverOOo extensions in versions 1.3.7 and 1.4.5 respectively minimum.
  • Changes to extension options that require a restart of LibreOffice will result in a message being displayed.
  • Support for LibreOffice version 24.8.x.

What has been done for version 1.1.6:

  • The extension will ask you to install the OAuth2OOo and jdbcDriverOOo extensions in versions 1.3.8 and 1.4.6 respectively minimum.
  • Modification of the extension options accessible via: Tools -> Options... -> Internet -> gContactOOo in order to comply with the new graphic charter.

What remains to be done for version 1.1.6:

  • Make the address book locally editable with replication of changes.

  • Add new languages for internationalization...

  • Anything welcome...