La Gestion de Contenu Simplifiée
CmsMadeSimple 2.0 annoncée
Bonjour tout le monde, et bonne année.
Depuis la série des CmsMs 1.11, pendant que nous travaillions sur la série 1.11.x et la correction des bugs, nous avons également travaillé silencieusement sur les prochaines fonctionnalités de Cms Made Simple. Gardez en tête que nous n'avons pas encore de date de livraison prévue, la version se code doucement et surement et nous avons pensé qu'il est temps de vous donner un aperçu de ce que vous pouvez vous attendre.
Cette nouvelle version majeure n'est pas une ré-écriture complète, même si elle contiendra de très nombreuses modifications et fonctionnalités. Nous pensons qu'elles sont suffisamment importantes et avons donc décidé de la nommer ""CMS Made Simple 2.0"".
Nous sommes ravis de dévoiler quelques-unes des nouvelles fonctionnalités.
Nouvelles fonctionnalités confirmées
Design Manager
Le nouveau module ""Design Manager"" est notre solution à la rationalisation des templates, css, et les opérations liées au design, le tout dans un seul module. De nouvelles classes sont également ajoutées pour répondre au besoin.
Avec les nouveaux templates «inheritance» (héritage), «include» (inclusion) et «fonction» (fonctions) de Smarty3 nous avons décidé qu'il était temps de rationaliser l'ensemble des fonctionnalités des templates, ce qui rend plus facile la réutilisation des templates au sein de CmsMadeSimple. Cela fournit une interface commune pour l'édition ET des templates ET des feuilles de styles (CSS) et facilite le travail du design.
Le Design Manager et ses classes associées possèdent ses caractéristiques :
- Un nouveau concept, un objet ""Design"" est créé, contenant les associations de styles et de template. Un ""Design"" peut être associé à plusieurs feuilles de style, plusieurs templates. Bien que ce soit seulement une relation lâche (comprendre : le programme ne fait que des liens symboliques entre tous les éléments).
- Le module Design Manager fournit les éditeurs pour les feuilles de style et les templates
- Un Design peut être importé/exporté en fichier XML (idem pour les anciens thèmes de la V1.x.x). Le fichier XML exporté contiendra toutes les images, le CSS et les templates.
- Les Templates de modules et le Blocs de Contenus Globaux sont maintenant tous géré dans le module Design Manager sans distinction.
- Les templates ne sont que faiblement lié à leur type. (Par exemple vous pourriez très bien utiliser un template de gestion de menu dans le module Product si vous en aviez vraiment envie et si vous aviez du temps à perdre)
- Les Templates peuvent appartenir à zéro ou plusieurs catégories.
- Les Templates peuvent appartenir à zéro ou plusieurs Designs
- Les Templates, Design, Css doivent tous être nommé de manière unique
- Les Pages doivent être maintenant associés à un Design ET à un Template. (le CSS à utiliser est détecté automatiquement)
- Tous les objets (Design, Templates, CSS) ont maintenant un champ Description
- Les templates peuvent avoir des éditeurs (rôle) supplémentaires et un propriétaire afin d'affiner les droits d'accès.
- Tous les modules de base (tels que le Gestionnaire de menu, News ou Search) n'ont plus de fonctionnalités d'édition de templates. Celles-ci sont entièrement prises en charge par le Design Manager
Nouveaux plugins Smarty pour les formulaires de module et la création de page
Nous avons ajouté de nombreux plugins Smarty (et allons probablement en ajouter un peu plus) pour rendre plus simple la création de formulaire dans les templates de modules. Cela marque un changement net dans la façon dont les formulaires sont géré dans les modules et déplace la plupart des fonctionnalités de design vers Smarty tandis que la logique métier restera dans PHP. A la fin de cette opération, beaucoup des méthodes créant des champs HTML dans l'API module seront mis en deprecated
Amélioration de l'ajout/édition de contenu
Le formulaire d'ajout/édition a été repensé dans un formulaire unique et re-codé dans une logique Smarty autant que faire se peut. Cela permet des customizations et des améliorations. Nous travaillons actuellement à une meilleure gestion des propriétés des différents types de contenu
Réécriture de l'interface UDT
Nous avons ré-écrit les balises utilisateurs afin de le rendre plus ergonomique et mieux intégré à la nouvelle interface d’administration
Recherche dans le back-office
Ce sera l'une des très grosses nouveautés pour les développeurs : un moteur de recherche dédié à l'administration qui cherchera dans les templates, feuilles de style, design, contenu des pages, et (avec un système interne d'ancre) le contenu des autres modules, afin de chercher un texte spécifique. C'est extrêmement utile pour vous aider retrouver un élément dans l'administration, opération qui demandait jusque maintenant de rechercher manuellement dans tous les recoins de CmsMadeSimple. Cela devrait radicalement améliorer le développement dans CmsMadeSimple
Une meilleure expérience utilisateur (final)
Nos avons parcouru tous les formulaires de l'administration et avons ajouté des blocs d'aide interactif et nous nous sommes assuré que les formulaires étaient raisonnablement accessible aux personnes déficientes visuelles.
D'autres nouveautés planifiées :
Module 'Navigation""
Un des plus gros problèmes rencontrés par les développeurs dans CmsMadeSimple est la création d'une navigation unique. La principale raison de ce fait est que quand vient le moment de styliser et d'éditer les templates, la liste plate des nodes actuellement générée par MenuManager ne correspond pas vraiment à une structure de données hiérarchisées.
Le nouveau module Navigation fonctionnera plutôt de la même manière que MenuManager mais, à la place de générer une liste plate de node, il génèrera une structure de données hiérarchisées. Avec cela, et un peu de logique Smarty très simple, il sera très facile de générer une navigation dynamique dans CmsMadeSimple
Nouvel installeur
Un gros problème avec l'installation et l'upgrade de CmsMadeSimple est la nécessité d'uploader et de déployer l'intégralité du package sur votre site internet avant que vous soyez capable de savoir s'il y aura un problème de compatibilité ou autre. Pour cela nous travaillons sur un fichier unique ""installeur"" qui améliorera le processus. Le concept fonctionne ainsi?
En uploadant le fichier d'installation unique et en y accédant via votre navigateur, vous démarrez le processus. Le nouvel installer détecte si CmsMadeSimple est déjà installé et créera une nouvelle installation ou mettre à jour selon ce qu'il trouvera. L'installer vous guidera alors au travers de différents tests de compatibilité pour s'assurer avec vous que vous n'aurez aucun problème avec le package du noyau et ses modules. En troisième point, l'installer vous permettra de sélectionner quels packages vous voulez utiliser (base anglaise, toutes les langues, package différentiel, package de langue, ...) le téléchargera et le déploiera sur votre installation afin d’exécuter les routines d'installation / mises à jour. Bien que ce nouvel installer ne résoudra pas tous les problèmes avec les modules Tiers, ce sera une très bonne avancée pour rendre le processus d'installation plus agréable.
PHP 5.3.x et supérieur
Comme précédemment annoncé, CmsMadeSimple 2.0 exigera PHP 5.3 pour fonctionner.
Note sur la compatibilité et le support.
Comme le dit le proverbe, on ne fait pas d'omelette sans casser les œufs, mais nous pensons que vous trouverez cette omelette délicieuse. De toutes, avec de telles modifications, nous sommes conscients qu'il y aura forcément des problèmes de mise à jour et de compatibilité avec des modules Tiers (Au moment de l'écriture de ces lignes, les WYSIWYG et les modules créant des nouveaux type de contenus sont connu pour être affecté). Cependant nous ne casseront pas l'API des templates pour les modules ou l'API des formulaires pour les modules donc la plupart des modules devraient continuer à fonctionner avec zéro (ou très peu de) modifications.
A cela il y aura certainement des problèmes de surface comme nous tentons de manipuler les structures de données contenant les templates, contenu globaux, css, ... dans la nouvelle structure de Design. Nous allons cependant tenter de minimiser et/ou documenter tous les soucis de mises à jour.
Suite aux problèmes de compatibilité que nous allons avoir, l'équipe de développement (et par extension l'équipe Francophone) a décidé que la série 1.11.x sera supportée (pour les corrections de bugs et les problèmes de sécurités) pendant un an à compter de la date de release du premier package 2.0. Cela laissera l'opportunité aux développeurs de sites de travailler avec les développeurs de modules pour assurer une mise à jour en douceur.
Fin de la traduction.
Alors vous en pensez quoi de cette annonce ?