ColdFusion applications and Exponential
Adobe ColdFusion is an application runtime, not a content management system: every ColdFusion site stores its
content in its own way, usually in a relational database reached through a datasource, sometimes in files or in
hand-made .cfm pages. So the migration reads that database and those files directly. Nothing about ColdFusion's own
features was checked for this page; the steps below do not depend on them.
Migration hub · Checklist · Other applications and databases
1. Find the content
- The datasource: the ColdFusion administrator names the database each datasource points at (often SQL Server, MySQL or Oracle). Ask for a copy of that database, and the schema.
- The queries: search the code for the queries that build the public pages; they tell you which tables and columns are content, and how pages are put together.
- Files: uploaded images and documents, and
.cfmpages whose text is written in the page itself (those are read like static HTML, from the rendered output).
2. Move it
Follow Other applications and databases: one SQL query per content type into JSON or CSV
rows with remote ids (cf-<table>-<id>), HTML converted, files imported first, then the content, then the
relations. Exponential's importers and the script skeleton
do the writing.
3. Addresses
ColdFusion addresses usually carry the page and its parameters: /news.cfm?id=123, /index.cfm?page=about. Query
strings never reach Exponential's URL aliases, so redirect them in the web server from a table (id to new address),
generated by the import (checklist, 4). Search-engine-friendly paths, if the
application had them, become redirecting custom aliases.
4. Users
Password storage in a custom application is whatever the developers chose. Standard PHP password_hash() values can
be verified by Exponential; anything else (plain hashes, custom salting) means password resets
(mapping, 6).
5. The way back
From Exponential to a ColdFusion application: export with xrowextract to CSV or JSON (leaving Exponential) and load it into the application's tables.
6. Checklist
- To do: Database copy and schema; the queries behind the public pages read.
- To do: Files and hand-written
.cfmcontent listed. - To do: Rows exported per content type with remote ids; imported in dependency order.
- To do:
.cfm?addresses redirected in the web server; tested.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.
This page is part of the Exponential documentation and is free documentation under the GNU Free Documentation License 1.3 or any later version (the license of this documentation).