Technical blog

Sortie d’ARender 4.0.6

logo

ARender 4.0.6 is available!

 

Une liste détaillée des changements est disponible à cette adresse, où une plus grande partie des changements y est décrit.

 

Récapitulation rapide; la documentation à jour pour ARender 4.0.6 et les versions ultérieures se trouve à l’URL suivante :

 

Un mot rapide avant de rentrer dans les notes de sorties :

Si vous exécutez actuellement une installation d’ARender 4.0.x, nous vous recommandons de procéder à la mise à niveau vers ARender 4.0.6, car de nombreuses corrections ont été apportées à cette version cumulative.

 

Nouveau dans ARender 4.0.6 :

 

✔️ Mise à niveau des paquets Spring Boot 2.

Après la mise à niveau lors de la dernière version d’ARender, ARender 4.0.6 est maintenant sur les mêmes fréquences de release avec les versions de Spring Boot. La version 2.1.9 est utilisée et nous avons amélioré l’aspect des journaux d’application d’ARender.

Nous avons également réduit la quantité d’autoconfigurateur préchargé à partir de Spring afin d’améliorer le démarrage et surtout afin de définir exactement ce que chaque micro-service utilisera/requiert au moment de l’exécution.

Les numéros de version dédiés seront affichés lors de la phase de démarrage sur chaque fichier journal de micro-service, avec une bannière personnalisée afin de faciliter la compréhension du composant d’ARender en cours de démarrage.

 

✔️ PDFBox micro service; performance

Après la mise à jour du service JNI de la dernière version, le microservice PDFBox a été paramétré pour réduire les ressources nécessaires et ainsi améliorer son débit de travail effectif.

Une modification de l’utilisation de la mémoire par défaut de PDFBox et de la façon dont il gère sa mémoire tampon a été faite; les fichiers temporaires utilisés pour décharger la mémoire vont être stockés dans le dossier temporaire d’ARender par default. Le service PDFBox a également été corrigé sur certains points, car il pouvait jusqu’à présent conserver sur certains scenario une trop grande quantité de fichiers PDF ouverts pour traitement.

Globalement, le micro service PDFBox sollicitera moins sa mémoire et générera ainsi un rendement plus productif.

 

✔️ Masquage de zone

Après avoir amélioré dans la dernière version l’annotation de masquage, nous avons pensé qu’il était temps d’offrir aux utilisateurs finaux la possibilité de rédiger des documents ne contenant pas d’informations textuelles.

À l’aide d’une « zone masquée », les utilisateurs d’ARender disposant des droits de masquage pourront afficher le contenu sous l’annotation, tandis que les autres utilisateurs verront une version dans laquelle le contenu a été supprimé du document actuellement affiché.

Comme le masquage le traitait dans la version précédente d’ARender, les rendus sont temporairement stockés en tant que document temporaires pour ARender, ce qui signifie que vous n’avez pas besoin de stocker des données supplémentaires dans votre logiciel ECM pour gérer les versions masquées des documents dès qu’elles doivent être vues.

 

✔️ Eureka : a-t-on vraiment fait une découverte?

Un grand changement architectural d’ARender 4.0.6 est la suppression d’Eureka en tant que dépendance de l’ensemble de la pile de services de rendu.

Le choix derrière c’était assez simple:

  • Notre propre production que nous gérons ne compte pas sur Eureka
  • Eureka a « gonflé » la rendition pour le cas d’utilisation que nous avions pour elle

Depuis 6 versions d’ARender nous n’avons pas encore trouvé de cas d’utilisation pour la détection «à la volée» de micro-services inconnus (de partenaires, d’outils tiers?) Que nous pourrions utiliser avec Eureka.

Entre-temps, nous avons amélioré notre « routeur » interne basé sur les points de terminaison NLB (Network Load Balancers). Même les services tiers seraient bientôt en mesure de s’enregistrer via notre routeur interne.

Le facteur décisif final a été que nous ne comptons pas sur les fonctionnalités de découverte Eureka pour les instances de fournisseur de cloud, car ARender dans notre infrastructure est exécuté uniquement dans Kubernetes et que tout est isolé derrière les NLB, Eureka ne profite alors pas de ces fonctionnalités.

Cela nous amène au dernier grand travail d’ARender 4.0.6.

 

✔️ Libraries : time for a « Spring » cleanup!

Lors de la suppression d’Eureka, nous avons décidé d’examiner ce que ARender pourrait gagner à réduire ses dépendances et à améliorer la taille globale du paquet, ce qui logiquement se traduirait par des temps de démarrage plus rapides. Nous avons non seulement supprimé certaines d’entre elles (principalement Eureka), mais nous avons également homogénéisé les librairies et mis à jour leurs versions, ce qui les a également amenées à réduire leur taille pour certaines d’entres elles.

Les résultats du nettoyage ont été très efficaces, le backend de rendition complet peut démarrer jusqu’à 4x plus rapidement (principalement en raison de la suppression de Eureka), et la réduction de la taille des packages est la suivante:

  • Partie frontale: de 79 Mo (4.0.5-1) à 55 Mo (4.0.6)
  • Rendition ; paquet complet: 528 Mo (4.0.5-1) à 449 Mo (4.0.6)

 

✔️ Enfin, de nouveaux liens web existent et peuvent être consultés (en auto update) :

https://arender.io/compat

Alors que nous venons de modifier et de mettre à niveau certaines bibliothèques tierces nous connectant (par exemple) à Elastic Search, nous voulions nous assurer que les outils tiers resteraient compatibles et que nous prenons en charge une large gamme de leurs versions. Sur cette page web, vous pourrez directement vérifier les versions en cours de test d’intégration testées par notre CI, qui publie maintenant les résultats sur ce site Web. L’ensemble des tests d’intégration est effectué à l’aide d’un framework unique que nous avons développé: la suite de test créer des conteneurs Docker ou Docker compose puis exécute une série de tests d’intégration sur cette pile/ce conteneur. Si les tests peuvent s’exécuter sur la version de ces outils tiers, la version est marquée comme compatible.

https://arender.io/versions

Cette nouvelle page Web est construite à partir du calendrier de publication interne de Jira afin que vous puissiez vérifier directement quel est le plan de publication pour ARender et les dates de publication de ces versions.

Nous prévoyons d’améliorer cette page avec deux nouvelles améliorations dans un proche avenir:

  • Marquez les versions qui ne sont plus supportées
  • Inclure un court résumé de la publication et des grandes lignes de développements planifiés