From a778b4dc078f7039cbac0ed3ed0df8e244f1a141 Mon Sep 17 00:00:00 2001 From: Pierre Date: Tue, 16 Apr 2024 20:37:16 +0200 Subject: [PATCH] README*.md update --- README.md | 125 ++++++++++++++++++++++++++------------------------- README_fr.md | 125 ++++++++++++++++++++++++++------------------------- 2 files changed, 128 insertions(+), 122 deletions(-) diff --git a/README.md b/README.md index b4c31145..bb7aa1e0 100644 --- a/README.md +++ b/README.md @@ -45,10 +45,12 @@ This extension allows you: - To replace the integrated [HsqlDB 1.8][11] driver provided by LibreOffice / OpenOffice, a version that will soon be more than 20 years old, with a recent HsqlDB version of your choice. - **To support the [ACID][12] properties of the underlying [HsqlDB][13] database.** +**Attention: If you wish to migrate odb files created with LibreOffice or OpenOffice and HsqlDB version 1.8, it is imperative to use version 1.1.2 or higher of HyperSQLOOo otherwise there is a great risk of data loss. The migration procedure is given in the [How to migrate an embedded database][14] section. Whatever happens, keep your backups up to date.** + Being free software I encourage you: -- To duplicate its [source code][14]. +- To duplicate its [source code][15]. - To make changes, corrections, improvements. -- To open [issue][15] if needed. +- To open [issue][16] if needed. In short, to participate in the development of this extension. Because it is together that we can make Free Software smarter. @@ -58,10 +60,10 @@ ___ ## Requirement: The HyperSQLOOo extension uses the jdbcDriverOOo extension to work. -It must therefore meet the [requirement of the jdbcDriverOOo extension][16]. +It must therefore meet the [requirement of the jdbcDriverOOo extension][17]. -This extension cannot be installed together with the [SQLiteOOo][17] extension. -It's one or the other, but at the moment they can't work together (see [issue #156471][40]). +This extension cannot be installed together with the [SQLiteOOo][18] extension. +It's one or the other, but at the moment they can't work together (see [issue #156471][19]). **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: @@ -69,7 +71,7 @@ To ensure that your Python packages are up to date it is recommended to use the If outdated packages appear, you can update them with the command: `pip install --upgrade ` -For more information see: [What has been done for version 1.1.0][41]. +For more information see: [What has been done for version 1.1.0][20]. ___ @@ -78,11 +80,11 @@ ___ It seems important that the file was not renamed when it was downloaded. If necessary, rename it before installing it. -- [![jdbcDriverOOo logo][18]][10] Install **[jdbcDriverOOo.oxt][19]** extension [![Version][20]][19] +- [![jdbcDriverOOo logo][21]][10] Install **[jdbcDriverOOo.oxt][22]** extension [![Version][23]][22] This extension is necessary to use HsqlDB version 2.7.2 with all its features. -- ![HyperSQLOOo logo][21] Install **[HyperSQLOOo.oxt][22]** extension [![Version][23]][22] +- ![HyperSQLOOo logo][24] Install **[HyperSQLOOo.oxt][25]** extension [![Version][26]][25] Restart LibreOffice after installation. **Be careful, restarting LibreOffice may not be enough.** @@ -97,20 +99,20 @@ ___ In LibreOffice / OpenOffice go to File -> New -> Database...: -![HyperSQLOOo screenshot 1][24] +![HyperSQLOOo screenshot 1][27] In step: Select database: - select: Create a new database - in: Emdedded database: choose: Embedded HsqlDB Driver - click on button: Next -![HyperSQLOOo screenshot 2][25] +![HyperSQLOOo screenshot 2][28] In step: Save and proceed: - adjust the parameters according to your needs... - click on button: Finish -![HyperSQLOOo screenshot 3][26] +![HyperSQLOOo screenshot 3][29] Have fun... @@ -124,24 +126,24 @@ If you want to migrate an integrated database (HsqlDB version 1.8.0) to a newer 5. Open the odb file in Base (double click on the odb file). 6. In Base go to: **Tools -> SQL** and type the SQL command: `SHUTDOWN COMPACT` or `SHUTDOWN SCRIPT`. -- Repeat this procedure at step 3 using version [2.4.0][27] or [2.4.1][28] or [2.5.0][29]. -- Repeat this procedure at step 3 using version [2.7.2][30]. +- Repeat this procedure at step 3 using version [2.4.0][30] or [2.4.1][31] or [2.5.0][32]. +- Repeat this procedure at step 3 using version [2.7.2][33]. ___ ## How does it work: -HyperSQLOOo is an [com.sun.star.sdbc.Driver][31] UNO service written in Python. +HyperSQLOOo is an [com.sun.star.sdbc.Driver][34] UNO service written in Python. It is an overlay to the [jdbcDriverOOo][10] extension allowing to store the HyperSQL database in an odb file (which is, in fact, a compressed file). Its operation is quite basic, namely: - When requesting a connection, three things are done: 1. If it does not already exist, a **subdirectory** with name: `.` + `odb_file_name` + `.lck` is created in the location of the odb file where all HyperSQL files are extracted from the **database** directory of the odb file (unzip). - 2. A [DocumentHandler][32] is added as an [com.sun.star.util.XCloseListener][33] and [com.sun.star.document.XStorageChangeListener][34] to the odb file. - 3. The [jdbcDriverOOo][10] extension is used to get the [com.sun.star.sdbc.XConnection][35] interface from the **subdirectory** path + `odb_file_name`. + 2. A [DocumentHandler][35] is added as an [com.sun.star.util.XCloseListener][36] and [com.sun.star.document.XStorageChangeListener][37] to the odb file. + 3. The [jdbcDriverOOo][10] extension is used to get the [com.sun.star.sdbc.XConnection][38] interface from the **subdirectory** path + `odb_file_name`. -- When closing or renaming (Save as) an odb file the [DocumentHandler][32] copy all the files present in the **subdirectory** into the (new) **database** directory of the odb file (zip) and then delete the **subdirectory**. +- When closing or renaming (Save as) an odb file the [DocumentHandler][35] copy all the files present in the **subdirectory** into the (new) **database** directory of the odb file (zip) and then delete the **subdirectory**. ___ @@ -160,7 +162,7 @@ ___ * LibreOffice 7.6.0.1 - Ubuntu 22.04 I encourage you in case of problem :confused: -to create an [issue][15] +to create an [issue][16] I will try to solve it :smile: ___ @@ -169,7 +171,7 @@ ___ ### What has been done for version 0.0.1: -- The writing of this driver was facilitated by a [discussion with Villeroy][36], on the OpenOffice forum, which I would like to thank, because knowledge is only worth if it is shared... +- The writing of this driver was facilitated by a [discussion with Villeroy][39], on the OpenOffice forum, which I would like to thank, because knowledge is only worth if it is shared... - Using the old version of HsqlDB 1.8.0 (can be easily updated). @@ -201,19 +203,19 @@ ___ ### What has been done for version 0.0.4: -- Modification of [Driver.py][37] in order to make possible the use of the Uno service: `com.sun.star.sdb.RowSet`. +- Modification of [Driver.py][40] in order to make possible the use of the Uno service: `com.sun.star.sdb.RowSet`. - Many other fix... ### What has been done for version 0.0.5: -- Writing a [DocumentHandler][32] to allow: +- Writing a [DocumentHandler][35] to allow: - The extraction of the database files contained in the **odb** file on connection. - Saving database files to **odb** file when closing it. -- Rewrote [Driver.py][37] to allow: +- Rewrote [Driver.py][40] to allow: - Its operation with the new JDBC driver provided by the extension [jdbcDriverOOo][10] version 0.0.4. - - The support for the new [DocumentHandler][32] to make **odb** files portable as they were in LibreOffice / OpenOffice with version 1.8 of HsqlDB. + - The support for the new [DocumentHandler][35] to make **odb** files portable as they were in LibreOffice / OpenOffice with version 1.8 of HsqlDB. - Many other fix... @@ -227,7 +229,7 @@ ___ - Renamed the extension from HsqlDriverOOo to HyperSQLOOo. -- Fixed [bug 156511][38] occurring when using the com.sun.star.embed.XStorage interface. The [workaround][39] is to use the copyElementTo() method instead of moveElementTo(). Versions of LibreOffice 7.6.x and higher become usable. +- Fixed [bug 156511][41] occurring when using the com.sun.star.embed.XStorage interface. The [workaround][42] is to use the copyElementTo() method instead of moveElementTo(). Versions of LibreOffice 7.6.x and higher become usable. ### What has been done for version 1.0.2: @@ -237,20 +239,20 @@ ___ ### What has been done for version 1.1.0: -- All Python packages necessary for the extension are now recorded in a [requirements.txt][42] file following [PEP 508][43]. +- All Python packages necessary for the extension are now recorded in a [requirements.txt][43] file following [PEP 508][44]. - 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][44] section. +- Modification of the [Requirement][45] section. ### What has been done for version 1.1.1: -- Support for [new features][45] in **jdbcDriverOOo 1.1.2**. +- Support for [new features][46] in **jdbcDriverOOo 1.1.2**. ### What has been done for version 1.1.2: - Support for the latest version of **jdbcDriverOOo 1.3.1**. - When saving under a different name, the database if open will be closed correctly. -- When opening an odb file, if the connection fails, to avoid data destruction, recompression of the database files will not take place. Thanks to Robert for being able to detect this [issue][46]. +- When opening an odb file, if the connection fails, to avoid data destruction, recompression of the database files will not take place. Thanks to Robert for being able to detect this [issue][47]. ### What remains to be done for version 1.1.2: @@ -271,36 +273,37 @@ ___ [11]: [12]: [13]: -[14]: -[15]: -[16]: -[17]: -[18]: -[19]: -[20]: -[21]: -[22]: -[23]: -[24]: -[25]: -[26]: -[27]: -[28]: -[29]: -[30]: -[31]: -[32]: -[33]: -[34]: -[35]: -[36]: -[37]: -[38]: -[39]: -[40]: -[41]: -[42]: -[43]: -[44]: -[45]: -[46]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: +[21]: +[22]: +[23]: +[24]: +[25]: +[26]: +[27]: +[28]: +[29]: +[30]: +[31]: +[32]: +[33]: +[34]: +[35]: +[36]: +[37]: +[38]: +[39]: +[40]: +[41]: +[42]: +[43]: +[44]: +[45]: +[46]: +[47]: diff --git a/README_fr.md b/README_fr.md index 9e5356b8..b0debcfc 100644 --- a/README_fr.md +++ b/README_fr.md @@ -45,10 +45,12 @@ Cette extension vous permet: - De remplacer le pilote [HsqlDB 1.8][11] intégré fourni par LibreOffice / OpenOffice, une version qui aura bientôt plus de 20 ans, par une version HsqlDB récente et à votre choix. - **De supporter les propriétés [ACID][12] de la base de données [HsqlDB][13] sous jancente.** +**Attention : Si vous souhaitez migrer des fichiers odb créés avec LibreOffice ou OpenOffice et HsqlDB version 1.8, il est impératif d'utiliser la version 1.1.2 ou supérieure de HyperSQLOOo sinon il y a un grand risque de perte de données. La procédure de migration est donnée dans la section [Comment migrer une base de données intégrée][14]. Quoi qu'il arrive, gardez vos sauvegardes à jour.** + Etant un logiciel libre je vous encourage: -- A dupliquer son [code source][14]. +- A dupliquer son [code source][15]. - A apporter des modifications, des corrections, des améliorations. -- D'ouvrir un [dysfonctionnement][15] si nécessaire. +- D'ouvrir un [dysfonctionnement][16] si nécessaire. Bref, à participer au developpement de cette extension. Car c'est ensemble que nous pouvons rendre le Logiciel Libre plus intelligent. @@ -58,10 +60,10 @@ ___ ## Prérequis: L'extension HyperSQLOOo utilise l'extension jdbcDriverOOo pour fonctionner. -Elle doit donc répondre aux [prérequis de l'extension jdbcDriverOOo][16]. +Elle doit donc répondre aux [prérequis de l'extension jdbcDriverOOo][17]. -Cette extension ne peut pas être installée avec l'extension [SQLiteOOo][17]. -C'est l'une ou l'autre, mais pour le moment, elles ne peuvent pas fonctionner ensemble (voir [dysfonctionnement #156471][40]). +Cette extension ne peut pas être installée avec l'extension [SQLiteOOo][18]. +C'est l'une ou l'autre, mais pour le moment, elles ne peuvent pas fonctionner ensemble (voir [dysfonctionnement #156471][19]). **Sous Linux et macOS les paquets Python** utilisés par l'extension, peuvent s'il sont déja installé provenir du système et donc, **peuvent ne pas être à jour**. Afin de s'assurer que vos paquets Python sont à jour il est recommandé d'utiliser l'option **Info système** dans les Options de l'extension accessible par: @@ -69,7 +71,7 @@ Afin de s'assurer que vos paquets Python sont à jour il est recommandé d'utili Si des paquets obsolètes apparaissent, vous pouvez les mettre à jour avec la commande: `pip install --upgrade ` -Pour plus d'information voir: [Ce qui a été fait pour la version 1.1.0][41]. +Pour plus d'information voir: [Ce qui a été fait pour la version 1.1.0][20]. ___ @@ -78,11 +80,11 @@ ___ Il semble important que le fichier n'ait pas été renommé lors de son téléchargement. Si nécessaire, renommez-le avant de l'installer. -- [![jdbcDriverOOo logo][18]][10] Installer l'extension **[jdbcDriverOOo.oxt][19]** [![Version][20]][19] +- [![jdbcDriverOOo logo][21]][10] Installer l'extension **[jdbcDriverOOo.oxt][22]** [![Version][23]][22] Cette extension est nécessaire pour utiliser HsqlDB version 2.7.2 avec toutes ses fonctionnalités. -- ![HyperSQLOOo logo][21] Installer l'extension **[HyperSQLOOo.oxt][22]** version [![Version][23]][22] +- ![HyperSQLOOo logo][24] Installer l'extension **[HyperSQLOOo.oxt][25]** version [![Version][26]][25] Redémarrez LibreOffice après l'installation. **Attention, redémarrer LibreOffice peut ne pas suffire.** @@ -97,20 +99,20 @@ ___ Dans LibreOffice / OpenOffice aller à: Fichier -> Nouveau -> Base de données...: -![HyperSQLOOo screenshot 1][24] +![HyperSQLOOo screenshot 1][27] A l'étape: Sélectionner une base de données: - selectionner: Créer une nouvelle base de données - Dans: Base de données intégrée: choisir: Pilote HsqlDB intégré - cliquer sur le bouton: Suivant -![HyperSQLOOo screenshot 2][25] +![HyperSQLOOo screenshot 2][28] A l'étape: Enregistrer et continuer: - ajuster les paramètres selon vos besoins... - cliquer sur le bouton: Terminer -![HyperSQLOOo screenshot 3][26] +![HyperSQLOOo screenshot 3][29] Maintenant à vous d'en profiter... @@ -124,24 +126,24 @@ Si vous souhaitez migrer une base de données intégrée (HsqlDB version 1.8.0) 5. Ouvrir le fichier odb dans Base (double clique sur le fichier odb). 6. Dans Base allez à: **Outils -> SQL** et tapez la commande SQL: `SHUTDOWN COMPACT` ou `SHUTDOWN SCRIPT`. -- Recommencez cette procédure à l'étape 3 en utilisant une version [2.4.0][27] ou [2.4.1][28] ou [2.5.0][29]. -- Recommencez cette procédure à l'étape 3 en utilisant la version [2.7.2][30]. +- Recommencez cette procédure à l'étape 3 en utilisant une version [2.4.0][30] ou [2.4.1][31] ou [2.5.0][32]. +- Recommencez cette procédure à l'étape 3 en utilisant la version [2.7.2][33]. ___ ## Comment ça marche: -HyperSQLOOo est un service [com.sun.star.sdbc.Driver][31] UNO écrit en Python. +HyperSQLOOo est un service [com.sun.star.sdbc.Driver][34] UNO écrit en Python. Il s'agit d'une surcouche à l'extension [jdbcDriverOOo][10] permettant de stocker la base de données HyperSQL dans un fichier odb (qui est, en fait, un fichier compressé). Son fonctionnement est assez basique, à savoir: - Lors d'une demande de connexion, trois choses sont faites: 1. S'il n'existe pas déjà, un **sous-répertoire** avec le nom: `.` + `nom_du_fichier_odb` + `.lck` est créé à l'emplacement du fichier odb dans lequel tous les fichiers HyperSQL sont extraits du répertoire **database** du fichier odb (décompression). - 2. Un [DocumentHandler][32] est ajouté en tant que [com.sun.star.util.XCloseListener][33] et [com.sun.star.document.XStorageChangeListener][34] au fichier odb. - 3. L'extension [jdbcDriverOOo][10] est utilisée pour obtenir l'interface [com.sun.star.sdbc.XConnection][35] à partir du chemin du **sous-répertoire** + `nom_du_fichier_odb`. + 2. Un [DocumentHandler][35] est ajouté en tant que [com.sun.star.util.XCloseListener][36] et [com.sun.star.document.XStorageChangeListener][37] au fichier odb. + 3. L'extension [jdbcDriverOOo][10] est utilisée pour obtenir l'interface [com.sun.star.sdbc.XConnection][38] à partir du chemin du **sous-répertoire** + `nom_du_fichier_odb`. -- Lors de la fermeture ou du renommage (Enregistrer sous) d'un fichier odb, le [DocumentHandler][32] copie tous les fichiers présents dans le **sous-répertoire** dans le (nouveau) répertoire **database** du fichier odb (compression) puis supprime le **sous-répertoire**. +- Lors de la fermeture ou du renommage (Enregistrer sous) d'un fichier odb, le [DocumentHandler][35] copie tous les fichiers présents dans le **sous-répertoire** dans le (nouveau) répertoire **database** du fichier odb (compression) puis supprime le **sous-répertoire**. ___ @@ -160,7 +162,7 @@ ___ * LibreOffice 7.6.0.1 - Ubuntu 22.04 Je vous encourage en cas de problème :confused: -de créer un [dysfonctionnement][15] +de créer un [dysfonctionnement][16] J'essaierai de le résoudre :smile: ___ @@ -169,7 +171,7 @@ ___ ### Ce qui a été fait pour la version 0.0.1: -- La rédaction de ce pilote a été facilitée par une [discussion avec Villeroy][36], sur le forum OpenOffice, que je tiens à remercier, car la connaissance ne vaut que si elle est partagée... +- La rédaction de ce pilote a été facilitée par une [discussion avec Villeroy][39], sur le forum OpenOffice, que je tiens à remercier, car la connaissance ne vaut que si elle est partagée... - Utilisation de l'ancienne version de HsqlDB 1.8.0 (peut être facilement mise à jour). @@ -201,19 +203,19 @@ ___ ### Ce qui a été fait pour la version 0.0.4: -- Modification de [Driver.py][37] afin de rendre possible l'utilisation du service Uno: `com.sun.star.sdb.RowSet`. +- Modification de [Driver.py][40] afin de rendre possible l'utilisation du service Uno: `com.sun.star.sdb.RowSet`. - Beaucoup d'autres correctifs... ### Ce qui a été fait pour la version 0.0.5: -- Ecriture d'un [DocumentHandler][32] responsable: +- Ecriture d'un [DocumentHandler][35] responsable: - De l'extraction des fichiers de base de données contenus dans le fichier **odb** à la connexion. - De la sauvegarde des fichiers de base de données dans le fichier **odb** lors de sa fermeture. -- Réécriture de [Driver.py][37] afin de permettre: +- Réécriture de [Driver.py][40] afin de permettre: - Son fonctionnement avec le nouveau pilote JDBC fourni par l'extension [jdbcDriverOOo][10] version 0.0.4. - - La prise en charge du nouveau [DocumentHandler][32] afin de rendre les fichiers **odb** portables tels qu'ils étaient dans LibreOffice / OpenOffice avec la version 1.8 de HsqlDB. + - La prise en charge du nouveau [DocumentHandler][35] afin de rendre les fichiers **odb** portables tels qu'ils étaient dans LibreOffice / OpenOffice avec la version 1.8 de HsqlDB. - Beaucoup d'autres correctifs... @@ -227,7 +229,7 @@ ___ - Renommage de l'extension de HsqlDriverOOo en HyperSQLOOo. -- Résolution du [dysfonctionnement 156511][38] survenant lors de l'utilisation de l'interface com.sun.star.embed.XStorage. Le [contournement][39] consiste à utiliser la méthode copyElementTo() au lieu de moveElementTo(). Les versions de LibreOffice 7.6.x et supérieures deviennent utilisables. +- Résolution du [dysfonctionnement 156511][41] survenant lors de l'utilisation de l'interface com.sun.star.embed.XStorage. Le [contournement][42] consiste à utiliser la méthode copyElementTo() au lieu de moveElementTo(). Les versions de LibreOffice 7.6.x et supérieures deviennent utilisables. ### Ce qui a été fait pour la version 1.0.2: @@ -237,20 +239,20 @@ ___ ### Ce qui a été fait pour la version 1.1.0: -- Tous les paquets Python nécessaires à l'extension sont désormais enregistrés dans un fichier [requirements.txt][42] suivant la [PEP 508][43]. +- Tous les paquets Python nécessaires à l'extension sont désormais enregistrés dans un fichier [requirements.txt][43] suivant la [PEP 508][44]. - Désormais si vous n'êtes pas sous Windows alors les paquets Python nécessaires à l'extension peuvent être facilement installés avec la commande: `pip install requirements.txt` -- Modification de la section [Prérequis][44]. +- Modification de la section [Prérequis][45]. ### Ce qui a été fait pour la version 1.1.1: -- Prise en charge des [nouvelles fonctionnalités][45] de **jdbcDriverOOo 1.1.2**. +- Prise en charge des [nouvelles fonctionnalités][46] de **jdbcDriverOOo 1.1.2**. ### Ce qui a été fait pour la version 1.1.2: - Prise en charge de la dernière version de **jdbcDriverOOo 1.3.1**. - Lors de l'enregistrement sous un nom différent, la base de données si ouverte sera fermée correctement. -- Lors de l'ouverture d'un fichier odb, si la connexion échoue, pour éviter la destruction des données, la recompression des fichiers de la base de données n'aura pas lieu. Merci à Robert d'avoir su détecter ce [dysfonctionnement][46]. +- Lors de l'ouverture d'un fichier odb, si la connexion échoue, pour éviter la destruction des données, la recompression des fichiers de la base de données n'aura pas lieu. Merci à Robert d'avoir su détecter ce [dysfonctionnement][47]. ### Que reste-t-il à faire pour la version 1.1.2: @@ -271,36 +273,37 @@ ___ [11]: [12]: [13]: -[14]: -[15]: -[16]: -[17]: -[18]: -[19]: -[20]: -[21]: -[22]: -[23]: -[24]: -[25]: -[26]: -[27]: -[28]: -[29]: -[30]: -[31]: -[32]: -[33]: -[34]: -[35]: -[36]: -[37]: -[38]: -[39]: -[40]: -[41]: -[42]: -[43]: -[44]: -[45]: -[46]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: +[21]: +[22]: +[23]: +[24]: +[25]: +[26]: +[27]: +[28]: +[29]: +[30]: +[31]: +[32]: +[33]: +[34]: +[35]: +[36]: +[37]: +[38]: +[39]: +[40]: +[41]: +[42]: +[43]: +[44]: +[45]: +[46]: +[47]: