The Ortus BlogBox

"Ortus: A rise, beginning, coming into being, born, the origin!"

 

CommandBox 1.1.0 Released

Brad Wood
Apr 13, 2015

 

We are very excited to announce the immediate release of CommandBox version 1.1.0.  This is a maintenance release that addresses much of the feedback and bug reports that we received from the community since our 1.0.0 release a few month ago.  The response to CommandBox 1.0 has been phenomenal and we are excited to see so many CFML developers finding a new level of productivity.  Thanks to everyone who has used CommandBox thus far and provided great feedback and ideas.

CommandBox, CommandBox, Releases, Releases 0

Bypassing ColdBox's Error Handling

Brad Wood
Apr 10, 2015

 

Error handling is one of those important things that many developers neglect.  Your code never errors once you're done testing it, right :) ColdFusion's detailed error messages were always a draw to the platform, but have become a bit of an embarrassment when surfing across a site that's sporting the default, ugly error page because the developers didn't bother to even implement a global error handler. 

When you use ColdBox, errors in your code are handled automatically by the platform.  There are very few features of ColdBox that kick in by default but this is one of them and we feel it's for very good reason.  ColdBox's debugging screen is not only prettier, but it displays a plethora of additional information to help you troubleshoot.  In ColdBox 4, we took it a step further by making ColdBox's default error template secure-by-default.  This means if you install ColdBox, don't change a single setting, and push it to production, errors on your site won't be advertised in juicy detail to the first hax0r that surfs across.

ColdBox's error handling is also incredibly powerful.   There's no need to litter your code with try/catches to ensure all errors are handled.  The framework will capture any error and gives you several ways of handling that error, whether it's the onError() convention in your handler, the exception handler event, or an interceptor.  Take your pick.  You can read about all these options here.

http://wiki.coldbox.org/wiki/ExceptionHandling.cfm

Perhaps surprisingly, this blog isn't about any of those options.  I wrote this up to describe how to completely BYPASS ColdBox's exception handling.  I've only heard one person ever want to do this, but they suggested that perhaps others had wondered the same thing and simply not voiced the question.  Honestly, I'm not sure why you'd want to bypass a perfectly good, extensible error handling subsystem to write another one from scratch, or just leave your site unsecured, but I suppose it's possible you just really like the colors of the default error template.

To cause your exceptions to bubble up out of the framework, simply put this bit of code in your /config/ColdBox.cfc somewhere outside of the configure() method.

function onException() {
  throw( object=interceptData.exception);
}

Yep, it's really that simple.  The magic that lets this work is the fact that your ColdBox configuration file itself gets registered as an interceptor.  This means you can create interceptor methods right there in your config file and they'll get registered.  In this case, we're listening to the onException interception point, then simply re-throwing the exception object.  This will promote the exception up to your Application.cfc's onError() method, or if that isn't defined, the global error template defined in your CF Administrator.

 

ColdBox, Tips & Tricks 0

TestBox Documentation Book Released

Luis Majano
Mar 26, 2015

 

We are proud to announce the general availability of the new TestBox & MockBox documentation in book format.  The book can be read online and downloaded for Free for all types of readers and mobile devices.  Enjoy!

 

Free, Free, MockBox, MockBox, TestBox, TestBox 0

Running CommandBox on the Raspberry Pi

Luis Majano
Mar 17, 2015

 

ABP Development Solutions has a great posting on how to run CommandBox on the Raspberry PI.  Check out the article as it is a great read and great project to follow.

 

Read Article

0

We are hiring: Jr Dev Ops Engineer

Luis Majano
Mar 16, 2015

 

We are currently looking for a part-time contracting positing with the Ortus Solutions team as a jr dev ops system engineer.  You will be joining a team of engineers and software developers focused on building scalable software and mobile solutions for customers around the world.  This position will require hands-on knowledge of highly scalable web infrastructures and implementations, along-side server and application maintenance, debugging and implementations.  Below you can find the duties, responsibilities and more information about this position.  If you are interested about this position, please email us your resume and cover letter to

0

Couchbase Lucee v2.0.0 Extension Released!

Luis Majano
Mar 12, 2015

 

We are very excited to bring you a new commercial product release for the Ortus Family: Couchbase Lucee Extension  The Couchbase Lucee Extension allows you to natively connect to a Couchbase NoSQL Server cluster and leverage it for distributed caching, session/client storage and distribution, cluster RAM file systems, and much more. It can allow your Lucee servers to scale and extend easily by leveraging Couchbase NoSQL Server as the platform of choice for session/cluster managements, caching and virtual file-systems.

If you have ever asked yourself these questions, then our Lucee Extension can help you:

  • Want to use round-robin balancing instead of sticky sessions?
  • How do you deal with session/client information when you have more than 1 server in your cluster?
  • How can I scale my Lucee servers when I am running out of RAM?
  • Do you want your users to still be logged in even if a server in my cluster dies or is restarted?
  • Do you want to have a cluster-wide file system?
  • Do you want to be able to cache data in a distributed and elastic fashion?

 

We have been working with Couchbase NoSQL Server for many years and it has been a true pleasure to not only build scalable farms with it, but also it is incredibly responsive when it comes down to NoSQL and caching transactions.  It is even powering this very site!

Capabilities

Here are some of the major features of our Couchbase Extension:

  • Add Couchbase functionality to any Lucee CFML application
  • Install at the web context level or the server level (Available to all contexts)
  • Create Cache connections in the Lucee administrator to connect to any network-accessible Couchbase cluster
  • Set and get objects from Couchbase via standard CFML functions and tags cachePut(), cacheGet(), <cfcache action="get|put">
  • Fully supports all built-in Lucee cache functions including wildcard filters
  • Seamlessly distribute storage of the following to any bucket in a Couchbase cluster
    • Lucee session storage
    • Lucee client storage
    • Lucee RAM resource ram://...
  • Seamlessly cache the following to any timeout-sensitive bucket in a Couchbase cluster
    • Results of database queries <cfquery cachedwithin>
    • Results of deterministic functions <cffunction cachedwithin>
    • Complex or simple objects in your application's code
    • Cached templates <cfcache action="content|cache|serverCache">
  • Registers new CFML Built-In Functions (BIFs) for executing user-defined queries against Couchbase views natively from Lucee CFML
  • Extremely lightweight and fast

 

Purchase Extension

Resources

Please visit our Extension page for all the necessary resources.

CFCouchbase, CFCouchbase, Couchbase, Couchbase, News, News, Releases, Releases 0

LogBox Documentation Book Released

Luis Majano
Mar 11, 2015

 

We are proud to announce the general availability of the new LogBox 2.0.0 documentation in book format.  The book can be read online and downloaded for Free for all types of readers and mobile devices.  Enjoy!

 

LogBox, LogBox 0

WireBox Documentation Book Released

Luis Majano
Mar 11, 2015

 

We are proud to announce the general availability of the new WireBox 2.0.0 documentation in book format.  The book can be read online and downloaded for Free for all types of readers and mobile devices.  Enjoy!

 

WireBox, WireBox 0

CacheBox Documentation Book Released

Luis Majano
Mar 11, 2015

 

We are proud to announce the general availability of the new CacheBox 2.0.0 documentation in book format.  The book can be read online and downloaded for Free for all types of readers and mobile devices.  Enjoy!

 

CacheBox, CacheBox 0

CommandBox - Mastering Parameters

Brad Wood
Mar 06, 2015

 

CommandBox is unique from other CLIs in a couple ways.  My favorite one is that everything is built around the concept of commands.  Not only does this organize how CFML scripts can be run from the command line, it also greatly simplifies writing custom commands since you have a platform to build upon.  Part of that platform is automatic parameter handling, which brings me to my second favorite thing about CommandBox.  Many CLIs only allow for positional parameters, while CommandBox also allows for the familiar syntax of named parameters plus the convenience of flags for quick boolean controls.

CommandBox, CommandBox 0