← Back to ColdFusion Administrator Reference

Debugging & Logging - License Scanner

Analyze code for feature usage and license compliance

Overview

The License Scanner is a diagnostic tool in ColdFusion Administrator that analyzes your application codebase to identify which ColdFusion features, tags, and functions are actually being used. This powerful analysis helps determine whether you need an Enterprise Edition license or if Standard Edition would suffice, potentially saving significant licensing costs.

Beyond license optimization, the scanner provides valuable insights into your application's feature dependencies, helps identify unused capabilities, and assists with planning upgrades or migrations. The scanner generates comprehensive reports showing exactly which CFML tags, functions, and Enterprise-only features are present in your code.

Purpose and Use Cases

License Optimization

Cost Reduction
Identify if applications can run on Standard Edition instead of Enterprise
Right-Sizing
Ensure you're paying for only the features you actually use
Planning
Determine license requirements before purchasing or renewing

Enterprise Edition costs significantly more; switch to Standard if possible to save on licensing costs.

Feature Discovery

Inventory
Catalog which CF features your application relies on
Documentation
Generate feature usage reports for technical documentation
Dependency Mapping
Understand feature dependencies before refactoring

Help new team members understand application capabilities through comprehensive feature analysis.

Migration Planning

Version Upgrades
Identify deprecated features before upgrading CF versions
Platform Transitions
Assess compatibility when moving to different CF implementations
Lucee Migration
Compare feature usage with Lucee compatibility

Verify feature availability in cloud-hosted CF environments and alternative platforms.

Compliance and Auditing

License Audits
Provide evidence of feature usage during vendor audits
Compliance Reports
Document that you're using appropriate license tier
Multi-Server Validation
Ensure all servers have correct license types

Track feature usage changes over time for historical compliance tracking.

Running the License Scanner

Configuration

Directory Selection
Specify root directory containing CFML files to scan
Include Subdirectories
Option to recursively scan all subdirectories
File Types
Automatically includes .cfm, .cfc, .cfml files

Can scan entire webroot or specific application directories. May allow excluding vendor code and third-party libraries.

Execution

Start Scan
Click button to initiate scanning process
Progress Indicator
Shows scanning progress and files processed
Duration
Scan time depends on codebase size (seconds to minutes)

Minimal impact on server performance during scan. Runs in background; administrator remains responsive.

Report Generation

Automatic
Report generated immediately upon scan completion
Format
HTML report displayed in administrator interface
Export Options
May support exporting to PDF or CSV

Previous scan results may be accessible. Some versions allow comparing multiple scan results.

Identifying Feature Usage

CFML Tags

Detection
Scans for all CFML tag usage throughout codebase
Frequency
Reports how many times each tag appears
Location
Shows which files contain each tag

Identifies common tags (cfquery, cfoutput, cfloop) and rare tags that might be refactored.

CFML Functions

Function Calls
Catalogs all function invocations in code
Built-in Functions
Tracks usage of CF built-in functions
Usage Patterns
Identifies most frequently used functions

May distinguish between built-in and UDFs. Flags deprecated functions in current CF version.

Enterprise-Only Features

Critical Detection
Specifically identifies features requiring Enterprise Edition
Gateway Services
Event gateways (SMS, IM, Directory Watcher)
Advanced Features
Distributed caching, cluster management, .NET integration

Includes server monitoring APIs, advanced PDF capabilities, and Solr integration.

Standard Edition Features

Core CFML
All standard tags and functions
Database Access
Basic database operations and file I/O capabilities
Web Services
Basic SOAP and REST support, email, charting

Comprehensive support for most common web application features without Enterprise licensing.

Compliance Checking

License Requirement Analysis

Verdict
Clear indication if Standard or Enterprise license required
Reasoning
Explanation of why Enterprise is needed (if applicable)
Feature List
Specific Enterprise features detected in code

Shows occurrence count and whether Enterprise features are in core application or optional modules.

Standard Edition Compatibility

Green Light
If no Enterprise features detected, confirms Standard compatibility
Confidence Level
High confidence when comprehensive scan completed
Recommendations
Suggestions for confirming compatibility through testing

If close to Standard-compatible, provides guidance on removing Enterprise dependencies.

Enterprise Edition Requirements

Mandatory Features
List of detected Enterprise-only features
Usage Context
Where and how Enterprise features are used
Alternatives
Suggestions for Standard-compatible alternatives (if available)

Impact assessment shows difficulty of removing Enterprise dependencies.

Gray Areas and Limitations

Dynamic Code
May not detect dynamically generated CFML
Conditional Logic
Features in dead code paths still flagged
Version Differences
Feature availability varies by CF version

Third-party code usage not always clear. Some edge cases require manual verification.

Report Analysis

Summary Section

Overall Verdict
Standard or Enterprise license required
File Count
Total CFML files scanned
Feature Count
Number of distinct features detected

Shows total lines processed (if provided) and count of Enterprise-only feature usages.

Detailed Feature List

Feature Name
Specific tag, function, or capability
Edition
Standard, Enterprise, or Both
Occurrences
Number of times feature appears in code

List of files containing the feature with specific line numbers (if available).

File-by-File Breakdown

File Path
Full path to each scanned file
Features Used
List of features detected in that file
Enterprise Flags
Clear marking of files using Enterprise features

Assessment of file importance to application and criticality ratings.

Actionable Recommendations

License Decision
Clear guidance on appropriate license tier
Cost Savings
Estimated savings if downgrading to Standard (if applicable)
Refactoring Suggestions
How to eliminate Enterprise dependencies (if close)

Recommendations for validating Standard Edition compatibility through testing.

Report Generation and Export

Built-in Reporting

HTML View
Interactive report displayed in administrator
Filtering
Filter by feature type, edition requirement, or file
Sorting
Sort by feature, occurrence count, or file name

Expandable sections allow collapse/expand of detailed sections for easier navigation.

Export Options

PDF Export
Generate PDF for distribution or archival
CSV Export
Export data for analysis in Excel or databases
Print-Friendly
Formatted for printing if needed

Option to email report to stakeholders for distribution and review.

Historical Tracking

Scan History
Keep record of previous scans (if supported)
Comparison
Compare current scan with previous results
Trend Analysis
Track feature usage changes over time

Audit trail documents when scans were performed and by whom.

Best Practices

License Management

  • Run license scan before purchasing or renewing ColdFusion licenses
  • Scan all production applications across all servers
  • Review scan results with financial and technical stakeholders
  • Document scan results for license compliance audits
  • Re-scan after major application changes or additions
  • Consider scanning quarterly to track feature usage trends
  • Use scan results to negotiate licensing with Adobe

Development and Planning

  • Scan during initial application assessment and planning
  • Include scan results in technical documentation
  • Use feature inventory for onboarding new developers
  • Review Enterprise feature usage to assess if alternatives exist
  • Scan before major refactoring to understand dependencies
  • Test application on Standard Edition if scan indicates compatibility

Migration and Upgrades

  • Scan before upgrading to new ColdFusion version
  • Identify deprecated features that need updating
  • Use scan to plan migration from Enterprise to Standard (if feasible)
  • Document feature usage before migrating to alternative platforms
  • Create baseline scan before starting migration project
  • Re-scan after migration to verify feature parity

Comprehensive Scanning

  • Include all application directories in scan
  • Scan shared libraries and utility directories
  • Include administrative and maintenance scripts
  • Don't exclude third-party code without understanding its requirements
  • Scan multiple times if codebase changes frequently
  • Consider scanning development, staging, and production if they differ

Result Interpretation

  • Don't assume scan is 100% comprehensive - review results manually
  • Verify detected Enterprise features are actually in use (not dead code)
  • Consider whether Enterprise features are truly required
  • Investigate alternatives for Enterprise features if cost is concern
  • Test on Standard Edition if scan is borderline
  • Get second opinion from ColdFusion experts on critical decisions

Common Issues and Solutions

Incomplete Scan Results

  • Symptom: Known features not appearing in scan results
  • Cause: Files not included in scan path, dynamic code generation
  • Solution: Verify scan path includes all application directories
  • Dynamic Code: Manually review code that generates CFML at runtime
  • External Files: Ensure cfinclude'd files are in scan path

False Positives for Enterprise Features

  • Symptom: Enterprise features flagged but not actually used
  • Cause: Dead code, commented code, or conditional logic
  • Solution: Manually review flagged files to verify actual usage
  • Comments: Scanner may detect features in code comments
  • Testing: Run application on Standard Edition to verify compatibility

Scan Performance Issues

  • Symptom: Scan takes extremely long or times out
  • Cause: Very large codebase, slow disk I/O
  • Solution: Scan smaller directory trees separately
  • Exclusions: Exclude known third-party or vendor directories
  • Timeout: Increase scan timeout if configurable

Report Not Generated

  • Symptom: Scan completes but no report displayed
  • Cause: Error during report generation, memory issues
  • Solution: Check ColdFusion error logs for details
  • Memory: Increase JVM heap if report generation fails
  • Browser: Try different browser or clear cache

Version-Specific Feature Detection

  • Symptom: Scan results don't match expected CF version capabilities
  • Cause: Scanner based on current CF version, not target version
  • Solution: Manually verify feature availability in target CF version
  • Documentation: Consult CF documentation for version-specific features
  • Testing: Test on actual target CF version

Enterprise vs Standard Edition Features

Key Enterprise-Only Features

  • Event Gateways: SMS, IM, Directory Watcher, custom gateways
  • Server Monitoring: Built-in monitoring tools and APIs
  • .NET Integration: Calling .NET assemblies from CFML
  • Advanced Caching: Distributed caching, ehcache integration
  • Enterprise Manager: Centralized multi-server management
  • Advanced Security: Sandbox security, advanced user management
  • PDF Manipulation: Some advanced PDF features (signing, redaction)
  • WebSocket: Advanced WebSocket features (some versions)
  • Scheduler Clustering: Cluster-aware scheduled tasks

Features Available in Both Editions

  • Core CFML: All standard tags and functions
  • Database Access: Full database functionality
  • Web Services: SOAP, REST creation and consumption
  • PDF Generation: Basic PDF creation from HTML/reports
  • Image Manipulation: cfimage and image functions
  • Email: Send and receive email
  • File Operations: Complete file system access
  • Charting: Built-in charting capabilities
  • Scheduling: Basic scheduled tasks
  • ORM: Hibernate ORM integration

Decision Framework

When to Use Standard Edition

  • No Enterprise-only features detected in scan
  • Single-server deployment
  • No advanced monitoring requirements
  • No event gateway usage
  • Budget-conscious projects
  • Small to medium-sized applications
  • Successfully tested on Standard Edition

When Enterprise Edition is Required

  • Uses event gateways (SMS, IM, Directory Watcher)
  • Requires .NET integration
  • Needs built-in server monitoring
  • Multi-server deployment requiring centralized management
  • Advanced security requirements (sandboxing)
  • Requires distributed caching across servers
  • Uses advanced PDF manipulation features

Cost-Benefit Analysis

  • Calculate annual license cost difference (Enterprise vs Standard)
  • Estimate effort to remove Enterprise dependencies
  • Consider ongoing maintenance costs
  • Evaluate business value of Enterprise-only features
  • Factor in alternative solutions (external tools, services)
  • Account for testing and migration time

Related Resources