In my last post, I talked about How to hook into Hibernate ORM Events easily with CBORM and ColdBox. I talked through the what, why, how, but didn't get to the code. So this post, is going to go through the code and give you a real example you could use today to extend ContentBox's core Author module with your own function.
Blog
How to hook into Hibernate ORM Events easily with CBORM and ColdBox
I have been working for Ortus Solutions for over two years now, and still, every day I learn something new about one of our modules or tools. In one of my current customer projects, we are taking a ContentBox installation ( our Modular Content Management System built on top of ColdBox ), customizing it, extending it, and it's really fun. One of the big customizations for this projects is extending the permissions structure, outside of what we wanted to do in the ContentBox core.
CommandBox 3.7 Docker Images Released
On the heels of and in conjunction with the 3.7.0 release of ContentBox, we are pleased to announce the 3.7.0 release of CommandBox ( a happy coincidence that the version numbers of the two are the same! ).
This release provides major updates in security and functionality to the CFConfig module, which may be used to configure CFML servers at runtime. The settings and environment variables, which were previously handled by the bash script used to start the image, are now delegated to CFConfig. You can read more on using environment variables for CFConfig here.
ContentBox v3.7.0 Released
Today we are very excited to bring you ContentBox version 3.7.0!
This release has a major focus on security, authentication, containers, testing and automation. Below you can find the major changes and updates for this release and our full release notes so you can geek out.
CFObjective 2017 - 3 WAYS TO TEST YOUR COLDFUSION API - Gavin Pickin
Most projects in CF now involve creating some type of consumable CFC Endpoint or API Service... do you Unit test your API, do you use Integration Tests on your API? How many ways do you test your API? Not all tests are created equal.
We build our CFCs and CF API to be consumed with CF Apps, Mobile Apps, Javascript apps and devices we haven’t even thought about yet. To be smart developers we need to be able to test our CFC endpoints, and the code that uses those endpoints.
CFObjective 2017 - AN EXERCISE IN CLEANER CODE - FROM LEGACY TO MAINTAINABLE - Gavin Pickin
We’ve all had those projects, the salvage project, the legacy project that we picked up, and wished we never had.
Was it written 5 years ago by that young dev with lots of passion but no big picture vision.
Was it written 6 months ago by another team, by a top gun developer who knows all the design patterns, and tried to future proof the app, only succeeding in making it impossible for anyone else to understand.
CFObjective 2017 - Design Patterns - Brad Wood
At this year's CF.Objective I presented on the topic of programming design patterns. Here are the slides for the presentation. This session covers what programming design patterns are, how they got their start, and reviews common design patterns and antipatterns. There are simple code samples that go with most of the samples, including the antipatterns.
CFObjective 2017 - CommandBox ForgeBox - Luis Majano
At this year's CF.Objective I had the privilege to present on CommandBox and how to create packages and publish them in our community website www.forgebox.io. It is imperative for the ColdFusion (CFML) community to start leveraging CommandBox and ForgeBox in order to create applications, libraries and share cool code!
CFObjective 2017 - Automate Thyself - Luis Majano
At this year's CF.Objective I had the privilege to present on testing and automation. Here are the slides for the presentation and you can find the test source code in github: https://github.com/coldbox-samples/cbvue.
Automate Thyself Synop...
Easy Bake: Multi-Tier Deployments using CommandBox Docker Images
We've been using our CommandBox Docker images for awhile now for multi-tier development and deployment. We've also received a lot of great feedback from the community that has helped to expand the power and flexibility of the those images in orchestrating CFML server environments.
One important aspect of non-development deployments of applications on the CommandBox image, is the need to warm up the server by seeding the CFML engine file system and configuration before the application is deployed in its target environment/tier. Other than the default Lucee 4.5 engine, which is what CommandBox, itself, runs on, any CFML engine specified in your application's server.json
file is downloaded upon server start. Depending on the latency of your Docker environment's connection, this can mean that a bare-bones first run of your application can take minutes to start up, rather than seconds. For obvious reasons, this is not desirable.