Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Piste : tutors hall-of-fame 1.2 1.2.x howto 1.2 about 1.1rc1 hall-of-fame 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: Improve the policy management module. see above.
  • ticket #31/#263: new installation/update system
    • a module should provide a class which should inherit from jInstallerModule. For upgrades, a module can provides a file for each version which needs to do things to upgrade to this version.
    • ticket #965: moved jInstallCheck to installer/ and unified message reporters between jInstallCheck and jInstaller. The same interface is used now.
  • ticket #1048: support of nosql database with jKVDb
  • jDb and jDao
    • Improved the performance and the flexibility of jDb profiles. Now a profile name can be an alias or a real name. If a profile doesn't exist, the default profile is used. So, if an external module needs a specific profile name, we don't have to setup a profile. We just have to set an alias.
    • ticket #590: make PDO/sqlite database path specification relative.
    • new method jDbConnection::tools, and jDb::getTools is now deprecated.
    • new jDbSchema object to create and manage tables. only mysql driver for the moment.
    • ticket #799: experimental jdb driver for mssql
    • ticket #871: jDbTools provides a way to translate any field type.
      • Dao files can now refers to any database field type, although it doesn't support blob fields yet
      • support of a new attribute autoincrement on the property element in jdao
      • better support of long numerical values
      • new properties on jDbField: unifiedType, unsigned, minLength, maxLength minValue maxValue
      • new methods on jDbTools: getTypeInfo, unifiedToPhpType, stringToPhpValue, escapeValue, getBooleanValue, encloseName
      • no more static properties on jDaoCompiler
      • Api of jDaoParser and jDaoGenerator has changed
      • new properties on jDaoProperty: unifiedType, autoIncrement, and the signature of the constructor has changed
      • removed the deprecated method jDb::getProfil and you should use jDb::getProfile instead.
    • ticket #923: jDao, support of insertpattern on primary key not autoincremented. removed also the primary keys into update queries
    • ticket #869: execSQLScript now is able to use the table prefix indicated in a profile
    • ticket #477: support of postgresql schemas in jdb profiles. you can indicate the search_path value
  • jForms
    • ticket #887: jFormsBase::prepareObjectFromControls supports the new unifiedType
    • ticket #1000: new jFormsBase::getUploads() method
    • ticket #1002: CSS classes added to specify control types in html builders
    • ticket #934: new wikieditor widget for jForms
  • Responses
    • ticket #810: we can now change the title of the html response with the jtpl meta plugin
    • ticket #864: improvements on jResponseLatexPdf
      • added a date property
      • added a property outputFileName
      • we can choice the title
      • changes on the command line call
    • Added a property $temporary on redirect and redirecturl responses
    • ticket #737: display of the stack trace with the error message, in responses, if the TRACE keyword is used in the configuration
    • ticket #1063: support of author and generator metas on jResponseHtml
  • Utils
    • ticket #540: new jCache class.
    • 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.1269975442.txt.gz · Dernière modification : 2010/03/30 18:57 de bballizlife

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