Trois mois se sont écoulés depuis la dernière release de Soosyze et de nombreux événements se sont succédés durant cette période.

Dans nos derniers billets de blog nous proposions à d'éventuels contributeurs de travailler sur Soosyze CMS à partir du 8 décembre 2019. Notre appel n'est pas resté lettre morte puisque le développeur DrBlackApple a rejoint le projet.

Malheureusement, le développement de la version Soosyze CMS bêta1 n'a pas pu commencer à temps. Ayant changé de situation professionnelle, je n'ai pas pu accueillir notre nouveau contributeur et répartir le travail convenablement. À ça vous ajoutez les fêtes de fins d'années, vous conviendrez du retard sur le projet ^^'.

Bref, m’habituant à mes nouvelles fonctions et horaires, j’arrive de nouveau à me dégager du temps pour le développement de Soosyze smiley

Fonctions attendues pour la bêta1

Pour la version bêta1 plusieurs sujets sont au programme, avec pour priorité la prise en charge des montées de versions, le ré factoring du module Node et la gestion des backups/restores.

Montée de version

Jusqu'à présent, Soosyze CMS évolue en version alpha. Tant que les fonctions attendues ne sont pas toutes développées, la prise en charges des montées de version constitue un coût de développement trop important.

La version bêta1 s'approchant, nous étudions les différentes options pour proposer une mise à jour simple pour les utilisateurs et développeurs. Dans un premier temps, la mise à jour concernera seulement le cœur du CMS.

Ré factoring du module Node

Pour rappel le module Node permet de créer des contenus personnalisés en générant un formulaire, enregistrant les données et les restituant en pages. Ce module évite de réinventer la roue à chaque fois que nous voulons proposer de nouveaux contenus. Il s’agit d’un gain de temps est d’énergie considérable pour l’équipe de développement.

Le module a été créé au début du projet et ne devait proposer que des contenus simples à générer (Page et News).

Avec les nouveaux besoins exprimés, nous nous rendons compte de ses limites, comme la génération de champs type listes, checkbox, boutons radios, images, fichiers, etc.

Ce re factoring permettra de générer des contenus plus complets, comme :

  • Une FAQ possédant un ensemble de champ Questions/Réponses avec la possibilité de les trier,
  • Une galerie d'images possédant un ensemble de champs d'images et descriptions, avec la possibilité de les trier

Sauvegarde et restauration du site

Un nouveau module viendra compléter le cœur du CMS : le BackupManager. L'objectif de ce module est de réaliser une sauvegarde du CMS et de pouvoir le restaurer en cas de corruption des données ou fichiers.

Ce module a été entièrement développé par DrBlackApple dans le cadre de son intégration au sein du projet.

QueryFlatfile 1.3.0

Notre bibliothèque de gestion de données a été mise à jour pour pallier à un bug concernant les requêtes effectuées avec la méthode list(). De plus, des tests unitaires exécutés avec succès permettent de supporter la version 7.4 de PHP.

Soosyze Framework

Composant Validator

Ce composant représente 34% du code totale de Soosyze Framework. Il a été décidé que son code sera sorti du Framework pour devenir un composant indépendant et donc utilisable dans d'autres projets.

Cette nouvelle version apporte une séparation des règles de validation pour les champs numériques : min, max et between.

Ajout des nouvelles règles :

  • base64,
  • class_exists,
  • equals_strict,
  • instanceof,
  • iterable,
  • required_with_all,
  • required_without_all,
  • ressourse,
  • uuid,
  • version.

Ajout de nouveaux filtres :

  • to_bool,
  • to_float,
  • to_int,
  • to_ltrim,
  • to_rtrim,
  • to_trim.

Il reste encore quelques points à résoudre, comme l’ajout de règles sur les tableaux et les retours d’erreurs qui seront réglés pour la re factoring du module Node.

Composant Formbuilder

Les erreurs du Formbuilder étaient jusqu'à présent non exploitées, car leurs affichages n'étaient pas pertinents. Dans la prochaine version du Framework, les erreurs seront à nouveau utilisées pour être affichées sous chaque champs.

Retour du développement

De manière générale ces derniers mois ont été un peu compliqués, avec un retour à la normale progressif. Il y a encore de nombreux points à mettre en place concernant la suite du projet, son cycle de développement et ses évolutions futures.

Il y a encore du travail à fournir concernant la vie sur le forum. Le journal de développement n'a pas été mis à jour depuis sa création. Je vous propose donc de nous retrouver chaque samedi, au plus tard dimanche, pour une revue de l'avancement du développement wink