The first beta of Scorpio 0.3.0 is ready for testing. This features some substantial changes including the removal of the baseAdminSite and related objects, additional work and improvements to the MVC system and a host of bug fixes.
This is an unstable release for testing only! Any feedback would be greatly appreciated. Please leave comments in the forum or email project members. Report bugs or feature requests to the relevant forums.
There are several API breaks between 0.2.X and 0.3. The biggest is in the mvcController. The constructor should now accept the mvcRequest instance as the first parameter. Any initialisation should be done in the initialise() method, or you must call parent::__construct() and ensure that the mvcRequest is passed down.
xajax has been removed from mvcControllerBase and is now a separate controller, inline with the plans to remove xajax in a future release. The xajax functionality can be added very easily via the intermediary mvcController class on a per site basis.
mvcControllerBase has an additional abstract method: hasAuthority() for use with users and permissions. It receives an activity (string name for a resource / permission) and should return boolean true/false if the current user has authority to access it. Note this is separate to isAuthorised() which is specifically for access to the current request.
mvcDistributorBase now has a concrete default implementation: mvcDistributor. This implements mvcErrorController and dispatcher plugins and adds executeOnShutdown(). The logging output for the distributor plugins has changed slightly so that individual site logs will now be aggregated in a single folder allowing memory and timer usage to be recorded per site instead of together.
mvcImageController has been moved into the main libraries folder along with the mvcImageInterface and model. These no longer need to be added to the site config.xml.
mvcSiteConfig no longer returns an instance of systemSite. This class has been removed.
A validation suite has been added for use with utilityInputManager/Filter. There are multiple validators for many data types, suggestions are welcome for additional components.
There is now a simple reporting framework to provide a means to quickly build reports (e.g. user activity, top products etc). This allows report data to be aggregated into a container class that can then be used with various writers to output the report in various formats. Currently there are writers for: csv, xml, html (table), pdf, xls and ods. How reports are scheduled and run is left to the implementer to decide.
The userActivity from baseAdminSite has been refactored to give some basic auth classes, however this still require testing which is ongoing as the baseAdminSite is repackaged as a component.
Posted by: Dave Redfern (Writer), in News on 03 Dec 2009 @ 02:18
This
work is licenced under a
Creative Commons Licence.