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
(6)
Mar 19, 2013 02:18:17 UTC
by Chris Galli
event.getValue('foo','default'); is not returning as I am understanding it should. I am using
prc.isWidget = event.getValue('arguments.isWidget','false'); or prc.isWidget = event.getValue('arguments.isWidget',false);
But both return false when my arguments.isWidget value is true
by using
if (arguments.isWidget){prc.isWidget = true;}else{prc.isWidget = false;}; I get the desired behavior.
Am I using this incorrectly?
Mar 19, 2013 02:46:43 UTC
by Brad Wood
You're misunderstanding the event.getValue() method. It is not a general purpose method for accessing any variables in the function but instead a special method specifically for getting values from the request collection. If you do event.getValue('arguments.foo') that is looking for a key called in the request collection struct, or rc[] which is obviously not what you want.
If you want to deal with values coming into the arguments scope, you want to use the regular functionality of CFML to deal with that such as CFParam, structKeyExists() and the like. Only use the methods in the event object to work with the request collection.
Mar 19, 2013 11:57:01 UTC
by Chris Galli
Thanks. That makes sense now. Something more like
param arguments.isWidget = event.getValue('rc.isWidget','false');
pr.isWidegt = arguments.isWidget;
should give the arguments scope priority while gracefully delegating to the rc and then to a default value.
Mar 19, 2013 17:27:41 UTC
by Chris Galli
I discovered I do not need to reference the rc in the event.get value. <br><br> param arguments.isWidget = event.getValue('isWidget','false'); <br><br> prc.isWidget = arguments.isWidget;
Mar 19, 2013 18:00:52 UTC
by Brad Wood
Yep, I was going to comment to that effect but you beat me to it. You only have to pass in the exact name of the variable in the rc to the getValue method. Otherwise it would be looking for rc[] which wouldn't exist.
Think of it this way: return event.getValue();
is the exact same as: var rc = event.getCollection(); return rc.foobar;
Mar 19, 2013 18:01:44 UTC
by Brad Wood
Wow, that's annoying that all our line breaks keep getting eaten-- I'm going to put in a ticket for that :)