Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Piste : translate hall-of-fame jevent 1.2.x 1.1.x simple-jforms-example 1.4.x hall-of-fame 1.3 1.2beta1

Ceci est une ancienne révision du document !


Jelix 1.2beta1

Version en cours de développement. Voici la liste complète des améliorations apportées depuis la version 1.1.x, et qui seront disponibles dans la future version 1.2beta1.

Changelog basé sur le changeset : 54326085b4ff

Améliorations principales

  • nouvelle gestion des modules
  • nouveau système d'installation et de mise à jour
  • amélioration de la performance et de la flexibilité des profiles jDb
  • nouvelle classe jCache pour stocker tout ce que vous voulez dans un cache, où vous voulez (memcache, files..)
  • support des base de données nosql avec jKVDb
  • mise à jour de TCPDF en 4.5.015
  • mise à jour de Wikirenderer en 3.1.2

Mettre à jour depuis Jelix 1.1.x

La gestion des modules a changé

Dans le fichier de configuration, unusedModules, trustedModules et checkTrustedModules ne sont plus utilisés. Il y a maintenant une section “modules”, dans laquelle le niveau d'accès de chaque module est déclaré. L'option se compose du nom du module plus “.access”. La valeur devrait être :

  • 0: si le module n'est pas du tout utilisé (valeur par défaut si l'option n'est pas créée)
  • 1: le module est utilisé (vous pouvez utilisez ses daos, forms, business classes, etc, … depuis un autre module), mais il n'est pas publiquement disponible (il n'est pas accessible depuis le web).
  • 2: le module est utilisé et est accessible depuis le web

exemple:

[modules]
testapp.access = 2
junittests.access = 2
jWSDL.access = 2
jacldb.access = 0
jacl2db.access = 1
jauthdb.access = 1
jauth.access = 2
Installation de modules

Pour être utilisé, un module devrait être “installé”. En fait il devrait y avoir un nouveau fichier “installer.ini.php” qui contient, pour chaque point d'entrée, la liste des modules installés, et pour chaque d'eux, la version installée. Des nouvelles commandes “installapp” et “installmodule” sont fournies pour installer et mettre à jour les modules.

Migrer

Une commande “migrate” est fournie dans le but d'effectuer les modifications nécessaires dans le fichier de configuration de votre application et pour créer le fichier installer.ini.php.

  • remplacer le répertoire lib/ par le lib/ de Jelix 1.2
  • vérifier que le project.xml est bon, qu'il contient une balise <jelix> avec la version max à “1.1”.
  • dans vos fichiers de configuration (defaultconfig.ini.php and autres fichiers ini):
    • mettre checkTrustedModules à “on”
    • supprimer de modulesPath, les répertoires où vous n'utilisez pas de modules
    • lister tous les modules qui peuvent être appelés depuis le web dans trustedModules
    • lister tous les modules non utilisés du tout dans unusedModules
  • aller dans lib/jelix-scripts/ et lancer php jelix.php --yourapp migrate
  • supprimer tous les fichiers de temp/yourapp/
  • lire la rubrique suivante pour effectuer des modifications dans votre code
  • tester votre application. Cela devrait être ok.

Un nouveau script d'installation yourapp/install/installer.php a été créé, que vous pourrez utiliser plus tard (en ligne de commande) pour installer ou mettre à jour facilement votre application. Vous pouvez créer des scripts dans le répertoire install/ de vos modules, qui seront appeler pour installer ou mettre à jours les modules. La documentation sera bientôt rédigée.

Autres étapes de migration
  • Le support des anciens sélecteurs d'action et ancien nommage des classes tels qu'utilisés dans Jelix 1.0 beta ont été supprimés. Vous devrez modifier vos sélecteur et nom de classe si vous migrez depuis une très vieille version de jelix < 1.0
  • Si vous utilisez directement jelixuser.dao.xml, vous devrez changer votre sélecteur : il a été supprimé du module juaht pour se retrouver dans le module jauthdb
  • Si vous avait fait votre propre driver jDb avec un plugin pour jDaoGenerator, vous devrez modifier certains appels de méthodes car certaines d'entre elles ont été renommées. Une réécriture a été faite et vous pouvez redéfinir plus de méthodes.

Détails des changements

Améliorations, nouveautés

  • Nouvelle gestion des modules.
    • ticket #821: amélioration de la politique de gestion des modules. Voir au dessus.
  • ticket #31/#263: nouveau système d'installation et de mise à jour
    • un module devrait fournir une classe qui hérite de jInstallerModule. Pour les mises à jour, un module peut fournir un fichier pour chaques versions qui ont besoin de faire des mises à jour vers cette version.
    • ticket #965: déplacement de jInstallCheck vers installer/ et unification des rapporteurs de message entre jInstallCheck et jInstaller. La même interface est maintenant utilisée.
  • ticket #1048: support des base de données nosql database avec jKVDb
  • jDb et jDao
    • amélioration de la performance et de la flexibilité des profiles jDb. Maintenant un nom de profil peut être un alias ou un nom réel. Si un profile n'existe pas, le profile par défaut est utilisé. Donc, si un module externe a besoin d'un nom de profile précis, vous n'avez pas à configurer un profile. Vous avez juste à créer un alias.
    • ticket #590: make PDO/sqlite database path specification relative.
    • nouvelle méthode jDbConnection::tools, et jDb::getTools et maintenant dépréciée.
    • nouvel object jDbSchema pour créer et gérer les tables. Seul le driver pour mysql driver existe pour le moment.
    • ticket #799: driver jDb expérimental pour mssql
    • ticket #871: jDbTools fourni un moyen de traduire chaque type de champ.
      • les fichiers Dao peuvent maintenant faire référence à n'importe quel type de champ, bien qu'il ne support pas encore les champs blob.
      • support d'un nouvel attribut autoincrement sur l'élément property dans jdao
      • meilleur support des valeurs numériques longues.
      • nouvelles propriétées sur jDbField: unifiedType, unsigned, minLength, maxLength minValue maxValue
      • nouvelles méthodes sur jDbTools: getTypeInfo, unifiedToPhpType, stringToPhpValue, escapeValue, getBooleanValue, encloseName
      • il n'y a plus de propriétés statiques sur jDaoCompiler
      • l'Api de jDaoParser et jDaoGenerator a changé
      • nouvelles propriétés sur jDaoProperty: unifiedType, autoIncrement, et la signature du constructeur a changé
      • suppression de la méthode dépréciée jDb::getProfil et vous devrez maintenant utiliser jDb::getProfile à la place.
    • ticket #923: jDao, support de insertpattern sur les clés primaires non auto-incrementées. Suppression aussi des clés primaires dans les requêtes update
    • ticket #869: execSQLScript est maintenant capable d'utiliser le préfixe de table indiqué dans un profile
    • ticket #477: support des schemas postgresql dans les profiles jdb. Vos pouvez indiquez la valeur du seach_path
  • jForms
    • ticket #887: jFormsBase::prepareObjectFromControls supporte le nouveau unifiedType
    • ticket #1000: nouvelle méthode jFormsBase::getUploads()
    • ticket #1002: des classes CSS classes ajoutées pour spécifier des types de contrôles dans les builders html
    • ticket #934: nouveau widget wikieditor pour jForms
  • Responses
    • ticket #810: on peut maintenant modifier le titre de la réponse html depuis le plugin jtpl meta
    • ticket #864: amélioration sur jResponseLatexPdf
      • ajout d'une propriété date
      • ajout d'une propriété outputFileName
      • on peut maintenant choisir le titre
      • modifications dans l'appel en ligne de commande
    • ajout d'une propriété $temporary sur les réponses redirect and redirecturl
    • ticket #737: affichage de la stack trace dans le message d'erreur, dans les réponses, si le mot clé TRACE est utilisé dans la configuration
    • ticket #1063: support des métas author et generator sur jResponseHtml
  • Utils
    • ticket #540: nouvelle classe jCache.
    • ticket #796: added a new output type FULL_LANG_DATE in jDateTime.
    • ticket #623: new method jDateTime::substract
    • jMailer: added a new type of mailer, file, to store mails into files instead of sending them, to test an application without having connectivity to internet
    • Added a new method isModified on jIniFileModifier and jIniMultiFilesModifier
    • improved jIniFileModifier : removeValue(), supporting comments when removing a value.
    • methods of jCrypt become public.
    • new class jVersionComparator
  • core
    • ticket #854: Optimisation of the loading of coord plugins.
    • ticket #903: jUrl, significant engine: multiple modules without action for a unique entrypoint.
    • New method jRequest::getProtocol()
    • ticket #656: better support of PUT for rest controllers.
  • jTpl
    • ticket #804: parenthesis were not accepted in foreach statements
    • added a default tpl variable in jTpl: $j_locale, which contains the current locale code
    • added the include plugin for jtpl
    • ticket #808: add break jTpl plugin.
    • ticket #943: cycle_init accepts now arrays as argument
    • ticket #760: new tpl plugin, modifier truncatehtml.
    • ticket #996: meta_html plugin allows now additionnal parameters
    • ticket #1003: new mailto plugin
    • ticket #938: new jfullurl plugin
    • ticket #654: date_format accepts now a timestamp for the default date
    • ticket #1019: new hook plugin, to send events during the content generation
    • ticket #993: new gravatar plugin
  • jAcl2
    • ticket #1014: jAcl2db_admin: localized subject instead of the id
    • ticket #1015: new jAcl2DbUserGroup::getPrivateGroup() method
    • ticket #1016: jAcl2Db: support named groups
  • jEvents : more flexibility by calling the old method performEvent on listeners
  • junittest module: new method jUnitTestsDb::assertTableContainsRecordsByKeys
  • Diff lib: table formater generates now better html content and with line numbers. Added also a default css for diff formating.
  • ticket #947: master_admin module: add an $order property on masterAdminDashboardWidget
  • ticket #934 Added markitup, a wiki editor in javascript
  • ticket #1051: additionnal events generated by jAuth: AuthErrorLogin and AuthBeforeLogin
  • jUrl
    • Significant url engine: you can now use <entrypoint type=…> instead of <…entrypoint>
    • ticket #767: allowing external files to define significant urls
  • jelix-scripts
    • ticket #870: new script to create a business class from a dao
    • ticket #848: createform and createdaocrud create now files for locales
    • ticket #937: commands can now indicate if the application must exist or not to run the command
  • remove deprecated classes and members from some classes: jController::processZone, jResponseHtml::_commonProcess, jResponseHtmlFragment::_commonProcess,

jResponseXUL::_commonProcess, jFormsBase::getDatas, jTpl::metaFetch, jDateTime::BD_*, interface jIFormDatasource, class jDummyAuthUser

Corrections

  • aucune pour le moment

Autres versions

fr/changelog/1.2beta1.1269977246.txt.gz · Dernière modification : 2010/03/30 19:27 de bballizlife

Fils rss des changements récents dans le wiki Creative Commons License