This document in English.
Concernant l’installation, la configuration et l’utilisation, veuillez consulter la documentation.
Ecriture d’une nouvelle interface XWizard afin de remplacer le service Wizard devenu défectueux avec les versions 6.4.x et 7.x de LibreOffice (voir bug 132110).
Cette nouvelle interface corrige également le bug 132661 et le bug 132666 et permet d’accéder aux versions 6.4.x et 7.x de LibreOffice…
De plus, ce nouveau XWizard ajoute de nouvelles fonctionnalités telles que:
Correction d’un problème avec les jetons sans expiration (tels qu’utilisés par Dropbox) lors du test de leur validité…
Beaucoup d’autres correctifs…
Réécriture de l’assistant OAuth2 (Wizard) en essayant de suivre au mieux le modèle MVA. Cet assistant est composé de 5 pages héritant de l’interface UNO XWizardPage:
Réécriture des trois services UNO fournis par l’extension OAuth2OOo dans trois fichiers distincts:
Réécriture de la fenêtre des options accessible par Outils -> Options -> Internet -> Protocole OAuth2. Cette fenêtre est composée de deux fenêtres:
Réécriture d’un modèle de données unique OAuth2Model gérant l’assistant, les services, et la fenêtre des options.
L’erreur de flux de bouclage Google a été corrigée. Voir Dysfonctionnement #10
Utilisation pour Dropbox de leur nouvelle API avec des jetons expirables.
Beaucoup d’autres correctifs…
Portage de l’API Python Requests vers l’API LibreOffice / OpenOffice UNO. Deux interfaces UNO sont accessibles:
L’interface XRequestParameter prend en charge la gestion des jetons de synchronisation ainsi que la pagination des requêtes HTTP, telles qu’elles sont utilisées dans les API HTTP Rest.
La mise à jour et le téléchargement des fichiers est possible grâce aux méthodes ou propriétés:
XOAuth2Service.download()
permettant le téléchargement de fichiers avec reprise.XOAuth2Service.upload()
permettant la mise à jour de fichiers avec reprise.XOAuth2Service.getInputStream()
pour obtenir un flux d’entrée.XRequestParameter.DataSink
pour définir un flux d’entrée.XRequestResponse.getInputStream()
pour obtenir un flux d’entrée.Portage de l’API Java javax.json vers l’API LibreOffice / OpenOffice UNO comme défini dans les fichiers idl: com.sun.star.json.*
getJsonBuilder()
de XRequestParameter.getJson()
de XRequestResponse.Cela rend les requêtes HTTP utilisant JSON facilement utilisable dans le langage BASIC de LibreOffice.
Ecriture de 15 fonctions en AddIns de Calc comme décrit dans les fichiers suivants:
com.sun.star.auth.Oauth2Plugin
founissant ces nouvelles interfaces.Ces 4 nouveaux fichiers donne acces à 15 nouvelles formules Calc qui sont:
GETHTTPBOBY(URL,METHOD,ENCODING,PARAMETERS)
PARSEHTML(DATA,PATH,BASEURL)
PARSEXML(DATA,PATH,BASEURL)
PARSEJSON(DATA,PATH)
JAVASCRIPT2XML(DATA,PATH)
XML2JSON(DATA,PATH)
JAVASCRIPT2JSON(DATA,PATH)
DUBLINCORE2JSON(DATA,BASEURL)
JSONLD2JSON(DATA,BASEURL)
MICRODATA2JSON(DATA,BASEURL)
MICROFORMAT2JSON(DATA,BASEURL)
OPENGRAPH2JSON(DATA,BASEURL)
RDFA2JSON(DATA,BASEURL)
FLATTENJSON(DATA,TYPENAME,PATH,SEPARATOR)
SPLITJSON(DATA,TYPENAME,PATH,SEPARATOR)
Fin du support de Python 2.x et donc d’OpenOffice.
Intégration de Selenium version 4.10 dans l’extension afin de rendre LibreOffice capable de piloter un navigateur via des formules Calc insérées dans une feuille de calcul.
Utilisation de webdriver_manager version 3.8.6 permettant d’automatiser l’installation du WebDriver du navigateur.
Création de 5 formules Calc permettant le pilotage du navigateur:
BROWSEROPEN(BROWSER,PATH,INIT,OPTIONS)
BROWSERCLICK(SESSION,BY,PATH,URL,INIT,WAIT)
BROWSERFIELD(SESSION,BY,PATH,VALUE,URL,INIT,WAIT)
BROWSERFORM(SESSION,FORM,URL,INIT,WAIT)
BROWSERCONTENT(SESSION,URL,ENCODING)
Création d’une formule Calc permettant l’authentification HTTP Basic Auth pour les requêtes HTTP:
HTTPAUTH(NAME,PASSWORD)
La formule Calc GETHTTPBOBY
a été renommée en HTTPCONTENT
.
Modification des fichiers idl: XRequestParameter.idl et XRequestResponse.idl et des implementations python sous jacente: requestparameter.py et requestresponse.py afin de rendre possible les requêtes POST avec l’encodage application/x-www-form-urlencoded. Voir dysfonctionnement #13.
3 macros en BASIC: ChatGPTRequest
, HTTPGetRequest
et HTTPPostRequest
sont disponible dans: Outils -> Macros -> Exécuter la macro… -> Mes macros -> OAuth2OOo. Attention, ces macros ne fonctionneront pas si aucun document n’est ouvert (je ne sais pas pourquoi?)…
Désormais, à chaque push, un workflow effectue un scan du code avec Fluid Attacks. Ceci a été mis en place pour suivre le Cloud Application Security Assessment (CASA) et répondre aux exigences de revalidation de l’extension OAuth2OOo avec Google.
Pour les mêmes raisons, la Politique de Protection des Données a été modifiée afin de préciser la Nature et l’étendue des droits sur vos données.
create()
sans paramètre, renvoie une instance du service.createWithOAuth2([in] string sUrl, [in] string sUser)
avec une Url et l’adresse de l’utilisateur, renvoie une instance du service avec le protocole OAuth2.GoogleAPIRequest
et GraphAPIRequest
permettent d’effectuer des requêtes HTTP sur les API de Google Contact et Microsoft Graph.isAuthorized()
à l’interface XOAuth2Service prise en charge par le service OAuth2Service. Cette méthode permet de lancer l’assistant de configuration OAuth2 si l’utilisateur n’est pas autorisé.sudo -i pip3 install requirements.txt
Headers
dans l’implémentation de l’interface UNO XRequestResponse permettant d’obtenir les en-têtes d’une réponse HTTP.lxml
, ijson
, cffi
et charset-normalizer
.oauth20
. Cela devrait également résoudre le dysfonctionnement n°10.La mise à jour de tous ces paquets Python devrait permettre d’utiliser Python 3.8, 3.9, 3.10, 3.11 et 3.12 sous l’architecture ManyLinux x86_64.
Pour les architectures win32 et win_amd64, seule la version 3.8 de Python est prise en charge. Cela signifie, puisque Python est intégré à LibreOffice pour ces architectures, que seules les versions 7.x et 24.x de LibreOffice sont prises en charge.
Si votre architecture n’est pas encore supportée par OAuth2OOo (Mac OSX, arm…), je vous conseille d’ouvrir un dysfonctionnement pour que je puisse ajouter les fichiers binaires manquants.
fromJson()
à l’interface XRequestParameter pour faciliter l’exécution d’une requête HTTP à partir de paramètres provenant de fichiers de configuration LibreOffice (ie: fichiers XML xcu/xcs).redirect_uri
) en mode https comme requis par certaines API tierces, grâce au certificat SSL de Github et à JavaScript, voir le fichier OAuth2Redirect.md.isRegisteredUrl
pour savoir si une URL est enregistrée dans la configuration OAuth2.getTokenWithParameters
pour obtenir un jeton OAuth2 au format donné par les paramètres.Ajouter de nouvelles langue pour l’internationalisation…
Tout ce qui est bienvenu…