The Ortus BlogBox

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

 

A ColdBox Success Story - Patrick Leal- Paper Oh

Luis Majano
Jun 13, 2017

 


Patrick is the director of Paper Oh and discusses his experience of ColdBox training during CFSummit 2016 and his plans to implement ColdBox and ColdFusion in their applications in Brazil.

 

 


Paper Oh is a brazilian company that specializes in the development of paperless systems.
ColdBox MVC, ColdFusion, Community, Customers, News 0

ContentBox v3.6.0 Released

Luis Majano
Jun 08, 2017

 

Today we are very excited to bring you ContentBox version 3.6.0. This release was all about improvements to the core, localization and internationalization for sites, many bug fixes, UI improvements and updates to our containerization strategy. Please see below the major areas of improvement and our full release notes.

New Installer Module

The installer module is now available as a standalone module using the slug contentbox-installer-module. This will improve our container and your container strategy as now you can bring in the installer on demand via CommandBox.

install contentbox-installer-module

Ability to contribute CSS to CKEditor

Thanks to the Computer Know How guys you can contribute your own CSS files to the CKEditor instance so the content has your theme's look and feel. Please note, this is mostly usable for theme developers and module developers.

The event is called cbadmin_ckeditorContentsCss and it will receive a struct with one key called contentsCss which is an array. You can then append CSS style sheets to that array that CKEditor will showcase.

function cbadmin_ckeditorContentsCss( event, interceptData ){
// Add css
interceptData.contentsCss.append( "/path/theme.css" );
}

Site Localization Updates

Thanks to the Computer Know How guys, this release sports many i18n improvements.

Changing Site Locales

A ContentBox application depends on the ColdBox i18n module which gives you the ability to serve any content in any language, use resource bundles and use the resource utilities. However, we have now exposed the ability natively for users to change locales via the UI module using our URL of: http://site.com/__changelang/en_US. The route expects an ISO valid language code in the format of code_variant.

Note By default, visitor locale's are stored in the cookie scope. You can change this via the config/Coldbox.cfc configuration CFC.

Generating Locale Links

The CBHelper object can now produce these links for you in your layouts, themes and views by leveraging the following method:

/**
* Link to the __changeLang route, this is where the fwLocale is changed
* @lang The iso language code
*/
function linkLanguageChange( string lang = "en_US" ) {
return getRequestContext().buildLink( '__changeLang/' & arguments.lang );
}

Locale Content Caching

All caching strategies have now been updated to allow for locale to determine its key. This way, every visitor's language will be cacheable and performant.

Release Notes

Bugs

  • [CONTENTBOX-442] - Emails sent out to be approved or point back to the dashboard are not adhering to SSL rules of the site
  • [CONTENTBOX-814] - Blog counts in category list include non-published entries.
  • [CONTENTBOX-880] - Admin actions are note multi-tenant, regression
  • [CONTENTBOX-896] - markdown converter not accounting for null markups from upgrades
  • [CONTENTBOX-897] - Importer does not import cbox package
  • [CONTENTBOX-898] - Error on update patch for additonal non-existen argument on log.append()
  • [CONTENTBOX-899] - missing variable exception on module config for environment variables and setting service
  • [CONTENTBOX-901] - On HTTPS reload link are not ssl enabled
  • [CONTENTBOX-909] - Adobe ORM Incompatibilities
  • [CONTENTBOX-910] - bug on maintenance mode when user not logged in, null exception

    New Features

  • [CONTENTBOX-878] - Admin > Settings On/Off toggle
  • [CONTENTBOX-881] - Create new installer slug: contentbox-installer-module
  • [CONTENTBOX-905] - New __changeLang/:lang UI route to allow for User locale changes
  • [CONTENTBOX-906] - New CBHelper method for creating links to change UI locale languages linkLanguageChange()
  • [CONTENTBOX-911] - New ContentsCss interceptor for CKEditor module in order to allow for custom css to be loaded
  • [CONTENTBOX-912] - Add getNumberOfContentStore and PublishedContentStore formulas to categories

Improvements

ColdFusion, ContentBox CMS, Releases 0

A ContentBox CMS Success Story - Tim Cunningham- Primoris Services

Luis Majano
Jun 06, 2017

 


Tim Cunningham is the Vice President of Primoris Services. He discusses how they leveraged ContentBox Modular CMS to deliver a payment portal for their API payment services.

 

 


Primoris Services Corporation was established in 2004 as the umbrella entity for a group of exceptional companies that share a strong common culture and values. The vision of our company lead founder, Brian Pratt, was to establish a dedicated group of construction/engineering professionals that would provide our clients with a competitive advantage by delivering services of unmatched value, thereby enhancing shareholder and employee interests, while maintaining the highest standards of integrity, safety and quality.
ColdBox MVC, ColdFusion, Community, Customers, News 0

A ColdBox Success Story - Bill Reese - Crosstrackr

Luis Majano
May 30, 2017

 


Bill Reese from crosstrackr discusses how he leverages CommandBox/ColdBox and the Box eco-system for building their ColdFusion (CFML) applications.

 

 


CrossTrackr is the all-in-one solution built from the ground up specifically for Boxes and Athletes!
ColdBox MVC, ColdFusion, Community, Customers, News 0

ForgeBox v2.2.0 Released

Luis Majano
May 24, 2017

 


Ohh happy day, today we get a minor release in ForgeBox.io and our first blog post announcement about ForgeBox releases. As the product matures and we continue to pipe in new functionality, be expectant of blog posts relating the new functionality in ForgeBox. Most of the issues in this release are cosmetic and improving existing functionality. Enjoy!

Bugs Squashed

Improvements

  • [FORGEBOX-96] - Add some error logging for "Valid JSON not received in POST body."
  • [FORGEBOX-98] - sorting by popular is useless
  • [FORGEBOX-99] - Last publish date is not accurate
ForgeBox, News, Releases 0

Portainer Docker Support for CommandBox and ContentBox

Luis Majano
May 23, 2017

 

We are very excited that the Portainer.io crew has added support for CommandBox and CommandBox docker image deployment. If you have not heard of Portainer, then let's start there first.

What is Portainer


Portainer is an open-source lightweight management UI for easily managing your docker host or a swarm cluster. It is available as a docker image or a standalone binary for any operating system. I was quite impressed with all the functionality out of the box with portainer, and the ease of use of the interface. It really made, for me, put all the questions I had about docker to rest thanks to finally visualizing them. I also found useful their live demo, which is great as well and got my appettite ready for delving into it.

Starting Portainer

To do a quick start for portainer just use the following commands:

docker run -d -p 9000:9000  \
   -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

This will run the docker container for portainer on port 9000 and it will manage the local Docker engine.

Please note that you can manage any docker endpoint or swarm cluster. Pelase refer to their documentation for further instructions: https://portainer.readthedocs.io/en/stable/deployment.html#quick-start

Application Templates

Portainer has the concept of quick application templates for easily deploying applications and trying them out. From here you can navigate their great collection and you will find our two docker images: CommandBox and ContentBox. We will use them to launch CFML applications with CommandBox or a full fledge CMS instance using ContentBox CMS. Below are the screenshots for each template so you can get started with ColdFusion (CFML) and ContentBox CMS with docker:

CommandBox Template

Using the CommandBox template you can fill out the following information:

  • The name of the container
  • The type of networking
  • Ownership in Portainer (Portainer supports multi-user access and runnable rights)
  • Port Mappings for HTTP and HTTPS
  • Volume Mapping for the running ColdFusion application

You can run the template as is and it will generate the sample ColdFusion page which is not very fancy. So we would encourage you to point it to a ColdFusion application so you can see your application being dockerized!

Please note that once the image spins up you can add more environment variables and further configuration settings by visiting the containers area.

ContentBox CMS Template

Using the ContentBox CMS template you can fill out the following information:

  • The name of the container
  • The type of networking
  • Ownership in Portainer (Portainer supports multi-user access and runnable rights)
  • Port Mappings for HTTP and HTTPS
  • Volume Mappings for the following:
  • The storage of the in-memory database (Express edition is the default in portainer)
  • The media location for assets

You can run the template as is and it will generate a new ContentBox CMS site with its very own in-memory H2 database and clustering capabilities. However, you will need to follow the installer and then remove it via environment variables so it does not recreate the image on each startup. Please refer to our docker image documentation for further information.

Please note that once the image spins up you can add more environment variables and further configuration settings by visiting the containers area.

What's Next!

In coming tutorials we will be demonstrating how to use Portainer to leverage a docker swarm with our images. From service creations, to on-the-fly modifications and much more. So stay tuned!

ColdBox MVC, ColdFusion, CommandBox, ContentBox CMS, Docker, Tutorials 0

A ColdBox Success Story - Brian Sappery- Shop.com

Luis Majano
May 23, 2017

 


Brian Sappery, Applications Architect for shop.com, discusses how they leverage the ColdBox Platform and ColdFusion for delivering a high impact and mission critical RESTFul applications, that powers much of their multi-million dollar infrastructure.

 

 


SHOP.COM Marketplace offers great deals on clothes, beauty, health and nutrition, shoes, electronics, and more from over 1,500 stores with one easy checkout.
ColdBox MVC, ColdFusion, Community, Customers, News 0

A ColdBox Success Story - Chad Haney - PiepelineSuite

Luis Majano
May 19, 2017

 


The CTO for pipelinesuite discusses how they leverage the ColdBox Platform for delivering a high impact Software as a Service built in ColdFusion (CFML).

 


pilelinesuite is a SaaS construction bid management software made fast and easy. Manage subcontractor and project data, bid invitations via email/fax and an online plan room.

 

ColdBox MVC, ColdFusion, Community, Customers, News 0

Using "testbox watch" to Automate Your Testing Suite

Brad Wood
May 19, 2017

 

There is a new command in town in the CommandBox 3.7 snapshot build.  If you want to get the current snapshot build of CommandBox 3.7 to try this out, and play with it, simply run the following command and it will direct you to the latest bleeding edge download page:

CommandBox> upgrade --latest

What does it do?

This command is called testbox watch and it is similar to testbox run which can be used to run your projects unit or integration tests.  The difference is that testbox run will run your tests a single time right then, whereas the testbox watch command will stay running until you stop it with Ctrl+C.  The command will watch the files in your project for changes, and every time you save a CFC file, it will run your tests immediately, outputting the results to the console window.  This gives you instant feedback as you develop as to whether you just broke something.

CommandBox> testbox watch

Watching Files...

Executing tests via http://127.0.0.1:59060/tests/runner.cfm?&recurse=true&reporter=json, please wait...
TestBox v2.5.0-snapshot
---------------------------------------------------------------------------------
| Passed  | Failed  | Errored | Skipped | Time    | Bundles | Suites  | Specs   |
---------------------------------------------------------------------------------
| 16      | 0       | 0       | 0       | 132 ms  | 2       | 4       | 16      |
---------------------------------------------------------------------------------

Stopping...

CommandBox>

 

If you want to see a demo of this in action, check out this screencast I made.  

 

Configuring Your Watcher

As usual, you can get help on any CommandBox command by adding the word "help" to the end of it.
CommandBox> testbox watch help

You will see that there are a handful of way to configure how it runs.  The watcher itself can be controlled by setting up the parameters you want in your box.json file for the project.  Here's a rundown of the configuration elements you can set.  All of these are optional except the testbox.runner.

Where are your tests located?

CommandBox> package set testbox.runner=http://localhost:8080/tests/runner.cfm

Do you want verbose test output, or compact?

CommandBox> package set testbox.verbose=false

Only runs tests with these labels

CommandBox> package set testbox.labels=foo

Choose the test suites to execute

CommandBox> package set testbox.testSuites=bar

Control how often the watcher checks the file system for changes.

CommandBox> package set testbox.watchDelay=1000

Customize exactly what files to watch for changes with a list of globbing patterns

CommandBox> package set testbox.watchPaths=/models/**.cfc

Your box.json file

So your box.json file may look something like this once you've set it up.

{
    "testbox":{
       "runner":"http://localhost:8080/tests/runner.cfm",
       "labels":"foo",
       "bundles":"test.specs",
       "testSuites":"bar",
       "verbose":"false",
       "watchDelay":"1000",
       "watchPaths":"/models/**.cfc"
   }
}

 

 
CommandBox, TestBox, Tutorials 0

DC CF.Objective() 2017 CommandBox Training Discounts

Luis Majano
May 19, 2017

 


If you will be attending this year's CF.Objective (Which you should!) on July, then you can attend our ColdFusion CommandBox training (July 18-19) and get a whooping 25%! You can use the discount code cfobjective and be on your way to learn how to evolve your legacy ColdFusion applications by using modern tooling like CommandBox!

You can also follow this link: https://dc2017-commandbox.eventbrite.com?discount=cfobjective to purchase your registration.

Course Information

In this training we will review the ins and outs of CommandBox so you can incorporate it as your ColdFusion companion tool. From CLI and operating system integration to ColdFusion engine management and portability with Docker and container strategies. This training series will be led by CommandBox creators Brad Wood and Luis Majano. Whether you are a ColdFusion expert or novice, this bootcamp will challenge you and refresh your skills to be able to modernize your ColdFusion (CFML) applications and servers.

ColdFusion, CommandBox, Community, Conferences, Training 0
1 2 3 4 5 6 ... 112 >>