Roadmap

  • A next generation ColdBox. This release will move ahead and deprecate obsolete parts of the framework and integrate a more robust architecture. Look below at a full summary of tickets for all the changes in this milestone.


    Milestone Tickets Summary

    #117
    Bean Factory, Form Validators?
    #124
    New Verbose Mode for Cache
    #294
    Cache Serialization option
    #311
    Event Caching to hard files
    #333
    Complete the Internal Service Factory
    #349
    New Plugin: mailservice (For sending emails and much more)
    #352
    spammers attack prevention
    #383
    Rename methods name
    #391
    two dimensional array
    #407
    Deprecation of <DevEnvironments> since environmentcontrol interceptor overrides it.
    #408
    Deprecate - webservices DevURL attribute. No longer needed
    #411
    controller.getService() will be deprecated by this version
    #422
    Cache - Email on low jvm memory alert
    #451
    Cleanup & Refactoring of XML Parser into logical units.
    #456
    Ability to override Interceptor properties via the environment interceptor
    #464
    Enable multi threading for Railo
    #469
    Deprecation of createArray() createStruct() in Utilities plugin
    #472
    Renaming of MyPluginsLocation setting to PluginsExternalLocation
    #484
    Ability to store locale in cookie
    #486
    Refactoring of xmlparser
    #488
    SES enhance for invalidURL
    #489
    lightwire autowire enhancement
    #490
    Feed Generator - Support additional xml format like iTunes/Atom etc
    #498
    Update CF Facade methods to new names or conventions: dump,abort,throw
    #505
    beanFactory: populateFromQuery enhancement to return Array-of-Objects from query
    #510
    Refactor includes folder into more meaningful packages
    #512
    SQL Injection Protect
    #514
    queryHelper: Query To XML
    #515
    New Validation Plugin
    #520
    Cache Disk Storage, Flush mechanisms and Server Restart integrations
    #522
    Create More Cache load tests and concurrency tests and long-running tests
    #524
    CFLock Timeout
    #530
    framework reload with password
    #531
    Deployment under J2EE Instance
    #534
    New Internal Service: MailService() used to send mails for ALL ColdBox Apps configured by the mail settings and using a new Mail bean
    #537
    Event Caching, new metadata param cacheToDisk=boolean this can tell the cache engine to cache to disk the event or not
    #538
    New Cache Option: CacheDiskLocation where serializations and disk caching can occur
    #541
    Deprecation of DefaultView in preference to implicit view declarations
    #542
    Default Action Override per Event Handler
    #544
    Your Settings new elements: <Node> & <Include>
    #546
    New Cache Option: EventDiskCaching[boolean] a default of where event caching will be stored.
    #547
    New Cache Option: ViewDiskCaching[boolean] a default of where view caching will be stored.
    #548
    Updates to setView() and renderView() for accepting more cache properties: cacheToFile[boolean],cachePrefix[string] and cacheStruct that can contain all the cache values
    #550
    SES Routing Mechanism Updates
    #551
    Ability to throw 404 via method + page location: show404(page)
    #560
    Create some ColdBox MXUnit Assertions for relocations
    #561
    JavaLoader new setting in configuration file: javaloader_loadLocation, this can be an array of locations to javaload
    #572
    asynchronous GET or POST (New Plugin)
    #580
    New method: lookupMulti() to lookup multiple keys in the cache.
    #582
    Global setting or configuration to disable Coldbox cfthread usage in your application
    #584
    New methods for coldbox factory: getRequestContext() and getRequestCollection() for easy access to the request
    #589
    compatibility renaming of arguments in the setnextevnet and route for varStruct arguments should be persistStruct
    #590
    rename baseTest to baseCFCUnitTest for compatibility
    #591
    updates of the xmlparser as a standalone service
    #597
    IOC Updates:2
    #607
    Ability to determine if a request is coming from a bot
    #609
    New cache setting to use thread yielding when running reaps: <ReapYielding>
    #612
    Reserved Functions Name
    #630
    Change environments.xml to an actual cfm template: environments.cfm, so programmatic approach will be done.
    #635
    Coldspring style <imports> for configuration file
    #674
    Update the API used for flash variables instead of persistVariables() method.
    #678
    cookiestorage plugin enhancements
    #695
    Security interceptor does not allow for ssl redirection or more control on how the secured event is redirected
    #696
    Have the ability to declare a controller decorator, with the same premise as the request context decorator
    #697
    Pass in the current executing action (method) as an argument to the handler interceptors (pre/post handler actions)
    #698
    populateFromQuery does not reflect all arguments to the inner populateFromStruct call.
    #699
    mod_rewrite for J2EE
    #700
    Ability to control the subjet area of the email bug reports
    #701
    add encryption encoding
    #702
    security interceptor deprecate the "useRoutes" setting as it can be autodetected now
    #703
    update invocation paths with custom conventions by replacing / with (.)
    #704
    Handlers service cleanup on handler registration on multi-nested conventions and windows OS
    #705
    buildLink addition of a rcList and appendMap for adding name-value pairs to the link that is built
    #706
    check if routes do not comply if started with a "/" ex: /people/:id
    #707
    Plugin Convenience methods to get an event object reference and the collection: getRequestContext(), getREquestCollection()
    #708
    Rework messagebox to handle multiple message types and convenience methods
    #709
    ioc plugin support for <import> tags
    #710
    preEvent and postEvent interceptors should not fire on prePost run event exemptions and they are now.
    #711
    handlerRegistrtation is out of sequence in the setup calls. runEvents() within interceptors pre-app load will fail
    #712
    update setnextevent to fire off postprocess interception points. Also create a flag to bypass it
    #713
    testing classes are not respecting the persistence over requests
    #714
    expose the lock timeouts and app hashes from the coldbox.cfc dispatcher
    #716
    new interception point: preLayout() ocurring before the rendering takes place
    #718
    Make every field after settings dynamic using ${} replacement
    #720
    REquest context error on throw call instead of throwit
    #721
    cookie storage sets var with 1 day expiry to session
    #722
    Core Extensions Folder
    #723
    Deprecation of cfcUnit support
    #724
    ApplicationStorage getVar not returning default variable
    #725
    Plugin has new properties: pluginAuthor, pluginAuthorURL
    #726
    Cluster Scope Plugin added to Core
    #727
    new metadata when dealing with model integration: singleton=true/false
    #728
    Query string support to setNextRoute
    #729
    buildLink should support query strings just like setnextevent
    #730
    new interception point: afterModelCreation this can be used by ORM plugins and the sort
    #731
    readonly locks optimized for coldbox dispatcher
    #732
    Ability to override the default named keys of the coldbox controller and bootstrapper in application scope
    #733
    Application generators modify to create flex enabled applications and monitors
    #734
    Coldbox Mocking Factory introduced
    #735
    rename addCourse to addRoute as now this is coldbox ses
    #737
    samples gallery internationalization has bugs
    #738
    new sample applications: feedGenerator, feedReader to showcase the new feed plugins
    #739
    security interceptor preEvent security was firing without being explicitly set.
    #740
    MI - constructor arguments not backing default autowires of Model or IOC. Needs the default checks
    #741
    ssl support for the ses interceptor
    #742
    SES View Dispatcher - No events needed
    #743
    event context new method: getHTTPMethod() tells you the cgi method used
    #744
    new eventhandler property: allowedMethods which is a struct of http allowed methods for actions
    #745
    ses optimization, do regex translation at the time of adding a route
    #746
    new unit testing directive: this.loadColdbox = boolean
    #747
    autowire interceptor setterinjection defaults to false
    #748
    SES - You can now set the ses into debug mode and trace the routings: setDebugMode()
    #749
    SES ability to turn off/on convention name value pairs on a per route basis: valuePairTranslation argument
    #750
    logger tracer messages are invalidly trying to duplicate extrainfo arguments
    #751
    coldboxproxy process,announceinterception methods had access of remote instead of private
    #753
    bug on sample login application on railo
    #754
    debugger service, provide static tracers just like profilers instead of using flash ram
    #755
    includeUDF and HandlerCaching
    #756
    ColdBox Proxy Builder - New Interceptor
    #757
    Encapsulate some feed plug-in methods into other objects
    #758
    new MI setting: ModelsDefinitionFile which points to ModelMappings.cfm
    #759
    cfc generator bug
    #760
    Ability to have a list of external locations for ModelsExternalLocation
    #761
    new context method: event.bypassExecution() will bypass the main event execution
    #762
    Alter interceptor response buffer to return the content via the processState calls.
    #763
    base test case - new method: mockModel() so you can now mock models by convention
    #764
    Query Simulator now on Base Test Case: querySim() so you can easily create queries in your unit tests
    #765
    renderData not setting the correct content type when using type = plain or a non-existent type
    #766
    getDecimalSymbols on i18n plugin has an error on getPlusSign method.
    #767
    errors on default values when displaying debug info in debug.cfm
    #768
    security interceptor, default querychecks to false so it is more forgiving.
    #769
    Coldbox core should be tested with "Strict" scopes
    #770
    Reactor Loader interceptor
    #771
    security interceptor - allow declaration of extra/custom elements on rule elements in the xml file
    #772
    Model integration- new directive on resource file to register all model objects found with the default alias
    #773
    If translation does not exist in current resource bundle, it will now look in the default resource bundle for the translation
    #774
    add singleton support to handlers and plugins just like model integration
    #775
    better exception handling on handler and plugin creation
    #776
    new supertype helper method: addAsset(), which can load a css or js file to the head section only if it has not been loaded already in a request
    #777
    cache manager object keys need consistent trims
    #778
    new Method getModelPath
    #779
    Simplification of plugins/handlers constructors. No need to accept a controller or call super. This is done now via decoration.
    #780
    Event handler methods no longer need the event argument. This will be done via an event proxy object available in the variables scope. (cf8 only)
    #781
    Mockbox not recognizing argument's signature for mocked methods.
    #782
    ses bug on urls containing extra ? or encoded ? as %3F
    #783
    Mail service enhancement
    #784
    Decorator folder
    #785
    ReSTful web services
    #786
    Flash Ram Object
    #787
    BlenderBox AOP Step1
    #788
    AOP AddAdvice
    #790
    Controller Decoration
    #791
    Coldbox Web Flow
    #792
    New interceptor attribute: @alias, so you can use this alias to retrieve them via getInterceptor()
    #793
    renderdata marshalling
    #794
    Update AntiSamy Plugin
    #795
    constraints addRoute() argument that is a json structure of regex overrides of placeholders
    #796
    Ability to disable sidebar via event values: _cbSidebar (boolean)
    #797
    Ability to have another argument
    #798
    New Validator plugin for multiple kinds of validations of data
    #799
    Request Context new method: isSSL(), which tells you if you are in ssl mode or not
    #800
    renderdata now includes encoding types
    #801
    New Setting for Layouts: LayoutsExternalsLocation in order to bring in external layouts by convention
    #803
    renderlayout now can take in an optional layout argument. If passed, it will render that specific layout instead of the one by convention
    #804
    Add try/catch to autowire interceptor to allow for more debugging information when autowire fails on targets

  • Work on getting mind control to work, plus the rest of the tickets here. Hopefully, we can integrate more of the new CFML engine features and solidify our 3.1.0 features.

    Look below at a full summary of tickets for all the changes in this milestone.


    Milestone Tickets Summary

    #287
    Resource bundles must use cache now to load and unload from the coldbox cache.
    #354
    fwreinit from allowed IPs
    #473
    Deprecation of MyPluginsLocation setting from the XSD, in favor of PluginsExternalLocation
    #539
    resource bundle getResource with substitutions, pass in a array or simple value or struct.
    #593
    OpenID Plugin
    #596
    IOC Updates:1
    #598
    IOC Updates:3
    #599
    IOC Updates: 4
    #633
    StatusCode for setNextEvent, setNextRoute, Relocate
    #736
    deprecate addCourse() in favor of addRoute()
    #752
    New Method getWebResources()

Note: See TracRoadmap for help on using the roadmap.