Raccourcis : Contenu - rubriques - sous rubriques
FR

Piste: 1.0beta1

Wiki: Plan du site - Derniers changements - Back link

Ceci est une ancienne révision du document !


Jelix 1.0 beta1

13 janvier 2007 (svn-349)

Principales évolutions

  • nouvelles classes utilitaires : jIniFile, jWiki, jMailer, jSmtp, jFilter
  • nouvelles réponses : jResponseRss20, jResponseAtom10, jResponseCss et jResponseJson
  • nouveaux plugins de templates : wiki, diff, stripslashes
  • nouveau driver LDAP/LDS pour jAuth
  • améliorations dans jUrl
  • amélioration de la prise en charge de pdo dans jDb
  • versions optimisées de Jelix pour les serveurs de production, et versions personnalisées optimisées possibles en fonction des versions/configurations de PHP
  • compatibilité avec PHP 5.2
  • documentation quasi complète de l'api (phpdoc)

Détails des changements

Changement d'API

  • nouvelle convention de nommage :
    • les controleurs CTfoo deviennent fooCtrl
    • les events Listenerfoo deviennent fooListener
    • les zones, Zonefoo devient fooZone
    • les handlers d'url, URLSfoo devient fooUrlsHandler
  • L'ancienne convention de nommage sera possible dans 1.0beta1. Idem dans 1.0beta2 à condition de mettre le paramètre de config enableOldClassNaming = on. Elle ne sera plus possible avec jelix 1.0 finale, sauf en se faisant sa propre distribution avec le paramètre de build ENABLE_OLD_CLASS_NAMING = 1.
  • dans jAuth, il n'y a plus la méthode jAuth:cryptPassword (cf bug 8785). Le cryptage des mots de passe est faite maintenant par les drivers pour jAuth (ce cryptage dépendant en fait des méthodes d'accès au système de stockage des informations des utilisateurs). Par conséquent, dans le fichier de configuration du plugin auth, il n'y a plus d'option password_crypt_function dans la section globale, mais elle se retrouve uniquement dans les sections pour le driver Db ou Class.
  • jAcl : les valeurs des droits ne sont plus numériques mais alphanumériques
  • jForms : l'api a été modifiée légèrement (modifications dans les paramètres à la classe statique jForms) et documentée.
  • Réorganisation des modules d'authentification et de droits
    • le plugin auth migre dans le répertoire lib/jelix-plugins, il n'y a donc plus de répertoire jelix-modules/jxauth/plugins
    • les daos jacl et les scripts sql jacl migrent vers le module jelix
    • ce qui concerne les affichages html de jxauth migrent vers un nouveau module jauth
    • les noms de modules jx* sont maintenant réservés uniquement aux modules XUL et sont livrés en dehors de la distrib jelix.
  • jZone::processZone est renommé en jZone::get, jZone::clearZone en jZone::clear, et jZone::clearAllZone en jZone::clearAll. Les anciennes méthodes existent toujours mais sont deprecated et disparaitront.

Améliorations, nouveautés

  • Responses
    • patch #1548 : ajout des methodes addXSLStyleSheet et addCSSStyleSheet sur jResponseXml
    • Ajout de jResponseRss20 et jResponseAtom10 pour générer des fils de syndication (voir en particulier ticket #15)
    • Ajout de jResponseCss et jResponseJson
    • patch ticket #47 (yannOb) : ajout de meta keywords et meta description dans jResponseHtml
    • amélioration de jResponseRdf : on peut générer le rdf à partir d'un template
    • jResponseHtml : certaines propriétés sont passées de private à protected pour les utiliser dans vos réponses personnalisées.
  • jUrl :
    • FQ 2719 : support de https (attribut https sur <url>, et option simple_urlengine_https)
    • FQ 2612 : Pouvoir supprimer les points d'entrée dans les urls générées (attribut noentrypoint sur <url>)
    • amélioration de jUrl::escape() afin de supprimer aussi les accents des lettres en majuscule et d'autres caractères
    • possibilité d'indiquer un handler de n'importe quel module (pour le moteur url significant)
    • petites optimisations
  • classes utilitaires :
    • ajout d'une classe utilitaire jIniFile permettant de lire et écrire un fichier ini et utilisation jIniFile par une classe du core, jConfigCompiler
    • ajout d'une lib diff (issue de phpwiki et adaptée pour php5) et d'un plugin tpl {diff}
    • intégration de wikirenderer, accessible via la classe jWiki, ou un plugin 'modifier' de template : 'wiki'
    • Ajout d'une classe d'envoi de mail, jMailer (et jSmtp) basée sur phpmailer
    • jDatetime : prise en charge du format rfc 822
    • ajout d'une nouvelle classe jFilter qui sera utilisée à terme par jDao, jForms etc. Selon la version de jelix, peut utiliser ou non les fonctions filter de php 5.2+
    • jJsonRpc : peut utiliser les fonctions json de php 5.2
  • jelix-scripts :
    • Ajout d'une commande d'effacement de cache (patch 1525)
    • patch #1535 : création jAppManager avec méthode clearTemp(). Renommage du jelix-script clearcache en cleartemp et refactorisation en utilisant jAppManager::clearTemp()
  • retour int dans les méthodes DAO de type count (ticket #32)
  • driver LDAP/LDS pour jAuth
  • ajout d'une option -cmdline sur la commande jelix createmodule afin de créer un module contenant un controleur pour la ligne de commande
  • jTpl :
    • ajout de la méthode metaFetch pour optimisation
    • suppression des fichiers modifier.strip_tags.php et modifier.escxml.php car ces modifiers sont en natif dans jTpl
    • ajout du modifier stripslashes en natif
    • modification du plugin jtpl meta_html : ajout de la prise en charge de la méthode jResponseHtml→addOthers() par le plugin
    • ajout d'un paramètre de type csstheme dans les plugins jtpl meta_html et meta_xul
    • ajout de la méthode assignZoneIfNone()
  • testapp : ajout de l'affichage du numéro de version de php et de jelix
  • travail sur l'interface xul du module jxacl et jxauth (en particulier, patch de njeudy ticket #33)
  • mise à jour des schémas relaxng
  • amélioration de la documentation dans le code
  • mise à jour de simpletest vers la version 1.0.1alpha3
  • nouveau système de build en php (voir jBuildTools), ce qui permet de créer plus facilement des distributions jelix en fonction de sa configuration php.

jBuildTools :

  • création d'une petite lib pour des fichiers de build en php (évite l'usage de Make, et réorganisation de code comme la nouvelle classe jManifest
  • jManifest : capable de supprimer les commentaires d'un fichier php
  • preprocesseur
    • modification #ifdef : maintenant le test est vrai si la variable existe mais est aussi vide
    • ajout de la prise en charge de #if expression

Corrections

  • jDb:
    • bug 9007 : constructeur PDO : notices sur les paramètres user et password quand ils sont inexistants dans la config (ce qui peut être le cas quand on utilise sqlite)
    • bug 9008 : jDbPDOResultSet::fetchAll() ne fonctionnait pas
    • bug classe statique dans jDb::testProfil() (Patch #1531 de doubleface)
    • fix bug constructeur jDbPDOConnection (sur un strpos) ticket #48
    • ticket #49 : suppression de la surcharge de query dans jDbPDOConnection, apparement inutile maintenant
    • fix bug dans les méthodes beginTransaction/commit/rollback des drivers, qui utilisaient query au lieu de exec.
    • ticket #74 : ajout d'une exception lors d'une mauvaise connexion à une base postgresql
  • core :
    • Bug #8939 : sur l'affichage des erreurs, xhtml invalide
    • Bug #8903 : mauvaise sortie d'erreur quand le log est impossible
    • bug #9109 : correction dans jResponseHtml : inversion du <title> et de la déclaration du charset dans la génération de la balise <head>
    • jResponseHtml : mauvaise génération des erreurs pendant la génération du HEAD
    • ticket #53 : problème de boucle infinie lors de la récupération de locales quand le fichier n'existe pas. Remplacement des messages localisé d'erreurs spécifiques au locales, par des messages en dur dans le code et en anglais, pour éviter les boucles infinies éventuelles, et léger nettoyage de code dans jLocale.
    • ticket #58: impossible de charger un handler url (url significant) (probleme de selecteur)
    • bug : il était possible d'exécuter une action qui ne correspondait pas au type de la requête
    • ticket #70 : mauvaise reconnaissance de macos
  • petite correction sur le xbl templatepager
  • jAuth, Bug 8785 : l'encryptage du mot de passe devrait dépendre du driver (voir section “changement d'api”)
  • correction bug dans plugin autolocale : mauvais nom de l'interface à implémenter
  • testapp : corrections de bugs dans les tests unitaires (en particulier sur les tests dao)
  • fix bug dans jelix-script : Erreur nom de fichier de config (Patch #1532 de doubleface)
  • correction dans module jxauth : template manquant pour une utilisation en html
  • jForms : ticket #44 Valeur des checkbox mal gérée
  • jZone : la methode _createContent n'était pas protégée
  • jTpl
    • correction de bugs dans les plugins html et text jlocale.
    • {ldelim} et {rdelim} étaient mal pris en compte
    • erreur de génération du code de {assign}, quand il était suivit par un autre tag
    • ticket #43 : il y avait une erreur de compilation de template avec les locales dont le nom de module était identique avec un mot clé php.
    • ticket #45 erreur php sur le plugin de template ifacl
    • erreur de paramètre manquant sur les plugins de bloc
  • jDatetime
    • fix bug sur ISO8601
    • ticket #50 : erreur dans les masques de format de dates

Autres versions

fr/changelog/1.0beta1.1177792694.txt.gz · Dernière modification: 2007/05/09 10:48 (modification externe)
Fils rss des changements récents dans le wiki Creative Commons License