Changes for HomePortals 3.2

This section covers the current changes for HomePortals 3.2. This is currently a work in progress and stuff here can change from the final release.

Source code: You can checkout HomePortals 3.2 from here: http://wencho.svnrepository.com/svn/homePortals/branches/3.2/homePortals (username: anonymous)

  • Changed license from LGPL to Apache 2.0
  • homePortals.init() can now accept the app config as an optional second argument. This can be given as an instance of homePortalsConfigBean, or the corresponding XML object or string.
  • Simplified the page.htm template to remove the extra meta tags and added more css selectors to facilitate styling.
  • removed the /homePortals/Common directory and moved the contents of /homePortals/Common/Templates into //homePortals/includes.
  • Catalog now indexes all custom resource properties
  • Added new <defaultResourceLibraryClass> / set/getDefaultResourceLibraryClass() element to config bean. This is used to indicate the default resource library implementation to use when not indicated explicitly
  • Added attribute "overwrite" (in config bean) to all collection-type config elements to indicate that the current settings should replace any inherited values on that section (instead of just appending to them)
  • Removed Doctype declaration from /includes/page.cfm and added it to the default page template.
  • Changed default Doctype from xhtml to html 4.01 strict
  • includes/debug.cfm template can now be used on the same request as includes/page.cfm so it will display debug info about that same request.
  • Added new config setting errorHandlerClass to provide a custom cfc to handle errors while processing content renderers. The cfc needs to implement the homePortals.components.IErrorHandler interface.
  • Removed support for <skinID> tag in page xml; Skins are now handled exclusively through the Skins plugin via page properties.
  • Added support for custom elements in pageBean, this can be used by plugins or apps to extend what can be stored on a pageBean. CustomElements? have full round-trip translation between XML and object-based representation of a page
  • Removed initialEvent and bodyOnLoad elements from HomePortals config since they were used only by the Modules plugin. Equivalent constructs are now found in an updated version of that plugin
  • Removed eventListeners section and child elements from pageBean. They were only used by the Modules plugin. The tag is still supported on the XML syntax but its now implemented as a custom element and handled by plugin.
  • Removed support for $PAGE_ONLOAD$ token in Page Templates. This was only used by the Modules plugin and is now handled differently.
  • Removed generation of javascript code in pageRenderer for h_raiseEvent() function. This has been moved to the Modules plugin too.
  • Added new jquery plugin; other plugins no longer include jqury directly to avoid multiple inclusions
  • Modules plugin is now jquery based
  • Renamed and removed several methods on the homePortals.components.catalog component to provide a more simple and consistent API. Now there are only three methods index(), getIndex() and getResource().
  • Improved the Catalog to better integrate the HomePortals caching features. Catalog index is no longer cached forever, it now will be subject to the same TTL and Size defined on the main config for the catalog contents.
  • Created new execution point for custom plugins: onConfigLoad(). This method is called when the HomePortals configuration files are being loaded, but before the engine is fully initialized. This can be used by plugins to append custom config settings without requiring to call initEnv().
  • Added support for custom properties in plugins.
  • Created helper method for plugins to load a custom config file which will do token replacement on properties. This helps creating more portable plugins.
  • Created new content renderers: form, resourceList, resourceView and imageList
  • Modified default resource library to allow nested packages and remove the reuirement of having to store different types of resources under separate folders. The default res library now mimicks more the underlying file system structure. Also libraries can now point to non web accesible paths.
  • Moved all content renders to their own top level folder at /homePortals/renderers