Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ColdFusion Markup Language
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Scripting language for web development}} {{redirect|CFML|other uses}} {{Infobox programming language | name = Cold Fusion Markup Language (CFML) | logo = | paradigm = [[Imperative programming|imperative]], [[Object-oriented programming|object-oriented]] | designer = [[Jeremy Allaire]], [[Joseph J. Allaire]] | developer = [[Adobe Systems]] ([[ColdFusion]]), Lucee Association ([[Lucee]]), New Atlanta and aw2.0 (openBD), The Railo Company ([[Railo]]) | released = {{Start date and age|1995}} | latest release version = 2023 Release | latest release date = {{Start date and age|2023}} | latest preview version = | latest preview date = | typing = | implementations = [[Adobe ColdFusion]], [[Lucee]], [[Railo]], BlueDragon, Open BlueDragon | dialects = | file ext = .cfm, .cfc | programming language = [[Java (programming language)|Java]] | operating system = [[Cross-platform]] | license = Depends on the implementation. [[Proprietary software|Proprietary]], [[LGPL]], and [[GPL]]-licensed engines are all available. | website = {{URL|www.adobe.com/products/coldfusion}} | influenced by = | influenced = [[Lucee]] }} '''ColdFusion Markup Language''', more commonly known as '''CFML''', is a [[server-side scripting|scripting language]] for web development that runs on the [[Java virtual machine]] (JVM), the [[.NET]] framework, and [[Google App Engine]]. Several commercial and [[free and open-source software]] implementations of CFML engines are available, including [[Adobe ColdFusion]], [[Lucee]], New Atlanta BlueDragon ([[Java (programming language)|Java]] and .NET versions), [[Railo]], Open BlueDragon, and [[ColdFusion#Alternative server environments|other CFML server engines]]. == Synopsis == In its simplest form, like many other web scripting languages, CFML augments standard [[HTML]] files with [[database]] commands, conditional [[Operator (programming)|operators]], high-level formatting [[function (computer science)|functions]], and other elements to produce [[web applications]].<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_g-h_09.html Adobe ColdFusion 8 β About Internet applications and web application servers] {{Webarchive|url=https://web.archive.org/web/20120513034624/http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_g-h_09.html |date=2012-05-13}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref><ref>[http://openbd.org/manual Open BlueDragon Manual]. Openbd.org. Retrieved on 2013-09-17.</ref> CFML also includes many other constructs including ColdFusion Components (CFCs), CFML's version of [[Object-oriented programming|objects]], that allow separating business logic from presentation. CFML can be written using either tags or [[CFScript]], which resembles [[JavaScript]] ([[ECMAScript]]). The pages in a CFML [[Application software|application]] include the [[server-side]] CFML tags and functions in addition to HTML tags. Modern CFML applications also tend to have CFCs that are accessed by the CFML pages for executing business logic. When a [[web browser]] requests a page in a ColdFusion application, it is automatically pre-processed by the ColdFusion [[application server]].<ref>Smith, Michael [https://web.archive.org/web/20080701091733/http://www.fusionauthority.com/cfintro.cfm What is ColdFusion?] fusionauthority.com</ref> CFML can also be used to generate other languages, aside from HTML, such as [[XML]], [[JavaScript]], [[CSS]], and so on. Despite the name, CFML is ''not'' a markup language. It is also not [[SGML]], since certain core CFML features prevent it from complying. The CFML engine is configured in such a way that certain file extensions on the server (.cfm, .cfc) are handed off to the CFML engine for processing. In the case of the Java-based engines this is accomplished via [[Java servlet]]s. The CFML engine only processes CFML tags and functions; it returns text outside of CFML tags and functions to the [[web server]] unchanged.<ref>[http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element4.htm Tags] {{webarchive |url=https://web.archive.org/web/20080324005624/http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element4.htm |date=March 24, 2008}}</ref> == History == Named Cold Fusion at the outset, the software was created in 1995 by the [[Allaire Corporation]], originally located in [[Minnesota]]. It later moved to Cambridge, Massachusetts and then finally to Newton, Massachusetts before being acquired by [[Macromedia]] in 2001. Allaire Cold Fusion thus became Macromedia Cold Fusion. At the release of version 4, the space in the name was removed to become ColdFusion. Adobe acquired Macromedia in 2005. {{As of|2023}}, it is still actively developing ColdFusion. In 1998 Alan Williamson and his Scottish company, "n-ary", began creating a templating engine for Java to simplify common programming tasks.<ref>[https://web.archive.org/web/20100917122859/http://alan.blog-city.com/interview_alanwilliamson.htm Open BlueDragon Steering Committee Interview Series β Alan Williamson]. alan.blog-city.com</ref> Williamson was using curly-brace notation instead of tags, but when he saw an example of CFML and how it was solving similar problems (although not in Java) using a tag syntax, he started developing what would eventually become BlueDragon, which was the first Java implementation of the CFML language. (ColdFusion was written in [[C (programming language)|C]] and [[C++]] until version 6.0, the first Java-based version, was released in 2002.) New Atlanta licensed BlueDragon around 2001 and made it available as a commercial product, eventually creating a [[.NET]] implementation of CFML. Open BlueDragon is a fork of the commercial BlueDragon product and was first released in 2008. The Railo CFML engine began as a student project in 2002 and was first launched as a commercial project in 2005.<ref>[http://www.getrailo.org/index.cfm/about-railo/ About Railo] {{Webarchive|url=https://web.archive.org/web/20110630010231/http://www.getrailo.org/index.cfm/about-railo/ |date=2011-06-30}}. Getrailo.org. Retrieved on 2013-09-17.</ref> Railo announced they were making the engine open source in 2008, and the first open source version was released in 2009. On June 18, 2009, [[Adobe Systems|Adobe]] announced at the CFUnited conference that it had formed a CFML Advisory Committee<ref>http://corfield.org/entry/CFML_Advisory_Committee {{Webarchive|url=https://web.archive.org/web/20090107042428/http://corfield.org/entry/CFML_Advisory_Committee |date=2009-01-07}} CFML Advisory Committee β An Architect's View. Corfield.org. Retrieved on 2013-07-21.</ref> that would be responsible for guiding and reviewing changes to the CFML language. This effort was disbanded in 2010. The [[Google Group]] CFML Conventional Wisdom was created as a forum for open, public discussions about language and engine features; its use has dwindled since 2011.{{citation needed|date=August 2015}} In 2012, the OpenCFML Foundation was launched. Its function is to push [[open-source software|open-source]] CFML applications and platforms. Former Railo lead developer Michael Offner launched [[Lucee]], a fork of [[Railo]], in London on January 29, 2015. Backed by community supporters and members of the Lucee Association, the goal of the project is to provide the functionality of CFML using fewer resources, giving better performance and to move CFML past its roots and into a modern and dynamic Web programming platform. In 2025, CFML was still in use. Lucee will hold a CFML conference, CFCAMP, on May 22-23, 2025.<ref>{{Cite web |last=Spitzer |first=Zac |date=April 1, 2025 |title=CFCAMP 2025, May 22nd & 23rd, Munich, Germany |url=https://dev.lucee.org/t/cfcamp-2025-may-22nd-23rd-munich-germany/14926 |access-date=April 22, 2025}}</ref> The Adobe ColdFusion Summit 2025 is to be held September 21-24, 2025.<ref>{{Cite web |date=April 22, 2025 |title=Adobe ColdFusion Summit 2025 |url=https://cfsummit.adobeevents.com/ |access-date=April 22, 2025}}</ref> == Syntax == CFML tags have a similar format to HTML tags. They are enclosed in [[angle brackets]] (< and >) and generally have zero or more named [[attribute (computing)|attributes]], though some tags (e.g. cfset, cfif) contain an expression rather than attributes. Many CFML tags have bodies; that is, they have beginning and end tags with text to be processed between them. For example: <syntaxhighlight lang="cfm"> <cfoutput> #value# Bob! </cfoutput> </syntaxhighlight> Other tags, such as cfset and cfftp, never have bodies; all the required information goes between the beginning (<) character and the ending (>) character in the form of tag attributes (name/value pairs), as in the example below. If it is legal for tags not to have a body, it is syntactically acceptable to leave them unclosed as in the first example, though many CFML developers choose to self-close tags as in the second example to (arguably) make the code more legible. <syntaxhighlight lang="cfm"> <cfset value = "Hello"> <cfset value = "Hello" /> </syntaxhighlight> Even if the tag can have a body, including a body may not be necessary in some instances because the attributes specify all the required information. In these cases, as with the second example above, the end tag (and hence, the tag body) may be omitted and the tag may be self-closing as in the following example:<ref>[http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element5.htm Tag syntax] {{webarchive |url=https://web.archive.org/web/20080527095947/http://livedocs.adobe.com/coldfusion/6.1/htmldocs/element5.htm |date=May 27, 2008}}</ref> <syntaxhighlight lang="cfm"> <cfexecute name="C:\\winNT\\System32\\netstat.exe" arguments="-e" outputfile="C:\\Temp\\out.txt" timeout="1" /></syntaxhighlight> Various tags offer the ability to type-check input parameters (e.g. cffunction, cfparam, cfqueryparam) if the [[programmer]] declares their type specifically. This functionality is used with cfqueryparam to [[information security|secure]] web applications and databases from [[hacker (computer security)|hacker]]s and malicious web requests such as [[SQL injection]]. == Built-in tags == Nearly 100 tags and many more functions make up the heart of the CFML language. The following lists CFML tags by their function or purpose.<ref>[http://livedocs.adobe.com/coldfusion/8/cf8_cfml_ref.pdf Tags by function] {{Webarchive|url=https://web.archive.org/web/20080509064817/http://livedocs.adobe.com/coldfusion/8/cf8_cfml_ref.pdf |date=2008-05-09}}. (PDF) Retrieved on 2013-09-17.</ref> *Application framework *Communications *Control **[[Flow control construct|Flow-control]] **Database manipulation **[[Exception handling]] *Data output *[[Debugging]] *Display management *Extensibility *[[File management]] *[[Form (web)|form]] *[[Internet Protocol]] *Page processing *[[Security]] *[[Variable (programming)|Variable]] manipulation *Other tags (cfimage, cfregistry etc.) == Custom tags == {{Unreferenced section|date=February 2017}} CFML allows language extensions in the form of custom tags, which are tags created by the developer that are not part of the CFML language itself. Custom tags are regular CFML files which are intended to be invoked as tags, although it is possible to treat a [[Template (programming)|template]] as both a custom tag and a regular template. Custom tags are written in CFML and are typically invoked by prefixing the custom tag's file name with ''cf_'', although there are other ways to invoke custom tags. If a template is invoked as a custom tag, the attributes used to invoke that tag are available within the tag in an ''attributes'' scope and the variables for the calling page are accessible via the ''caller'' scope. For example, if writing a custom tag to perform [[addition]], taking two attributes and adding them together, the tag would be an addition.cfm file which could look like this: <syntaxhighlight lang="cfm"> <cfset caller.addition = attributes.first + attributes.second /> <cfexit method="exitTag" /> </syntaxhighlight> Assuming the tag is in the same directory as the file (or in a pre-defined customtags directory), it can be invoked thus: <syntaxhighlight lang="cfm"> <cf_addition first="1" second="2"> </syntaxhighlight> CFX tags are custom tags which are developed using [[Java language|Java]] or [[C++]], and are prefixed with cfx_ just like cf_. Java and C++ tags are added to the CFML runtime environment using the CFML engine's administrator or by editing configuration files. On some CFML engines [[JavaServer Pages|JSP]] tags can also be included in CFML pages using the <cfimport> tag.{{citation needed|date=February 2017}} == Functions == ColdFusion Markup Language includes a set of functions that you use to perform logical and arithmetic operations and manipulate data. {| class="wikitable sortable" |- !Function !Reference !Code |- |[[Array data structure|Array]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_03.html#3473387 Array functions] {{Webarchive|url=https://web.archive.org/web/20081210235527/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_03.html#3473387 |date=2008-12-10}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> ||(ArraySort, ArrayAppend, ArrayDeleteAt...) |- |Conversion |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_04.html#1098761 Conversion functions] {{Webarchive|url=https://web.archive.org/web/20081208084545/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_04.html#1098761 |date=2008-12-08}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (URLEncodedFormat, ToString...) |- |Date and time |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_05.html#1098968 Date and time functions] {{Webarchive|url=https://web.archive.org/web/20081202132915/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_05.html#1098968 |date=2008-12-02}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (LsTimeFormat, DateAdd, DateDiff...) |- |Decision |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_06.html#3485787 Decision functions] {{Webarchive|url=https://web.archive.org/web/20090201085009/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_06.html#3485787 |date=2009-02-01}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (IsDefined, IIF...) |- |Display and formatting |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_07.html#1099219 Display and formatting functions] {{Webarchive|url=https://web.archive.org/web/20081220025858/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_07.html#1099219 |date=2008-12-20}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (CJustify, NumberFormat...) |- |Dynamic evaluation |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_08.html#1099242 Dynamic evaluation functions] {{Webarchive|url=https://web.archive.org/web/20081207195449/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_08.html#1099242 |date=2008-12-07}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (DE, Evaluate...) |- |Extensibility |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_09.html#3490127 Extensibility] {{Webarchive|url=https://web.archive.org/web/20090214041738/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_09.html#3490127 |date=2009-02-14}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (CreateObject, ToScript...) |- |[[Image]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_11.html#1099325 Image functions] {{Webarchive|url=https://web.archive.org/web/20090131150931/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_11.html#1099325 |date=2009-01-31}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (ImageRotate, ImageAddBorder...) |- |International functions |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_12.html#3614227 International functions] {{Webarchive|url=https://web.archive.org/web/20090208230052/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_12.html#3614227 |date=2009-02-08}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (SetLocale, GetTimeZoneInfo...) |- |[[List (computing)|List]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_13.html#1099435 List functions] {{Webarchive|url=https://web.archive.org/web/20081210235531/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_13.html#1099435 |date=2008-12-10}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (FindOneOf, ListSetAt...) |- |Mathematical |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_14.html#1099613 Mathematical functions] {{Webarchive|url=https://web.archive.org/web/20081207130216/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_14.html#1099613 |date=2008-12-07}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (Randomize, Sqr...) |- |Other functions |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_15.html#3493621 Other functions] {{Webarchive|url=https://web.archive.org/web/20090130043707/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_15.html#3493621 |date=2009-01-30}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (WriteOutput, GetBaseTemplatePath...) |- |Query |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_16.html#1099653 Query functions] {{Webarchive|url=https://web.archive.org/web/20090221144556/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_16.html#1099653 |date=2009-02-21}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (QueryAddColumn, QuerySetCell...) |- |Security |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_17.html#3542210 Security functions] {{Webarchive|url=https://web.archive.org/web/20081205034546/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_17.html#3542210 |date=2008-12-05}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (Encrypt, Decrypt...) |- |[[String (computer science)|String]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_18.html#1099887 String functions] {{Webarchive|url=https://web.archive.org/web/20090129213824/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_18.html#1099887 |date=2009-01-29}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (Reverse, HTMLCodeFormat...) |- |[[Data structure|Structure]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_19.html#1099964 Structure functions] {{Webarchive|url=https://web.archive.org/web/20090214023833/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_19.html#1099964 |date=2009-02-14}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (StructKeyExists, StructDelete...) |- |[[System]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_20.html#1100017 System functions] {{Webarchive|url=https://web.archive.org/web/20090201064841/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_20.html#1100017 |date=2009-02-01}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (GetTickCount, GetTempFile...) |- |[[XML]] |<ref>[http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_21.html#3468770 XML functions] {{Webarchive|url=https://web.archive.org/web/20090220221246/http://livedocs.adobe.com/coldfusion/8/htmldocs/functions-pt0_21.html#3468770 |date=2009-02-20}}. Livedocs.adobe.com. Retrieved on 2013-09-17.</ref> || (XMLParse, GetSOAPResponse...) |} == ColdFusion Components (CFCs) == CFCs provide some (not all) of the typical features and functionality that are provided by [[object-oriented]] (OOP) languages. To create a CFC: :Create a file with a .CFC extension (this distinguishes CFCs from ColdFusion templates, which have a .CFM extension). :Use four tags to create the components, define their functions and [[arguments]], and return a value. ::<cfcomponent>: Defines a CFC ::<cffunction>: Defines the functions (methods) within a CFC ::<cfargument>: Defines the arguments (parameters) that a function accepts ::<cfreturn>: Returns a value or result from a function CFCs are plain CFML. Within a CFC any CFML tag, function, custom tag, other components, etc. may be used. CFCs can be used in various ways. If a method contained in a CFC simply needs to be invoked, the <cfinvoke> tag will create an instance of the CFC, invoke the desired method, and then destroy the instance of the CFC. <cfinvoke> takes the name of the component (minus the .cfc extension) and the method to execute. To access any returned data, the RETURNVARIABLE attribute provides the name of a variable to contain whatever the function returns. CFCs are created using four tags, saved as .CFC files, and invoked using the <cfinvoke> tag.<ref>Forta, Ben [https://web.archive.org/web/20100528103657/http://www.adobe.com/devnet/coldfusion/articles/intro_cfcs.html Using ColdFusion components]. adobe.com</ref> In the example below, component temperature.cfc has a method FtoC which converts temperature from Fahrenheit to Celsius. The test.cfm template invokes the method and converts 212 degrees Fahrenheit and outputs the result. <syntaxhighlight lang="cfm"> <!--- temperature.cfc ---> <cfcomponent> <cffunction name="FtoC" access="public" returntype="numeric"> <cfargument name="fahrenheit" required="yes" type="numeric" /> <cfset answer= (fahrenheit - 32)*100/180 /> <cfreturn answer /> </cffunction> </cfcomponent> <!--- test.cfm ---> <cfset fDegrees = 212 /> <cfinvoke component="temperature" method="FtoC" returnvariable="result"> <cfinvokeargument name="fahrenheit" value="#fDegrees#" /> </cfinvoke> <cfoutput>#fDegrees#°F = #result#°C</cfoutput> <br /> </syntaxhighlight> CFCs may also be instantiated as objects. Assuming a CFC file called Person.cfc, an instance of this CFC would be instantiated as follows: <syntaxhighlight lang="cfm"> <cfset person = CreateObject("component", "Person") /></syntaxhighlight> CFCs also form the basis of the ability to create [[web services]] in CFML. A CFC is created in the usual way, and the attribute access="remote" added to any function within the CFC will make that function available to be called as a [[SOAP]]-based web service. The CFML engine auto-generates a [[Wsdl|WSDL]] and creates all the necessary stubs for the web service to function. == Security updates == Adobe releases security patches for ColdFusion as needed, typically in response to identified vulnerabilities. These updates address critical issues such as [[arbitrary code execution]] and security feature bypasses. For instance, on December 23, 2024, Adobe released updates for ColdFusion 2023 and 2021 to resolve a critical vulnerability that could lead to arbitrary file system read. To stay informed about the latest security updates, users should regularly check Adobe's official ColdFusion security bulletins. Additionally, subscribing to Adobe's security notification service ensures timely alerts about new patches and vulnerabilities. Implementing these updates promptly is crucial to maintaining the security and integrity of ColdFusion applications. == References == {{Reflist|30em}} ==External links== * [https://cfdocs.org/ CFML documentation maintained by the community] * [https://github.com/mhenke/CFML-in-100-minutes/blob/develop/cfml100mins.markdown CFML in 100 minutes β introduction to the basics of the CFML language.] * [http://learncfinaweek.com/ A community driven training program that teaches the basics of CFML.] * [http://cfml-slack.herokuapp.com/ CFML Slack team] * [http://www.cfquickdocs.com/ CFQuickDocs β ColdFusion tags and functions reference.] * [http://lucee.org/ Lucee] * [http://openbd.org/ Open BlueDragon] * [http://www.newatlanta.com/products/bluedragon/product_info/overview.cfm BlueDragon] * [http://getrailo.com/ Railo] * [https://groups.google.com/group/cfml-conventional-wisdom CFML Conventional Wisdom Google Group] * [https://web.archive.org/web/20090204105406/http://www.opencfml.org/ CFML Advisory Committee] (this committee is now defunct) {{CFML programming language}} [[Category:CFML programming language]] [[Category:Domain-specific programming languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:As of
(
edit
)
Template:CFML programming language
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Unreferenced section
(
edit
)
Template:Webarchive
(
edit
)