Quick links: Content - sections - sub sections
EN FR

Trace: 1.2beta1

This is an old revision of the document!


Jelix 1.2beta1

Still in development. This page is listing updates and enhancements added since 1.1.x version, and that will be available for the future 1.2beta1 version.

Changelog updated as of : 54326085b4ff

Main improvements

  • new module management
  • new install and upgrade system
  • Improved the performance and the flexibility of jDb profiles
  • new jCache class to store all you want in a cache, and where you want (memcache, files..)
  • support of nosql database with jKVDb
  • updated TCPDF to 4.5.015
  • updated Wikirenderer to 3.1.2

Migrating from Jelix 1.1.x

Modules management has changed

In the configuration file, unusedModules, trustedModules and checkTrustedModules are not used anymore. There is now a “modules” section, in which the level access of each modules is declared. The option is the module name plus “.access”. The value should be:

  • 0: if the module is not used at all (default value if the option is not created)
  • 1: the module is used (you use its dao, forms, business classes etc from an other module), but is not publicly available (it is not accessible from the web).
  • 2: the module is used and is accessible from the web

example:

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

To use a module, a module should be “installed”. In fact, there should be a new file “installer.ini.php” which contains, for each entrypoints, the list of installed modules, and for each of them, the installed version. New commands “installapp” and “installmodule” are provided to install and upgrade modules.

Migrating

A “migrate” command is provided, in order to do needed changes in configuration file of your existing application made with jelix 1.1., and to create this installer.ini.php file.

  • replace the lib/ directory by the lib/ of Jelix 1.2
  • verify that your project.xml is ok, that it contains a <jelix> tag with the max version to “1.1”.
  • in your configuration files (defaultconfig.ini.php and other ini files):
    • set checkTrustedModules to “on”
    • removed from modulesPath, directories where you don't use any modules
    • list all modules which can be called from the web in trustedModules
    • list all modules you don't use at all in unusedModules
  • go into lib/jelix-scripts/ and run php jelix.php --yourapp migrate
  • removed all files from temp/yourapp/
  • read the next section, to do changes in your code
  • test your application. it should be ok.

A new a installation script yourapp/install/installer.php has been created, so you can use it later (in a command line) to install or update easily your application. You can create scripts into the install/ directory of your modules, which will be called to install or upgrade your modules. Documentation soon.

Other migration steps
  • The support of old action selectors and old class naming used as of Jelix 1.0 beta, have been removed. You should change your selector and class name if you migrate from a very old version of Jelix < 1.0.
  • If you use directly jelixuser.dao.xml, you should change your selector: it has been moved from the jauth module to jauthdb module.
  • if you made your own jDb driver with a plugin for jDaoGenerator, you should change some methods calls, since some of them have been renamed. A refactoring has been made and you can redefine more methods.

Details of changes

Enhancements, new features

  • New modules management.
    • 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

Bug fixes

  • These release contains all bug fixed in 1.1.x series.

Other versions

en/changelog/1.2beta1.1269978819.txt.gz · Last modified: 2010/03/30 19:53 by bballizlife

Recent changes RSS feed Creative Commons License