ColdFusion Markup Language: Difference between revisions

Content deleted Content added
Reverted 2 edits by 2600:8805:9104:2700:B88C:5F04:E70:D3C2 (talk): Unexplained eletion by anon
Template:Infobox programming language, WP:REFerence WP:CITation parameters: update-standardizes, reorders, needless underscores > spaces, fill, respaces, conform to master templates. WP:LINKs: update-standardizes, needless WP:PIPEs > WP:NOPIPEs, adds. MOS:FIRSTABBReviations clarify, define before WP:ABBRs in parentheses. Small WP:COPYEDITs WP:EoS: WP:TERSE, clarify.
Line 5:
| logo =
| paradigm = [[Imperative programming|imperative]], [[Object-oriented programming|object-oriented]]
| year = {{Start date and age|1995}}
| designer = [[Jeremy Allaire]], [[Joseph J. Allaire]]
| developer = [[Adobe Systems]] ([[ColdFusion]]), Lucee Association ([[Lucee]]), [[New Atlanta]] and aw2.0 ([[openBD]]), The Railo Company ([[Railo]])
| yearreleased = {{Start date and age|1995}}
| latest_release_version =
| latest release version = 2023 Release
| latest_release_date =
| latest release version = {{Start date and age|2023}}
| latest_test_version =
| latest preview version =
| latest_test_date =
| latest preview version =
| typing =
| implementations = [[Adobe ColdFusion]], [[Lucee]], [[Railo]], [[BlueDragon]], [[Open BlueDragon]]
| dialects =
| influenced_by =
| 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|http://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 [[JVMJava virtual machine]] (JVM), the [[.NET Framework|.NET framework]] framework, and [[Google App Engine]]. MultipleSeveral commercial and [[free and open-source software|open source]] implementations of CFML engines are available, including [[Adobe ColdFusion]], [[Lucee]], [[New Atlanta]] [[BlueDragon]] (who[[Java offer both a(programming language)|Java-based]] and a .NET-based versionversions), [[Railo]], and [[Open BlueDragon]], as well asand [[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 numerousmany other constructs including ColdFusion Components (CFCs), CFML's version of [[Object-oriented programming|objects]], that allow for separation ofseparating business logic from presentation.
 
CFML can be written using either tags or [[CFScript]], which resembles [[JavaScript]] ([[ECMA Script|ECMA scriptECMAScript]]).
 
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>
Line 37:
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}}, andit 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&nbsp;—, the first Java-based version of ColdFusion&nbsp;—, 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&nbsp;— 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.
Line 63:
<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>
Line 70:
 
== 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
Line 120:
|-
|[[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...)
|}
 
Line 232:
 
[[Category:CFML programming language]]
 
[[Category:Domain-specific programming languages]]