Spring ActionScript 0.8.1 Released

ActionScript, Air, Flash, Flex, Spring ActionScript Add comments

Dear Community,

I’m pleased to announce that the Spring ActionScript 0.8.1 release is now available.

Download | API Documentation | HTML Docs | PDF Docs | Changelog

This release includes the Spring ActionScript framework, the Cairngorm extensions and the PureMVC extensions and is mainly a bugfix release based on user feedback, for which we are very grateful.

Besides a series of bugfixes, we have also refactored the stage wiring system a bit so it now enables you to extend it with custom functionality. Two proof-of-concept implementations were added, namely the LocalizationStageProcessor and the SimpleSecurityStageProcessor.

LocalizationStageProcessor

This first processor enables you to assign resource values to components that are added to the stage, thus removing the need to add binding code for components at design-time. The values are assigned on a simple ‘configuration-by-name’ basis: a resource string in the form ‘myButton_label=Click me’ will assign the value ‘Click me’ to the label property of a stage component with the id ‘myButton’.

There’s a small sample app as well showcasing the localization processor.

SimpleSecurityStageProcessor

The second processor is slightly more elaborate and offers runtime security/authorization functionality.

There’s also a small sample application for this processor.

Basically what this processor does is create an ISecurityManager instance for a given component that is added to the stage. (Whether or not this creation will be considered is determined by the approval result of an IObjectSelector). This ISecurityManager holds a list of role and right names that are applicable for the specified stage component and is able to block access to the component after evaluation of these security rules.

The way to block access is determined by the AccessStrategy enum, that is part of the SimpleStageSecurityManager implementation of the ISecurityManager. It can set the enabled property to false, or visible to false, etc. The implementation of these security interfaces is SIMPLE, hence the names. For now, we didn’t want to include a very elaborate implementation since security can vary very widely from application to application. These interfaces are really meant as a ‘roll-your-own’ package, Spring ActionScript just offers the infrastructure in this case.

Last Words

Although this is a minor release, we would recommend all users to upgrade.

Further, we are always looking for user feedback and input. Be it bug reports, patches, new ideas, etc, all help is welcome. If you think you can contribute to the project in whatever way, don’t hesitate to leave something in the comments or mail me at christophe [DOT] herreman [AT] gmail [DOT] com.


Add to Bloglines - Digg This! - del.icio.us - Stumble It! - Twit This! - Technorati links - Share on Facebook - Feedburner
 

4 Responses to “Spring ActionScript 0.8.1 Released”

  1. Arnoud Says:

    Cool!

    i just love this framework and it’s getting better all the time!

    Arnoud

  2. Adnan Doric Says:

    Hello Christophe,

    I have a problem using mxml implementation :
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at org.springextensions.actionscript.context.support::FlexXMLApplicationContext/wireStage()[C:\Users\martino\workspace\SpringActionscript-NEW\spring-actionscript-core\src\main\actionscript\org\springextensions\actionscript\context\support\FlexXMLApplicationContext.as:228]
    at org.springextensions.actionscript.context.support::FlexXMLApplicationContext/completeHandler()[C:\Users\martino\workspace\SpringActionscript-NEW\spring-actionscript-core\src\main\actionscript\org\springextensions\actionscript\context\support\FlexXMLApplicationContext.as:160]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at org.springextensions.actionscript.context.support.mxml::MXMLApplicationContext/load()[C:\Users\martino\workspace\SpringActionscript-NEW\spring-actionscript-core\src\main\actionscript\org\springextensions\actionscript\context\support\mxml\MXMLApplicationContext.as:238]
    at org.springextensions.actionscript.context.support.mxml::MXMLApplicationContext/initializeContext()[C:\Users\martino\workspace\SpringActionscript-NEW\spring-actionscript-core\src\main\actionscript\org\springextensions\actionscript\context\support\mxml\MXMLApplicationContext.as:269]
    at org.springextensions.actionscript.context.support.mxml::MXMLApplicationContext/initialized()[C:\Users\martino\workspace\SpringActionscript-NEW\spring-actionscript-core\src\main\actionscript\org\springextensions\actionscript\context\support\mxml\MXMLApplicationContext.as:183]
    at MovieManager/_MovieManager_MXMLApplicationContext1_i()[X:\wb_fb4\MovieManager\src\flex\MovieManager.mxml:7]
    at MovieManager()[X:\wb_fb4\MovieManager\src\flex\MovieManager.mxml:7]
    at _MovieManager_mx_managers_SystemManager/create()
    at mx.managers::SystemManager/initializeTopLevelWindow()[E:\dev\trunk\frameworks\projects\framework\src\mx\managers\SystemManager.as:2769]
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:\dev\trunk\frameworks\projects\framework\src\mx\managers\SystemManager.as:2623]
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:\dev\trunk\frameworks\projects\framework\src\mx\managers\SystemManager.as:2532]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at mx.preloaders::Preloader/timerHandler()[E:\dev\trunk\frameworks\projects\framework\src\mx\preloaders\Preloader.as:530]
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()

    Everything works fine in 0.8, maybe the wireStage() doesn’t check if systemManager exists ?

  3. Christophe Says:

    Hi Adnan, this definitely seems like a bug. Please log this in our bugtracker at http://jira.springframework.org/browse/SESPRINGACTIONSCRIPTAS and provide some details on the SDK you are using and perhaps some sample code. We’ll have a look it right away then.

  4. Todd Says:

    Having same issue as Adnan. Any fix on the way or workaround. Trying to toy with using Spring ActionScript to manage a PureMVC app then slowly remove PureMVC and use Spring MVCS as it materializes.

    Thanks,

    - Todd

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in