[[toc]] + H4 Conversion !HowTo Items that need to be converted... ++ Authentication Remove AUTH_HANDLER - use Horde_Registry::appInit() 'authentication' option instead. Remove $session_control - use Horde_Registry::appInit() 'session_control' option instead ++ Autoloading Convert files/libraries to be able to be autoloaded. Remove require/include calls within the code. ++ CLI Use Horde_Registry::appInit(), with the 'cli' option, to initialize CLI scripts. ++ Configuration files Add $Id$ tag to all conf/*.php.dist and conf/*.xml files ++ Convert Base files No more lib/base.php, lib/api.php, lib/version.php. Converted to lib/Application.php and lib/Api.php ++ Convert to PHP 5 TODO instanceof instead of is_a() ++ CVS remnants No need for $Horde$ in header comments. Remove CVS directories. Remove .cvsignore ++ Constants Constants should be namespaced - preferably within the utility class (e.g. lib/App.php). ++ Documentation Update documentation. ++ Globals Remove all use of globals within the application (use injector instead). ++ Injector Usage Various Horde libraries now must be loaded via the injector. ++ Javascript ALL javascript should be in js/. NO javscript (if at all possible) should be contained in scripts/templates. ++ Log handling Log constants have changed. ++ Mail library PEAR's Mail library has been replaced by Horde_Mail. ++ MIME library The MIME library has been rewritten - most calls to the library will probably need to be changed. ++ Output buffering Convert from Util::bufferOutput() -> Horde::startBuffer() ++ PEAR_Error Remove PEAR_Error usage - convert to Exceptions. Each application should define a APP_Exception library that extends Horde_Exception. ++ Prefs UI No more lib/prefs.php - now uses Horde_Registry_Application calls. Update config/prefs.php.dist to remove unneeded entries. ++ Test script No longer uses test.php - converted to lib/Test.php. ++ Themes TODO ++ Url generation Use Horde_Url:: instead of Horde_Util::addParameter()/Horde_Util::removeParameter().