next-gen Horde - Views/ - Forms/ dir in apps - next-genDataTree!DataTree -DataObject!DataObject ? - php5 - Fields - html/xhtml/xml renderers - php5 xsl? - Context::appname::method($params) Catalyst - next gen horde app-building framework AJAx builtin webservices Context object see ruby on rails and DB_DataObject pdf - all config in a sqlite core db -FrontController!FrontController pattern - integrate w/ existing Horde - one database, pear installed files, one VFS space - templated Encapsulated globals in Catalyst:: namespace webroot contains: index.php .htaccess themes/ js/ everything else pear installable - apps - blocks - libs Apps are installed under: Horde/Catalyst/Apps/Foo Each app has: Views/ Forms/ Objects/ Methods/ Pages/? Config/? xml filesViewBuilder/PageBuilder!ViewBuilder/!PageBuilder custom viewsWebServices,Web services, command line, GET/web layout should be identical App/Method/Params? Catalyst::message() replaces logMessage(), fatal, notification, and observer - has a return value! use extensions somehow, too? Session object for managing data we expect to find in $_SESSION base catalyst on: ulaform, giapeto, wicked, should replace those ... ? what else? Iterators! Only loop through data once!