This is more of an announcement of the upcoming 1.2.0 features.
Since event handler caching will be instilled into the framework, the
performance is dramatic. It actually, does not make sense to be
creating event handlers for each request. So version 1.2.0 will be the
last version to support uncached handlers. The versions after 1.2.0
will have caching of handlers by default. I see no benefit of
not caching the handlers. And they can easily be recreated by using
fwreinit= url command
So. Since event handler caching actually changes A LOT in event
execution. The methods will receive the request collection object,
instead of the handler being injected with it at creation. What does
this imply? Well, mainly the 'rc' scope will become deprecated. You
can keep it, however, you must var scope it locally.
Example:
var rc = arguments.oRC (or whatever the argument is named, still
pending)
Please keep this in mind.
There will also be some changes due to your suggestions, to have a way
to distinguish framework methods from local ones. Most likely, the
oRC object will also hold some extra methods to invoke some external
commands. This is still in the definition process. I guess an example
would be on how to run an event from within an event. Example code:
oRC.getEventManager().runEvent("event", oRC);
I will then run the event and pass in the oRC as you see above.
Please give me your input on these upcoming features. The event
handler caching is a totally different execution process and some
previous version code will have to be altered, but it is for the
common good. You will see the execution differences. You will never
think you are running your application in a framework.
Please give me your input.
Blog
Recent Entries
BoxLang v1.13.0: Compatibility, Concurrency, and Formatter Maturity
BoxLang 1.13.0 is here, and it marks an important step forward for the platform. This release includes 48 tickets—every one of them completed—reflecting a focused effort on CFML compatibility, a more robust concurrency engine, a production-hardened miniserver, and meaningful tooling improvements.
🚀 ColdBox CLI 8.11: The Era of AI Skills Comes to Every ColdBox & BoxLang App
ColdBox CLI 8.11 is here, and it's one of the most significant releases we've shipped for AI-assisted development. This release wires the CLI directly into our brand new public skills directory at skills.boxlang.io, brings our AI tooling in line with industry-wide agent conventions, and introduces a wave of quality-of-life improvements that make AI integration feel less like setup and more like infrastructure.
🎓 Introducing skills.boxlang.io — The Open Agent Skills Ecosystem for BoxLang & the Ortus World
Today we're launching something we've been quietly building for months: skills.boxlang.io — a public, agent-agnostic directory for AI skills covering BoxLang, ColdBox, TestBox, CommandBox, and the entire Ortus ecosystem.
Add Your Comment
(5)
Feb 06, 2007 03:48:06 UTC
by Sana
Hi Luis,
Does this will work under load balance. If this only session based then websites running on two physical webserver might have problem. just curious to know that each utitlityof ColdBox will not have problem in clustering environment.
Thanks
Feb 06, 2007 12:15:24 UTC
by Luis Majano
Session is no longer in use Sana. Just application scope. So, this is cluster safe. More changes are coming, stay tuned.
Feb 06, 2007 15:28:05 UTC
by Sana
Hi Luis,
thats great news, just curious to know what about message plugin, does it will use application scope or not. because i think application scope is the way for clustering environment for these kind of features.
Thanks Sana
Feb 06, 2007 15:29:47 UTC
by Sana
Hi Luis,
sorry small correction in my question..
thats great news, just curious to know what about message plugin, does it will use application scope or not. because i think application scope is not the way for clustering environment for these kind of features.
Thanks Sana
Feb 06, 2007 17:02:33 UTC
by Luis Majano
Sana,
The messagebox will now have a choice of storage, either session or client.
This is framework-wide. Or can be changed via the plugin API.
This gives the programmer the option of storage for the messages.