API: System: Version Upgrade Information

Trott edited this page Apr 19, 2012 · 4 revisions
Clone this wiki locally

This documentation details upgrade requirements and significant changes for service and content providers for minor and major version releases. Documentation is not provided for revision releases, because they should not significantly change the behavior for either service or content providers.

MWF 1.2 to MWF 1.3

There are several notices for service providers in MWF 1.3:

  • PHP 5.3 is required for MWF 1.3, as opposed to MWF 1.2, which only required PHP 5.1.6. This requirement of PHP 5.3 will be maintain in all future releases of MWF.
  • Configuration file format has changed to ini style in MWF 1.3. Service providers will thus need to port over configuration settings from MWF 1.2 .php files to .ini files in MWF 1.3. All future releases will use ini style instead of PHP files directly.
  • The decorators in MWF 1.3 do not allow HTML content to be passed as inner content. This is a change from MWF 1.2, where MWF 1.2.14 generates E_NOTICE warnings, and prior versions of MWF 1.2 allow this content passed without any side-effects. For service providers that require HTML content to be passed, ->render(true) may be passed instead of ->render() in order to allow HTML content. However, it is generally recommended that this is not done.
  • Caching now occurs in non-system directory. By default, instead of caching in the system /var/mobile directory, caching occurs in the var directory inside of the MWF distribution (but outside of the HTML doc root, which is in the root directory). So that the web server can read and write to it, you may need to change the ownership and/or permissions of the var directory that is inside of the MWF distribution directory. If the web server cannot write to the caching directory, MWF will continue to work but will not use the cache for RSS feeds and minified images. You can change the location of the caching directory in the configuration files.
  • No installation script. MWF 1.2 required an installation script to create necessary system directories. Those directories are no longer needed and there is no need for an installation script.
  • No configuration required if MWF's root directory is your web docroot. MWF 1.2 required two configuration settings out of the box for it to work. MWF 1.3 will work without any configuration at all if the root directory is your web docroot. Of course, you'll want to customize MWF 1.3 with your own assets and content anyway.

Content providers should also be advised of the following:

  • Lean CSS should be recommended for MWF 1.3, instead of the old syntax in MWF 1.2. By default, css.php provides definitions for both the old syntax (which includes suffixes like content-full for content and prefixes all qualifiers like content-padded, whereas the new syntax is content and padded). To run pages with only the lean CSS, pages should include css.php?lean instead of css.php. In MWF 2, the non-lean syntax will be removed altogether.
  • Javascript API changes have been made. This removes the mwf.capability.flexbox() method because its completely inaccurate as reported by browsers currently. The mwf.standard.geolocation library has also been modified, especially in the way it handles errback.

Because of some minor changes for content providers (namely the Javascript API), it is recommended that a preview instance be put up for content providers to test against before porting your instance completely over to MWF 1.3.