Phase 1: Preparation & Migration
Before touching the config, we need to ensure the physical assets are ready.
- Physical Move: Create your new directory (e.g., C:/cf_scripts).
- Sync Assets: Copy the contents from {cf_root}/cfusion/wwwroot/cf_scripts to the new location.
- Ops Tip: Use a tool like Robocopy to ensure permissions are preserved, otherwise, FusionReactor might start reporting Access Denied (403) errors in your Request logs.
Phase 2: Tomcat Level Integration (server.xml)
Since ColdFusion 2025 runs on a modified Tomcat, we use <PreResources> to map the physical folder to the virtual path.
- Backup: Always backup {cf_root}/cfusion/runtime/conf/server.xml.
- Inject Resource Mapping: Open server.xml and define the DirResourceSet:
- XML
<Context path="" docBase="C:/ColdFusion2025/cfusion/wwwroot" ...>
<Resources>
<PreResources
base="C:/cf_scripts/scripts"
className="org.apache.catalina.webresources.DirResourceSet"
webAppMount="/cfscripts-10/scripts"/>
</Resources>
</Context>
4. Why this matters: This tells the Tomcat engine exactly where to look for JS files before it defaults to the standard webroot, reducing “File Not Found” overhead.
Phase 3: The Runtime Handshake (neo-runtime.xml)
Now we tell the ColdFusion engine to route its internal logic (such as generating script tags) to the new path.
- Admin Update: Log in to CF Administrator → Server Settings → Settings.
- Default ScriptSrc Directory: Enter your new virtual path.
- Internal XML: If you prefer the backend approach, backup and edit cfusion/lib/neo-runtime.xml.
Phase 4: Verification & Monitoring
This is where FusionReactor is your best friend. After restarting the ColdFusion service:
1. Check for 404s in “Requests”
Go to Requests > History in the FusionReactor menu. Filter for .js files or any request containing cf_scripts.
- The Red Flag: If you see status codes 404 or 500 on your script includes, the mapping in server.xml likely has a typo or the webAppMount path doesn’t match the Admin setting.
2. Observe Resource Overhead
Monitor the Resources > File System metrics. Changing the ScriptSrc to a different drive or network share can sometimes introduce I/O latency. Use FusionReactor to ensure that serving these static scripts doesn’t bloat your average request time.
3. Log Inspection
Check the External Logs within FusionReactor for catalina.out or coldfusion-error.log. If Tomcat failed to mount the PreResources defined in Step 2, the error will be explicitly stated there.
