Finalizing 3.1.0 code

Hey guys, we’re on track to release CommandBox 3.1.0 and ForgeBox 2.0 at Into The Box. You guys have done a great job at beating up on the multi-server support for me.

I need some eyeballs to help test https://ortussolutions.atlassian.net/browse/COMMANDBOX-345
I think it’s pretty close, but all the weird scenarios were starting to turn my brain to mush. I tried to think of every common scenario and provide a best default for each one, but there are some edge cases where it’s just impossible to infer what the user intended.

You’ll need the latest BE of CommandBox

Basically, every command has been refactored to take the same , , and parameters. I’ve encapsulated the logic to try to find the correct server settings from those three pieces of information and re-used it everywhere

This means you can interact with servers by name:

server start brad
server log brad
server stop brad

by JSON config file

server start path/to/myServer.json
server log path/to/myServer.json
server stop path/to/myServer.json

or by webroot

server start directory=path/to/webroot
server log directory=path/to/webroot
server stop directory=path/to/webroot

, , and also can point to a specific JSON file now.

// Must use named parameters when setting.
server set serverConfigFile=myServer.json name=myServer

server show name myServer.json
// Or even this more readable shortcut
server show myServer.json name

server clear name myServer.json
// Or even this more readable shortcut
server clear myServer.json name 

If you provide a server name on startup, we’ll create a separate server.json for you with the expectation that you’re wanting more than one server with diff settings to start/stop separately.

start cfengine=adobe@10 name=myCF10Server
start cfengine=adobe@11 name=myCF11Server

creates

<webroot>/server-myCF10Server.json
<webroot>/server-myCF11Server.json

and can be started later as

start myCF10Server
start myCF11Server

or

start server-myCF10Server.json
start server-myCF11Server.json

files (or whatever you choose to name them) will now obey their , which if not absolute, will be taken as a relative path to the location of the JSON file. That means you can have a set up like:

- myproject/
  - server.json (with web.webroot set to "www"
  - www/
     - index.cfm

Then you can do and the server will be started in the folder.

In fact, since you can specify the path to the server.json in your start command, you can be in directory A, starting a JSON file in directory B, that points to a web root in directory C!

Please give this a looksy and let me know if I’ve broken anything. This last ticket took a bit more refactoring than I’m usually comfortable doing this close to a release so I want to make sure there’s no nasty regressions.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

We also need some testing on the new ForgeBox UI: forgebox.stg.ortussolutions.com

Please log in and play around.

New forgebox does not display correctlye markdown as you see it here: http://forgebox.stg.ortussolutions.com/view/cbSocialite

Francesco I added an update so you can choose markdown for your processor. Go change it