prrvchr / JaybirdOOo

The embedded Firebird driver for LibreOffice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JaybirdOOo logo Documentation

Ce document en français.

The use of this software subjects you to our Terms Of Use.

version 1.0.2

Introduction:

JaybirdOOo 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 use Firebird in embedded mode, making the database portable (a single odb file).
It allows you to take advantage of the ACID properties of the underlying Firebird database.

This implementation uses Jaybird 6.0.0 which is an unfinalized version. Please use with caution.

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 JaybirdOOo extension uses the jdbcDriverOOo extension to work.
It must therefore meet the requirement of the jdbcDriverOOo extension.

Only LibreOffice 24.2.x or higher is supported.

Using Jaybird 6.0.0 requires a JRE Java version 17 or higher.


Installation:

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

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:

How to create a new database:

In LibreOffice / OpenOffice go to File -> New -> Database...:

JaybirdOOo screenshot 1

In step: Select database:

  • select: Create a new database
  • in: Emdedded database: choose: Embedded Firebird Driver
  • click on button: Next

JaybirdOOo screenshot 2

In step: Save and proceed:

  • adjust the parameters according to your needs...
  • click on button: Finish

JaybirdOOo screenshot 3

Have fun...


How does it work:

JaybirdOOo is an com.sun.star.sdbc.Driver UNO service written in Python.
It is an overlay to the jdbcDriverOOo extension allowing to store the Firebird database in an odb file (which is, in fact, a compressed file).

Its operation is quite basic, namely:

  • When requesting a connection, several things are done:
  • When closing or renaming (Save As) the odb file, if the connection was successful, the DocumentHandler copies all files present in the subdirectory into the (new) database directory of the odb file (zip), then delete the subdirectory.

The main purpose of this mode of operation is to take advantage of the ACID characteristics of the underlying database in the event of an abnormal closure of LibreOffice. On the other hand, the function: file -> Save has no effect on the underlying database. Only closing the odb file or saving it under a different name (File -> Save As) will save the database in the odb file.


Has been tested with:

  • LibreOffice 24.2.1.2 - Ubuntu 22.04

I encourage you in case of problem 😕
to create an issue
I will try to solve it 😄


Historical:

What has been done for version 1.0.0:

  • First of all I would like to thank rotteveel for improvement #629 which made it possible to publish this extension.
  • This extension is based on fix #154989 available since LibreOffice 24.2.x. It can therefore work with other extensions offering integrated database services.
  • JaybirdOOo requires LibreOffice 24.2.x and Java 17 minimum. It will load for the url: sdbc:embedded:jaybird.

What has been done for version 1.0.1:

  • Support for the new version 1.4.0 of jdbcDriverOOo.
  • The use of odb files created with a previous version of JaybirdOOo requires modifying the parameter: Query for generated values accessible through the menu: Edit -> Database -> Advanced Settings... -> Generated Values by the value: SELECT * FROM %s WHERE %s.

What has been done for version 1.0.2:

  • Updated the Python packaging package to version 24.1.
  • Updated the Python setuptools package to version 72.1.0.
  • The extension will ask you to install the jdbcDriverOOo extension in versions 1.4.2 minimum.

What remains to be done for version 1.0.2:

  • Add new language for internationalization...

  • Anything welcome...

About

The embedded Firebird driver for LibreOffice


Languages

Language:Python 92.3%Language:Cython 3.5%Language:C 2.9%Language:XSLT 0.6%Language:Java 0.5%Language:C++ 0.1%Language:Roff 0.0%Language:JavaScript 0.0%Language:Shell 0.0%Language:HTML 0.0%