We have recently made a major upgrade from an older ColdFusion version to a newer (though still not the newest) version, and even though we very much want to move all our server-side apps to something like PHP, maybe, we still have a LOT of CF apps running. As a result of this, we just need to commit to using it for all it can do until we have the plan and bandwidth to write new apps. Thus, I am digging deeper into ColdFusion to do just that.
I am nearing completion of the Adobe ColdFusion Certified Professional course offered by Adobe. There is a lot to it as it surveys all the major code structures and tags one can use in ColdFusion.
The certification course uses Ortis’ CommandBox to run the ColdFusion server (2021 version) on localhost (of course) and allows for all normal server interactions such as running terminal commands, making use of the ColdFusion Package Manager (cfpm) for installing necessary packages not shipped with the core server installation.
This is all pretty straightforward in terms of following whatever steps one needs to run and operate at a terminal. But, I note one thing: I was just playing around in the terminal, which in the course examples, and I am following suit, uses the terminal within Visual Studio Code. (I have had very good experiences with VSCode and have run it on Linux as well as on MacOS and Windows (I am currently on MacOS). In a previous post from April 2021, I rambled a bit about choosing an IDE between PyCharm or VSCode.) This one thing I noted was that both standard CLI commands ‘ls’ (which one would run in Linux or on MacOS when viewing the contents of your current or a specific directory) and ‘dir’ (which one runs in Windows’ PowerShell or Command Prompt (CMD) to accomplish the same thing. Ha! Both commands work in the CommandBox shell when running.
A little testing confirms that ‘dir’, running VSCode on MacOS, only works within the CommandBox shell but not in the standard embedded terminal in VSCode. Again, ha! I was not expecting this. But I guess that is one of the aspects of running a specific application’s shell within terminal (in my case, zsh). Some commands work in one application’s shell while other commands work in another’s.
I thought it worthwhile to quickly blog with an example. Thank you for reading.