User Guide Cancel

cffeed

  1. CFML Reference User Guide
  2. ColdFusion functions
    1. ColdFusion functions by category
    2. Functions a-b
      1. Abs
      2. ACos
      3. AddSOAPRequestHeader
      4. AddSOAPResponseHeader
      5. AjaxLink
      6. AjaxOnLoad
      7. ApplicationStop
      8. ArrayAppend
      9. ArrayAvg
      10. ArrayClear
      11. ArrayContains
      12. ArrayContainsNoCase
      13. ArrayDelete
      14. ArrayDeleteAt
      15. ArrayDeleteNoCase
      16. ArrayEach
      17. ArrayFilter
      18. ArrayFind
      19. ArrayFindAll
      20. ArrayFindAllNoCase
      21. ArrayFindNoCase
      22. ArrayInsertAt
      23. ArrayIsDefined
      24. ArrayIsEmpty
      25. ArrayLen
      26. ArrayMap
      27. ArrayMax
      28. ArrayMin
      29. ArrayNew
      30. ArrayPrepend
      31. ArrayReduce
      32. ArrayResize
      33. ArraySet
      34. ArraySetMetadata
      35. ArraySlice
      36. ArraySort
      37. ArraySum
      38. ArraySwap
      39. ArrayToList
      40. Asc
      41. ASin
      42. Atn
      43. AuthenticatedContext
      44. AuthenticatedUser
      45. BinaryDecode
      46. BinaryEncode
      47. BitAnd
      48. BitMaskClear
      49. BitMaskRead
      50. BitMaskSet
      51. BitNot
      52. BitOr
      53. BitSHLN
      54. BitSHRN
      55. BitXor
      56. BooleanFormat
    3. Functions-c-d
      1. CacheGet
      2. CacheGetAllIds
      3. CacheGetMetadata
      4. CacheGetProperties
      5. CacheGetSession
      6. CacheIdExists
      7. CachePut
      8. CacheRegionExists
      9. CacheRegionNew
      10. CacheRegionRemove
      11. CacheRemove
      12. CacheRemoveAll
      13. CacheSetProperties
      14. CallStackDump
      15. CallStackGet
      16. CanDeSerialize
      17. Canonicalize
      18. CanSerialize
      19. Ceiling
      20. CharsetDecode
      21. CharsetEncode
      22. Chr
      23. CJustify
      24. Compare
      25. CompareNoCase
      26. Cos
      27. CreateDate
      28. CreateDateTime
      29. CreateObject
      30. CreateObject: .NET object
      31. CreateObject: COM object
      32. CreateObject: component object
      33. CreateObject: CORBA object
      34. CreateObject: Java or EJB object
      35. CreateObject: web service object
      36. CreateODBCDate
      37. CreateODBCDateTime
      38. CreateODBCTime
      39. CreateSignedJWT
      40. CreateEncryptedJWT
      41. CreateTime
      42. CreateTimeSpan
      43. CreateUUID
      44. CSRFGenerateToken
      45. CSRFVerifyToken
      46. DateAdd
      47. DateCompare
      48. DateConvert
      49. DateDiff
      50. DateFormat
      51. DatePart
      52. DateTimeFormat
      53. Day
      54. DayOfWeek
      55. DayOfWeekAsString
      56. DayOfYear
      57. DaysInMonth
      58. DaysInYear
      59. DE
      60. DecimalFormat
      61. DecodeForHTML
      62. DecodeFromURL
      63. DecrementValue
      64. Decrypt
      65. DecryptBinary
      66. DeleteClientVariable
      67. Deserialize
      68. DeserializeJSON
      69. DeserializeXML
      70. DirectoryCopy
      71. DirectoryCreate
      72. DirectoryDelete
      73. DirectoryExists
      74. DirectoryList
      75. DirectoryRename
      76. DollarFormat
      77. DotNetToCFType
      78. Duplicate
    4. Functions-e-g
      1. EncodeForCSS
      2. EncodeForDN
      3. EncodeForHTML
      4. EncodeForHTMLAttribute
      5. EncodeForJavaScript
      6. EncodeForLDAP
      7. EncodeForURL
      8. EncodeForXML
      9. EncodeForXMLAttribute
      10. EncodeForXpath
      11. Encrypt
      12. EncryptBinary
      13. EntityDelete
      14. EntityLoad
      15. EntityLoadByExample
      16. EntityLoadByPK
      17. EntityMerge
      18. EntityNew
      19. EntityReload
      20. EntitySave
      21. EntityToQuery
      22. Evaluate
      23. Exp
      24. ExpandPath
      25. FileClose
      26. FileCopy
      27. FileDelete
      28. FileExists
      29. FileGetMimeType
      30. FileIsEOF
      31. FileMove
      32. FileOpen
      33. FileRead
      34. FileReadBinary
      35. FileReadLine
      36. FileSeek
      37. FileSetAccessMode
      38. FileSetAttribute
      39. FileSetLastModified
      40. FileSkipBytes
      41. FileUpload
      42. FileUploadAll
      43. FileWrite
      44. FileWriteLine
      45. Find
      46. FindNoCase
      47. FindOneOf
      48. FirstDayOfMonth
      49. Fix
      50. Floor
      51. FormatBaseN
      52. GeneratePBKDFKey
      53. GenerateSecretKey
      54.  GetApplicationMetadata
      55. GetAuthUser
      56. GetBaseTagData
      57. GetBaseTagList
      58. GetBaseTemplatePath
      59. GetClientVariablesList
      60. GetComponentMetaData
      61. GetContextRoot
      62. GetCPUUsage
      63. GetCurrentTemplatePath
      64. GetDirectoryFromPath
      65. GetEncoding
      66. GetException
      67. GetFileFromPath
      68. GetFileInfo
      69. GetFreeSpace
      70. GetFunctionCalledName
      71. GetFunctionList
      72. GetGatewayHelper
      73. GetHttpRequestData
      74. GetHttpTimeString
      75. GetK2ServerDocCount
      76. GetK2ServerDocCountLimit
      77. GetLocale
      78. GetLocaleDisplayName
      79. GetLocalHostIP
      80. GetMetaData
      81. GetMetricData
      82. GetPageContext
      83. GetPrinterInfo
      84. GetPrinterList
      85. GetProfileSections
      86. GetProfileString
      87. GetReadableImageFormats
      88. GetSafeHTML
      89. GetSAMLAuthRequest
      90. GetSAMLLogoutRequest
      91. GenerateSAMLSPMetadata
      92. GetSOAPRequest
      93. GetSOAPRequestHeader
      94. GetSOAPResponse
      95. GetSOAPResponseHeader
      96. GetSystemFreeMemory
      97. GetSystemTotalMemory
      98. GetTempDirectory
      99. GetTempFile
      100. GetTemplatePath
      101. GetTickCount
      102. GetTimeZoneInfo
      103. GetToken
      104. GetTotalSpace
      105. GetUserRoles
      106. GetVFSMetaData
      107. GetWriteableImageFormats
    5. Functions-h-im
      1. Hash
      2. HMac
      3. Hour
      4. HQLMethods
      5. HTMLCodeFormat
      6. HTMLEditFormat
      7. IIf
      8. ImageAddBorder
      9. ImageBlur
      10. ImageClearRect
      11. ImageCopy
      12. ImageCreateCaptcha
      13. ImageCrop
      14. ImageDrawArc
      15. ImageDrawBeveledRect
      16. ImageDrawCubicCurve
      17. ImageDrawLine
      18. ImageDrawLines
      19. ImageDrawOval
      20. ImageDrawPoint
      21. ImageDrawQuadraticCurve
      22. ImageDrawRect
      23. ImageDrawRoundRect
      24. ImageDrawText
      25. ImageFlip
      26. ImageGetBlob
      27. ImageGetBufferedImage
      28. ImageGetEXIFMetadata
      29. ImageGetEXIFTag
      30. ImageGetHeight
      31. ImageGetIPTCMetadata
      32. ImageGetIPTCTag
      33. ImageGetMetadata
      34. ImageGetWidth
      35. ImageGrayscale
      36. ImageInfo
      37. ImageMakeColorTransparent
      38. ImageMakeTranslucent
      39. ImageNegative
      40. ImageNew
      41. ImageOverlay
      42. ImagePaste
      43. ImageRead
      44. ImageReadBase64
      45. ImageResize
      46. ImageRotate
      47. ImageRotateDrawingAxis
      48. ImageScaleToFit
      49. ImageSetAntialiasing
      50. ImageSetBackgroundColor
      51. ImageSetDrawingColor
      52. ImageSetDrawingStroke
      53. ImageSetDrawingTransparency
      54. ImageSharpen
      55. ImageShear
      56. ImageShearDrawingAxis
      57. ImageTranslate
      58. ImageTranslateDrawingAxis
      59. ImageWrite
      60. ImageWriteBase64
      61. ImageXORDrawingMode
    6. Functions-in-k
      1. IncrementValue
      2. InputBaseN
      3. Insert
      4. Int
      5. InvalidateOauthAccesstoken
      6. Invoke
      7. InitSAMLAuthRequest
      8. InitSAMLLogoutRequest
      9. InvokeCFClientFunction
      10. IsArray
      11. IsAuthenticated
      12. IsAuthorized
      13. IsBinary
      14. IsBoolean
      15. IsClosure
      16. IsCustomFunction
      17. IsDate
      18. IsDateObject
      19. IsDDX
      20. IsDebugMode
      21. IsDefined
      22. IsImage
      23. IsImageFile
      24. IsInstanceOf
      25. IsIPv6
      26. IsJSON
      27. IsK2ServerABroker
      28. IsK2ServerDocCountExceeded
      29. IsK2ServerOnline
      30. IsLeapYear
      31. IsLocalHost
      32. IsNull
      33. IsNumeric
      34. IsNumericDate
      35. IsObject
      36. isOnline
      37. IsPDFArchive
      38. IsPDFFile
      39. IsPDFObject
      40. IsProtected
      41. IsQuery
      42. isSamlLogoutResponse
      43. isSafeHTML
      44. IsSimpleValue
      45. IsSOAPRequest
      46. IsSpreadsheetFile
      47. IsSpreadsheetObject
      48. IsStruct
      49. IsUserInAnyRole
      50. IsUserInRole
      51. IsUserLoggedIn
      52. IsValid
      53. IsValidOauthAccesstoken
      54. IsWDDX
      55. IsXML
      56. IsXmlAttribute
      57. IsXmlDoc
      58. IsXmlElem
      59. IsXmlNode
      60. IsXmlRoot
      61. JavaCast
      62. JSStringFormat
    7. Functions-l
      1. LCase
      2. Left
      3. Len
      4. ListAppend
      5. ListChangeDelims
      6. ListContains
      7. ListContainsNoCase
      8. ListDeleteAt
      9. ListEach
      10. ListFilter
      11. ListFind
      12. ListFindNoCase
      13. ListFirst
      14. ListGetAt
      15. ListInsertAt
      16. ListLast
      17. ListLen
      18. ListMap
      19. ListPrepend
      20. ListQualify
      21. ListReduce
      22. ListRemoveDuplicates
      23. ListRest
      24. ListSetAt
      25. ListSort
      26. ListToArray
      27. ListValueCount
      28. ListValueCountNoCase
      29. LJustify
      30. Location
      31. Log
      32. Log10
      33. LSCurrencyFormat
      34. LSDateFormat
      35. LSDateTimeFormat
      36. LSEuroCurrencyFormat
      37. LSIsCurrency
      38. LSIsDate
      39. LSIsNumeric
      40. LSNumberFormat
      41. LSParseCurrency
      42. LSParseDateTime
      43. LSParseEuroCurrency
      44. LSParseNumber
      45. LSTimeFormat
      46. LTrim
    8. Functions-m-r
      1. Max
      2. Mid
      3. Min
      4. Minute
      5. Month
      6. MonthAsString
      7. Now
      8. NumberFormat
      9. ObjectEquals
      10. ObjectLoad
      11. ObjectSave
      12. OnWSAuthenticate
      13. ORMClearSession
      14. ORMCloseAllSessions
      15. ORMCloseSession
      16. ORMEvictCollection
      17. ORMEvictEntity
      18. ORMEvictQueries
      19. ORMExecuteQuery
      20. ORMFlush
      21. ORMFlushall
      22. ORMGetSession
      23. ORMGetSessionFactory
      24. ORMIndex
      25. ORMIndexPurge
      26. ORMReload
      27. ORMSearch
      28. ORMSearchOffline
      29. ParagraphFormat
      30. ParameterExists
      31. ParseDateTime
      32. Pi
      33. PrecisionEvaluate
      34. ProcessSAMLResponse
      35. ProcessSAMLLogoutRequest
      36. Quarter
      37. PreserveSingleQuotes
      38. QueryAddColumn
      39. QueryAddRow
      40. QueryConvertForGrid
      41. QueryExecute
      42. QueryFilter
      43. QueryGetResult
      44. QueryGetRow
      45. QueryKeyExists
      46. QueryMap
      47. QueryNew
      48. QueryReduce
      49. QuerySetCell
      50. QuotedValueList
      51. QueryEach
      52. Rand
      53. Randomize
      54. RandRange
      55. ReEscape
      56. REFind
      57. REFindNoCase
      58. ReleaseComObject
      59. REMatch
      60. REMatchNoCase
      61. RemoveCachedQuery
      62. RemoveChars
      63. RepeatString
      64. Replace
      65. ReplaceList
      66. ReplaceNoCase
      67. REReplace
      68. REReplaceNoCase
      69. RestDeleteApplication
      70. RestSetResponse
      71. RestInitApplication
      72. Reverse
      73. Right
      74. RJustify
      75. Round
      76. RTrim
    9. Functions-s
      1. Second
      2. SendGatewayMessage
      3. SendSAMLLogoutResponse
      4. Serialize
      5. SerializeJSON
      6. SerializeXML
      7. SessionInvalidate
      8. SessionRotate
      9. SessionGetMetaData
      10. SessionInvalidate
      11. SessionRotate
      12. SetDay
      13. SetEncoding
      14. SetHour
      15. SetLocale
      16. SetMonth
      17. SetProfileString
      18. SetVariable
      19. SetYear
      20. Sgn
      21. Sin
      22. Sleep
      23. SpanExcluding
      24. SpanIncluding
      25. SpreadsheetAddAutoFilter
      26. SpreadsheetAddColumn
      27. SpreadsheetAddFreezePane
      28. SpreadsheetAddImage
      29. SpreadsheetAddInfo
      30. SpreadsheetAddPageBreaks
      31. SpreadsheetAddRow
      32. SpreadsheetAddRows
      33. SpreadsheetAddSplitPane
      34. SpreadsheetCreateSheet
      35. SpreadsheetDeleteColumn
      36. SpreadsheetDeleteColumns
      37. SpreadsheetDeleteRow
      38. SpreadsheetDeleteRows
      39. SpreadsheetFormatCell
      40. SpreadsheetFormatColumn
      41. SpreadsheetFormatCellRange
      42. SpreadsheetFormatColumn
      43. SpreadsheetFormatColumns
      44. SpreadsheetFormatRow
      45. SpreadsheetFormatRows
      46. SpreadsheetGetCellComment
      47. SpreadsheetGetCellFormula
      48. SpreadsheetGetCellValue
      49. SpreadsheetGetColumnCount
      50. SpreadsheetInfo
      51. SpreadsheetMergeCells
      52. SpreadsheetNew
      53. SpreadsheetRead
      54. SpreadsheetReadBinary
      55. SpreadsheetRemoveSheet
      56. SpreadsheetSetActiveSheet
      57. SpreadsheetSetActiveSheetNumber
      58. SpreadsheetSetCellComment
      59. SpreadsheetSetCellFormula
      60. SpreadsheetSetCellValue
      61. SpreadsheetSetColumnWidth
      62. SpreadsheetSetFooter
      63. SpreadsheetSetHeader
      64. SpreadsheetSetRowHeight
      65. SpreadsheetShiftColumns
      66. SpreadsheetShiftRows
      67. SpreadsheetWrite
      68. Sqr
      69. StripCR
      70. StructAppend
      71. StructClear
      72. StructCopy
      73. StructCount
      74. StructDelete
      75. StructEach
      76. StructFilter
      77. StructFind
      78. StructFindKey
      79. StructFindValue
      80. StructGet
      81. StructGetMetadata
      82. StructInsert
      83. StructIsEmpty
      84. StructKeyArray
      85. StructKeyExists
      86. StructKeyList
      87. StructMap
      88. StructNew
      89. StructReduce
      90. StructSetMetadata
      91. StructSort
      92. StructToSorted
      93. StructUpdate
      94. StoreSetMetadata
      95. StoreGetACL
      96. StoreGetMetadata
      97. StoreAddACL
      98. StoreSetACL
    10. Functions-t-z
      1. Tan
      2. ThreadJoin
      3. ThreadTerminate
      4. Throw
      5. TimeFormat
      6. ToBase64
      7. ToBinary
      8. ToScript
      9. ToString
      10. Trace
      11. Transactionandconcurrency
      12. TransactionCommit
      13. TransactionRollback
      14. TransactionSetSavePoint
      15. Trim
      16. UCase
      17. URLDecode
      18. URLEncodedFormat
      19. URLSessionFormat
      20. Val
      21. ValueList
      22. VerifyClient
      23. Week
      24. Wrap
      25. WriteDump
      26. WriteLog
      27. WriteOutput
      28. WSGetAllChannels
      29. WSGetSubscribers
      30. WSPublish
      31. WSSendMessage
      32. XmlChildPos
      33. XmlElemNew
      34. XmlFormat
      35. XmlGetNodeType
      36. XmlNew
      37. XmlParse
      38. XmlSearch
      39. XmlTransform
      40. XmlValidate
      41. Year
      42. YesNoFormat
  3. ColdFusion Tags
    1. ColdFusion tag summary
    2. ColdFusion tags by category
      1. Application framework tags
        1. cfapplication
        2. cfassociate
        3. cferror
        4. cfimport
        5. cfinterface
        6. cflock
        7. cfscript
        8. cfthread
      2. Communications tags
        1. cfexchangecalendar
        2. cfexchangeconnection
        3. cfexchangecontact
        4. cfexchangefilter
        5. cfexchangemail
        6. cfexchangetask
        7. cffeed
        8. cfmail
        9. cfmailparam
        10. cfmailpart
        11. cfpopcfimap
      3. Database manipulation tags
        1. cfdbinfo
        2. cfinsert
        3. cfobjectcache
        4. cfprocparam
        5. cfprocresult
        6. cfquery
        7. cfqueryparam
        8. cfstoredproc
        9. cftransaction
        10. cfupdate
      4. Data output tags
        1. cfchart
        2. cfchartdata
        3. cfchartseries
        4. cfcol
        5. cfcontent
        6. cfdocument
        7. cfdocumentitem
        8. cfdocumentsection
        9. cfflush
        10. cfheader
        11. cflog
        12. cfoutput
        13. cfpresentation
        14. cfpresentationslide
        15. cfpresenter
        16. cfprocessingdirective
        17. cfprint
        18. cfreport
        19. cfreportparam
        20. cfsilent
        21. cftable
      5. Debugging tags
        1. cfdump
        2. cftimer
        3. cftrace
      6. Exception handling tags
        1. cfcatch
        2. cferror
        3. cffinally
        4. cfrethrow
        5. cfthrow
        6. cftry
      7. Extensibility tags
        1. cfchart
        2. cfchartdata
        3. cfchartseries
        4. cfcollection
        5. cfcomponent
        6. cfexecute
        7. cfftp
        8. function
        9. cfindex
        10. cfinterface
        11. cfinvoke
        12. cfinvokeargument
        13. cfobject
        14. cfproperty
        15. cfreport
        16. cfreportparam
        17. cfreturn
        18. cfsearch
        19. cfsharepoint
        20. cfspreadsheet
        21. cfwddx
        22. cfxml
      8. File management tags
        1. cfdirectory
        2. cffile
        3. cffileupload
        4. cfftp
        5. cfzip
        6. cfzipparam
      9. Flow-control tags
        1. cfabort
        2. cfbreak
        3. cfcase
        4. cfcontinue
        5. cfdefaultcase
        6. cfelse
        7. cfelseif
        8. cfexecute
        9. cfexit
        10. cfif
        11. cfinclude
        12. cflocation
        13. cfloop
        14. cfrethrow
        15. cfswitch
        16. cfthrow
        17. cftry
      10. Forms tags
        1. cfapplet
        2. cfcalendar
        3. cffileupload
        4. cfform
        5. cfformgroup
        6. cfformitem
        7. cfgrid
        8. cfgridcolumn
        9. cfgridrow
        10. cfgridupdate
        11. cfinput
        12. cfpdf
        13. cfpdfform
        14. cfpdfformparam
        15. cfpdfparam
        16. cfpdfsubform
        17. cfselect
        18. cfslider
        19. cftextarea
        20. cftree
        21. cftreeitem
      11. Internet Protocol tags
        1. cfajaximport
        2. cfajaxproxy
        3. cfftp
        4. cffeed
        5. cfimap
        6. cfhttp
        7. cfhttpparam
        8. cfldap
        9. cfmail
        10. cfmailparam
        11. cfmailpart
        12. cfpop
        13. cfsprydataset
      12. Page processing tags
        1. cfcache
        2. cfcontent
        3. cfflush
        4. cfheader
        5. cfhtmlhead
        6. cfinclude
        7. cfprocessingdirective
        8. cfsetting
        9. cfsilent
      13. Security tags
        1. cflogin
        2. cfloginuser
        3. cflogout
        4. cfNTauthenticate
      14. Variable manipulation tags
        1. cfcookie
        2. cfdump
        3. cfparam
        4. cfregistry
        5. cfsavecontent
        6. cfschedule
        7. cfset
        8. cfsetting
      15. Other tags
        1. cfimage
        2. cflog
        3. cfregistry
    3. Tags a-b
      1. cfabort
      2. cfajaximport
      3. cfajaxproxy
      4. cfapplet
      5. cfapplication
      6. cfargument
      7. cfassociate
      8. cfauthenticate
      9. cfbreak
    4. Tags c
      1. cfcache
      2. cfcalendar
      3. cfcase
      4. cfcatch
      5. cfchart
      6. cfchartdata
      7. cfchartseries
      8. cfclient
      9. cfclientsettings
      10. cfcol
      11. cfcollection
      12. cfcomponent
      13. cfcontent
      14. cfcontinue
      15. cfcookie
      16. Tags d-e
    5. Tags f
      1. cffeed
      2. cffile
      3. cffile action = "append"
      4. cffile action = "copy"
      5. cffile action = "delete"
      6. cffile action = "move"
      7. cffile action = "read"
      8. cffile action = "readBinary"
      9. cffile action = "rename"
      10. cffile action = "upload"
      11. cffile action = "uploadAll"
      12. cffile action = "write"
      13. cffileupload
      14. cffinally
      15. cfflush
      16. cfform
      17. cfformgroup
      18. cfformitem
      19. cfftp
      20. cfftp: Connection: file and directory operations
      21. cfftp: Opening and closing FTP server connections
      22. cfftp : Opening and closing secure FTP server connections
      23. cfftp action = "listDir"
      24. cffunction
    6. Tags g-h
      1. cfgraph
      2. cfgraphdata
      3. cfgrid
      4. cfgridcolumn
      5. cfgridrow
      6. cfgridupdate
      7. cfheader
      8. cfhtmlhead
      9. cfhtmltopdf
      10. cfhtmltopdfitem
      11. cfhttp
      12. cfhttpparam
    7. Tags i
      1. cfif
      2. cfimage
      3. cfimap
      4. cfimapfilter
      5. cfimpersonate
      6. cfimport
      7. cfinclude
      8. cfindex
      9. cfinput
      10. cfinsert
      11. cfinterface
      12. cfinvoke
      13. cfinvokeargument
    8. Tags j-l
      1. cfjava
      2. cflayout
      3. cflayoutarea
      4. cfldap
      5. cflocation
      6. cflock
      7. cflog
      8. cflogin
      9. cfloginuser
      10. cflogout
      11. cfloop
      12. cfloop : conditional loop
      13. cfloop : index loop
      14. cfloop : looping over a COM collection or structure
      15. cfloop : looping over a date or time range
      16. cfloop : looping over a list, a file, or an array
      17. cfloop : looping over a query
    9. Tags m-o
      1. cfmail
      2. cfmailparam
      3. cfmailpart
      4. cfmap
      5. cfmapitem
      6. cfmediaplayer
      7. cfmenu
      8. cfmenuitem
      9. cfmessagebox
      10. cfmodule
      11. cfNTauthenticate
      12. cfoauth
      13. cfobject
      14. cfobject: .NET object
      15. cfobject: COM object
      16. cfobject: component object
      17. cfobject: CORBA object
      18. cfobject: Java or EJB object
      19. cfobject: web service object
      20. cfobjectcache
      21. cfoutput
    10. Tags p-q
      1. cfparam
      2. cfpdf
      3. cfpdfform
      4. cfpdfformparam
      5. cfpdfparam
      6. cfpdfsubform
      7. cfpod
      8. cfpop
      9. cfpresentation
      10. cfpresentationslide
      11. cfpresenter
      12. cfprint
      13. cfprocessingdirective
      14. cfprocparam
      15. cfprocresult
      16. cfprogressbar
      17. cfproperty
      18. cfquery
      19. cfqueryparam
    11. Tags r-s
      1. cfregistry
      2. cfreport
      3. cfreportparam
      4. cfrethrow
      5. cfreturn
      6. cfsavecontent
      7. cfschedule
      8. cfscript
      9. cfsearch
      10. cfselect
      11. cfservlet
      12. cfservletparam
      13. cfset
      14. cfsetting
      15. cfsharepoint
      16. cfsilent
      17. cfslider
      18. cfspreadsheet
      19. cfsprydataset
      20. cfstoredproc
      21. cfswitch
    12. Tags t
      1. cftable
      2. cftextarea
      3. cftextinput
      4. cfthread
      5. cfthrow
      6. cftimer
      7. cftooltip
      8. cftrace
      9. cftransaction
      10. cftree
      11. cftreeitem
      12. cftry
    13. Tags u-z
      1. cfupdate
      2. cfwddx
      3. cfwebsocket
      4. cfwindow
      5. cfxml
      6. cfzip
      7. cfzipparam
  4. CFML Reference
    1. Reserved words and variables
      1. Reserved words and variables
      2. Reserved words
      3. Scope-specific built-in variables
      4. Custom tag variables
      5. ColdFusion tag-specific variables
      6. CGI environment (CGI Scope) variables
    2. Ajax JavaScript functions
      1. Ajax JavaScript functions
      2. Function summary Ajax
      3. ColdFusion.Ajax.submitForm
      4. ColdFusion.Autosuggest.getAutosuggestObject
      5. ColdFusion.Layout.enableSourceBind
      6. ColdFusion.MessageBox.getMessageBoxObject
      7. ColdFusion.ProgressBar.getProgressBarObject
      8. ColdFusion.MessageBox.isMessageBoxDefined
      9. JavaScriptFunctionsinColdFusion9Update1
    3. ColdFusion ActionScript functions
      1. ColdFusion ActionScript functions
      2. CF.http
      3. CF.query
    4. ColdFusion mobile functions
      1. ColdFusion Mobile Functions
      2. Accelerometer Functions
      3. Camera Functions
      4. Connection Functions
      5. Contact Functions
      6. Event Functions
      7. File System Functions
      8. Geolocation Functions
      9. Media and Capture Functions
      10. Notification Functions
      11. Splash Screen Functions
      12. Storage Functions
    5. Application.cfc reference
      1. Application.CFC reference
      2. Application variables
      3. Method summary
      4. onAbort
      5. onApplicationEnd
      6. onApplicationStart
      7. onMissingTemplate
      8. onCFCRequest
      9. onError
      10. onRequestEnd
      11. onRequest
      12. onRequestStart
      13. onServerStart
      14. onSessionEnd
      15. onSessionStart
    6. Script functions implemented as CFCs
      1. Script Functions Implemented as CFCs
      2. Accessing the functions
      3. Function summary
      4. ftp
      5. http
      6. mail
      7. pdf
      8. query
      9. Script functions implemented as CFCs in ColdFusion 9 Update 1
      10. storedproc
    7. ColdFusion Flash Form style reference
      1. Styles valid for all controls
      2. Styles for cfform
      3. Styles for cfformgroup with horizontal or vertical type attributes
      4. Styles for box-style cfformgroup elements
      5. Styles for cfformgroup with accordion type attribute
      6. Styles for cfformgroup with tabnavigator type attribute
      7. Styles for cfformitem with hrule or vrule type attributes
      8. Styles for cfinput with radio, checkbox, button, image, or submit type attributes
      9. Styles for cftextarea tag and cfinput with text, password, or hidden type attributes
      10. Styles for cfselect with size attribute value of 1
      11. Styles for cfselect with size attribute value greater than 1
      12. Styles for cfcalendar tag and cfinput with dateField type attribute
      13. Styles for the cfgrid tag
      14. Styles for the cftree tag
      15. ColdFusion Flash Form Style Reference
    8. ColdFusion event gateway reference
      1. ColdFusion Event Gateway reference
      2. addEvent
      3. CFEvent
      4. CFEventclass
      5. Constructor
      6. Gateway development interfaces and classes
      7. getStatus
      8. setCFCPath
      9. setCFCMethod
      10. getOriginatorID
      11. getLogger
      12. getBuddyList
      13. getBuddyInfo
      14. IM gateway message sending commands
      15. IM Gateway GatewayHelper class methods
      16. onIncomingMessage
      17. onIMServerMessage
      18. onBuddyStatus
      19. onAddBuddyResponse
      20. onAddBuddyRequest
      21. IM Gateway CFC incoming message methods
      22. IM gateway methods and commands
      23. CFML CFEvent structure
      24. warn
      25. info
      26. setOriginatorID
      27. data command
      28. submit Multi command
      29. submit command
      30. setGatewayType
      31. setGatewayID
      32. setData
      33. setCFCListeners
      34. outgoingMessage
      35. getStatusTimeStamp
      36. numberOfMessagesReceived
      37. numberOfMessagesSent
      38. removeBuddy
      39. removeDeny
      40. removePermit
      41. setNickName
      42. setPermitMode
      43. setStatus
      44. SMS Gateway CFEvent structure and commands
      45. SMS Gateway incoming message CFEvent structure
      46. getStatusAsString
      47. getProtocolName
      48. getPermitMode
      49. getPermitList
      50. getNickName
      51. getName
      52. getDenyList
      53. getCustomAwayMessage
      54. getQueueSize
      55. getMaxQueueSize
      56. getHelper
      57. getGatewayType
      58. getGatewayServices
      59. getGatewayID_1
      60. getGatewayID
      61. getData
      62. getCFCTimeout
      63. setCFCTimeout
      64. getCFCPath
      65. getCFCMethod
      66. GatewayServices class
      67. Gateway interface
      68. GatewayHelper interface
      69. addPermit
      70. addDeny
      71. addBuddy
      72. error
      73. debug
      74. Logger class
      75. stop
      76. start
      77. CFML event gateway SendGatewayMessage data parameter
      78. restart
      79. fatal
      80. SMS gateway message sending commands
    9. ColdFusion C++ CFX Reference
      1. C++ class overview
      2. Deprecated class methods
      3. CCFXException class
      4. CCFXQuery class
      5. CCFXRequest class
      6. CCFXStringSet class
      7. ColdFusion C++ CFX Reference
    10. ColdFusion Java CFX reference
      1. ColdFusion Java CFX reference
      2. Class libraries overview
      3. Custom tag interface
      4. Query interface
      5. Request interface
      6. Response interface
      7. Debugging classes reference
    11. WDDX JavaScript Objects
      1. WDDX JavaScript objects
      2. JavaScript object overview
      3. WddxRecordset object
      4. WddxSerializer object
  5. Cloud services
    1. ColdFusion and GCP Storage
    2. ColdFusion and GCP Firestore
    3. ColdFusion and GCP PubSub
    4. ColdFusion and Amazon S3
    5. ColdFusion and DynamoDB
    6. ColdFusion and Amazon SQS
    7. ColdFusion and Amazon SNS
    8. ColdFusion and MongoDB
    9. ColdFusion and Azure Blob
    10. ColdFusion and Azure Service Bus
    11. Multi-cloud storage services
    12. Multi-cloud RDS databases
    13. ColdFusion and Azure Cosmos DB

 

Description

Reads or creates an RSS or Atom syndication feed. This tag can read RSS versions 0.90, 0.91, 0.92, 0.93, 0.94, 1.0, and 2.0, and Atom 0.3 or 1.0. It can create RSS 2.0 or Atom 1.0 feeds.

Category

Communications tagsInternet protocol tags

Syntax

create
required
<cffeed
action = "create"
name = "#structure#"
One or both of the following: outputFile = "path"
xmlVar = "variable name"
optional
overwrite = "no|yes">
escapeChars = "true|false">

OR

required
<cffeed
action = "create"
properties = "#metadata structure#"
query = "#items/entries query name#"
One or both of the following: outputFile = "path"
xmlVar = "variable name"
optional
columnMap = "mapping structure"
overwrite = "no|yes">

read
required
<cffeed
source = "feed source"
One or more of the following: name = "structure"
properties = "metadata structure"
query = "items/entries query"
outputFile = "path"
xmlVar = "variable name"
optional
action = "read"
enclosureDir = "path"
ignoreEnclosureError = "no|yes"
overwrite = "no|yes"
overwriteEnclosure = "no|yes"
proxyServer = "IP address or server name for proxy host"
proxyPassword = "password for the proxy host"
proxyPort = "port of the proxy host"
proxyUser = "user name for the proxy host"
timeout = "request time-out in seconds"
userAgent = "HTTP user agent identifier">

Note: You can specify this tag's attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag's attribute names as structure keys.

History

ColdFusion 8: Added this tag.

ColdFusion 9: The escapeChars attribute is newly added.

Attributes

Attribute

Req/Opt

Default

Description

action

Optional

read

The action to take, one of the following values:

  • create: creates an RSS 2.0 or Atom 1.0 feed XML document and saves it in a variable, writes it to a file, or both.
  • read: parses an RSS or Atom feed from a URL or an XML file and saves it in a structure or query. You can also get feed metadata in a separate structure.

columnMap

Optional

 

Used only for the create action with a query attribute.A structure that specifies a mapping between the names of the columns in the object specified by the query attribute and the columns of the ColdFusion feed format (see the section Query object rules.
The key for each field must be a column name (see the table in the Query object rules section). The value of the field must be the name of the corresponding column in the query object used as input to the create action.

enclosureDir

Optional

 

Used only for the read action. Path to the directory in which to save any enclosures that are available in the feed being read. The path can be absolute or relative to the CFML file.
If the directory does not exist, ColdFusion generates an error. If you omit this attribute, ColdFusion does not save enclosures. To specify the directory that contains the current page, set this attribute to " ." (period).

escapeChars

Optional

false

Used only for the create action. If this attribute is true, escapes/replaces all the invalid characters as per W3C specification. Note: Japanese characters that are not part of UTF-8 encoding are replaced. Non-UTF-8 Japanese characters remain in the feed as they are.
If this attribute is false, does not escape invalid characters and tries to generate feed. If JDOM fails to write the file with these invalid characters, the error message "Invalid Character in Input" is displayed.

ignoreEnclosureError

Optional

no

If this attribute is yes, ColdFusion attempts to save all enclosures. If it encounters an error downloading one enclosure, it continues downloading other enclosures and writes the error information in the server log. If this attribute is no, when ColdFusion encounters an error downloading an enclosure, it stops downloading all enclosures and generates an error.
Note: Enclosure errors can occur if the specified enclosure is of a type that the web server does not allow to be downloaded.

name

See Note

 

A structure that contains complete feed data:

  • The output of a read action.
  • The input definition of the feed to create.
    When you specify the name attribute for a create action, enclose it in number signs (#).
    For more information, see Name and properties structure rules section.

outputFile

See Note

 

Path of the file in which to write the feed as XML text.
The path can be absolute, or relative to the CFML file.

overwrite

Optional

no

Whether to overwrite the XML feed file if it exists. If you do not set this attribute to yes and the cffeed tag tries to write to a file that exists, ColdFusion generates an error.

overwriteEnclosure

Optional

no

Used only for the read action. Whether to overwrite files in the enclosure directory if they exist. If you do not set this attribute to yes and the cffeed tag tries to write to a file that exists, ColdFusion generates an error.

properties

See Note

 

A structure that contains the feed metadata, the information about the entire feed. Can contain either of the following:

  • The output of a read action.
  • Input to a create action.
    The properties and query attributes combined provide complete feed information.
    When you specify the properties attribute for a create action, enclose it in number signs (#).
    For more information, see Name and properties structure rules section.

proxyPassword

Optional

 

Password required by the proxy server.

proxyPort

Optional

80

The port to connect to on the proxy server.

proxyServer

Optional

 

Host name or IP address of a proxy server to which to send the request.

proxyUser

Optional

 

User name to provide to the proxy server.

query

See Note

 

A query object that contains the Atom entries or RSS items in the feed. Can contain either of the following:

  • The output of a read action.
  • Input to a create action.
    The properties and query attributes combined provide complete feed information.
    When you specify the query attribute for a create action, enclose it in number signs (#).
    For more information, see section Query object rules.

source

Required

 

Used only for the read action. The URL of the feed or the path to the XML file that contains the feed contents. A path can be absolute, or relative to the CFML file.

timeout

Optional

Request time-out

The number of seconds to wait for a response from the feed source. A value of 0 specifies that the request does not time out. By default, ColdFusion uses the request time-out setting of the ColdFusion Administrator Server Settings > Settings page.

userAgent

Optional

Cold Fusion

Text to put in the HTTP User-Agent request header field. Used to identify the request client software.

xmlVar

See Note

 

A variable in which to save the read or created feed as XML text.

Usage

Specifying file and directory attributes

Use the following syntax to specify an in-memory file or directory. In-memory files are not written to disk and speed processing of transient data.

ram:///filepath

A filepath can include multiple directories, for example ram:///petStore/images/poodle.jpg. Create the directories in the path before you specify the file. For more information on using in-memory files, see Working with in-memory files in Optimizing ColdFusion applications in the Developing ColdFusion Applications.

Setting and getting feed information

The cffeed tag lets you specify and save feed data in many, flexible ways.

Usage

Use the following syntax to specify an in-memory file, which is not written to disk. In-memory files speed processing of transient data.

ram:///filepath

The filepath can include directories, for example ram:///petStore/images/poodle.jpg. Create the directories in the path before you specify the file. For more information on using in-memory files, see Working with in-memory files in Optimizing ColdFusion applications in the Developing ColdFusion Applications.

 When you create a feed

  • You specify the feed data in either of the following ways:
    • By putting all metadata and entry or item data in a single structure specified by the name attribute.
    • By putting the metadata in a structure specified by the properties structure and the entries or items as rows in a query object specified by the query attribute.
  • You save the resulting feed XML in one or both of the following places:
    • A file specified by the OutputFile attribute. The cffeed tag saves the data in UTF-8 encoding.
    • An variable specified by the xmlVar attribute

When you read a feed You can save the feed data in any combination of the following forms:

  • By saving all entry or item data and metadata in a single structure specified by the name attribute
  • By saving entries or items as rows in a query object specified by the query attribute
  • By saving the metadata in a structure specified by the properties structure
  • By writing the feed XML in a file specified by the OutputFile attribute. The cffeed tag saves the data in UTF-8 encoding.
  • By saving the feed XML in a ColdFusion XML variable specified by the xmlVar attribute
    When you save feed data, you do not have to save both the metadata and the entry or item data. You can specify only the properties attribute, or only the query attribute.

Name and properties structure rules

The name and properties structures must conform to the following rules. For more information on requirements for specific metadata entries, see the section Representing feed metadata.

  • All structure key names must be identical to the corresponding feed element names, with the exception of the version and encoding fields. Also, the key names for Dublin Core and Apple iTunes extension elements start with DC_ and ITUNES_ respectively.
  • The properties structure fields are identical to the metadata fields in the name structure.
  • When you read a feed, the structure contains only those elements and attribute values that exist in the feed. For requirements for the create action, see the section Creating feeds.
  • If the feed can have multiple elements of the same type (such as entry, item, or link), the name or propertystructure has a single entry that contains the data for all of the elements. The structure entry has the following format:
    • The key is the element name (for example, item)
    • The value is an array of structures
    • Each structure in the array represents one element.
      ColdFusion uses an array even if there is only a single element. If an Atom feed has only one link element, for example, you must specify that element in a nameattribute structure by using the following format:

      structureName.link[1]

      For example, to specify a linkmetadata entry in an Atom 1.0 feed, you could use the following code:

      <cfset meta.link = arrayNew(1)>
      <cfset meta.link[1] = structNew()>
      <cfset meta.link[1].href = "http://www.myCo,com">

  • If an element can have multiple attributes, or can have at least one attribute and a value, the element is represented as a structure, even if the element specifies only one attribute or only a value.
  • If an element has one or more attributes and a value (body), the value is in a field of the element structure named value. For example, the text of the summary element for the third entryin an Atom feed would go in a field whose name has the following format:

    structureName.entry[3].summary.value.

  • When the cffeed tag reads a feed, it reports dates as follows:Atom: W3C date format, such as 2006-07-11T18:19:00Z.RSS: in RFC 822 Format, such as Thu, 05 Oct 2006 18:19:00 GMT.
  • When the cffeed tag creates a feed, you can use W3C or RFC 822 formats for both feed types. You can also use any standard date or date/time format accepted by ColdFusion.

Query object rules

The query object specified by the query attribute conforms to the following rules:

  • The query object format supports multiple feed formats, and many feeds do not include all optional feed attributes or elements. As a result:
    • When you read a feed, the returned query object contains entries for all standard RSS and Atom fields, even for fields that are not supported by the feed type. Any columns that are not used by the feed format, or are not used in that specific feed, contain empty strings or undefined values.
    • When you read a feed, the query object contains all iTunes extension fields if the feed contains any iTunes extension elements, and the query object contains all Dublin Core extension fields if the feed contains any Dublin Core extension elements. Otherwise, the query results do not contain any of the extension fields.
    • When you create a feed, the query that you define requires only those columns that contain data for your feed; you can omit unused columns.
  • If a feed entry or item has multiple child elements with the same name, the query column represents the element values as a comma-delimited list. RSS 2.0 items can have multiple category elements. Atom 1.0 entries can have multiple category, author, contributor, and link elements. The Dublin Core extensions allow all multiples of all element types.
  • Many entry or item elements that can have multiple instances have multiple attributes, not all of which are required for any particular element instance. If an entry or item has multiple instances of an element, and any of those elements omit attributes, ColdFusion represents the omitted attribute in the lists by a space. In XML, an Atom entry, for example, might contain three author elements, as follows:

    <author>
    <person>Anthony</person>
    <uri>http://www.MyCo.com</uri>
    <email>Tony@MyCo.com</email>
    </author>
    <author>
    <person>Beverly</person>
    </author>
    <author>
    <person>Cathy</person>
    <email>cathy@MyCo.com</email>
    </author>

    The ColdFusion query represents these columns as follows:

AUTHOR_PERSON

AUTHOR_URI

AUTHOR_EMAIL

Anthony,Beverly,Cathy

http://www.MyCo.com, ,

Tony@MyCo.com, ,cathy@MyCo.com

The following table lists the columns of the standard query object specified by the query attribute. If an RSS feed includes either Dublin Core extensions or iTunes extensions, the query includes additional columns. For information on these fields, see the sections Dublin Core Extensions and Apple iTunes Extensions.

Column

Atom entry

RSS item

AUTHOREMAIL

author element email attribute

author item

AUTHORNAME

author element name attribute

Not used

AUTHORURI

author element uri attribute

Not used

CATEGORYLABEL

category element label attribute

category item value

CATEGORYSCHEME

category element scheme attribute

category item domain attribute

CATEGORYTERM

category element term attribute

Not used

COMMENTS

Not used

comments item value

CONTENT

content element value

description item value

CONTENTMODE

content element mode attribute (Atom 0.3 only)

Not used

CONTENTSRC

content element src attribute

Not used

CONTENTTYPE

content element type attribute

Not used

CONTRIBUTOREMAIL

contributor element email attribute

Not used

CONTRIBUTORNAME

contributor element name attribute

Not used

CONTRIBUTORURI

contributor element uri attribute

Not used

CREATEDDATE

created element value (Atom 0.3 only)

Not used

EXPIRATONDATE

Not used

expirationDate item value (RSS 0.93 only)

ID

id element value

guid item value

IDPERMALINK

Not used

guid item ispermalink attribute

LINKHREF

link element href attribute

enclosure item url attribute

LINKHREFLANG

link element hreflang attribute

Not used

LINKLENGTH

link element length attribute

enclosure item length attribute

LINKREL

link element rel attribute

Not used

LINKTITLE

link element title attribute

Not used

LINKTYPE

link element type attribute

enclosure item type attribute

PUBLISHEDDATE

published element value (issued in Atom 0.3)

pubDate item value

RIGHTS

rights element value (copyright in Atom 0.3)

Not used

RSSLINK

Not used

link item value

SOURCE

Not used

source item value

SOURCEURL

Not used

source item url attribute

SUMMARY

summary element value

Not used

SUMMARYMODE

summary element mode attribute (Atom 0.3 only)

Not used

SUMMARYSRC

Blank for all well-formed Atom feeds. Contains data only if an Atom 1.0 feed uses a content element format for the summary element.

Not used

SUMMARYTYPE

summary element type attribute

Not used

TITLE

title element value

title item value

TITLETYPE

title element type attribute

Not used

UPDATEDDATE

updated element value (modified in Atom 0.3)

Not used

URI

Not used

RSS 1.0 link item rdf:about attribute

XMLBASE

content elemen{{t xml:base}} attribute

Not used

Representing feed metadata

When you create a feed, the name and properties structures can represent all standard metadata for RSS 2 or Atom 1 feeds, in the format described in the Name and properties structure rules section. Similarly, when you read a feed, the structures represent all received metadata. The following rules apply to specific feed metadata fields in the name and properties structures:

  • The version field identifies or specifies the feed version in the form format_versionNumber. For the create action, specify atom_1.0 or rss_2.0. When you read an RSS 0.91 feed, the version field value is rss_0.91U, not rss_0.91.
  • The feedExtension field identifies whether the feed includes iTunes or Dublin Core extension content. Valid values are itunes and DublinCore. You do not have to specify this field when you create a feed with iTunes extensions; ColdFusion automatically determines that you have specified extension fields. (You cannot create a feed with Dublin Core extensions.)
  • For the read action, an encoding field identifies the XML encoding attribute, such as iso-8859-1. Do not specify an encoding field for a create action. Currently, ColdFusion generates all feeds in UTF-8 format and ignores any encoding value that you specify.
  • For RSS feeds, the skiphours field contains a comma-delimited list of up to 24 numbers in the range 0-23, specifying hours of the day when aggregators should not read the feed. The hour beginning at midnight is hour zero. Your application can use the field to decide when to read the feed.
  • For RSS feeds, the skipdays field contains a comma-delimited list of up to seven day-name values, specifying days of the week when aggregators must not read the feed. The valid names are Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday. Your application can use the field to decide when to read the feed.

Dublin Core Extensions

Dublin Core extension elements provide additional metadata about the feed or an item. You can use the cffeed tag to read feeds that include elements that conform to the Dublin Core Metadata Element Set specification as metadata (channel elements) or as item elements. For detailed information Dublin Core extension elements, see the Dublin Core Metadata Element Set specification. At the time this topic was written, this specification was available at http://dublincore.org/documents/dces/.ColdFusion support for Dublin Core extensions has the following limitations:

  • You cannot create feeds containing these elements.
  • You cannot get Dublin Core extension elements that are contained in a top-level (metadata) image element. ColdFusion ignores these elements.
  • ColdFusion supports only the Dublin Core Metadata Element Set. It does not support the additional Dublin Core Metadata Initiative elements and element refinements.
    When feed items include the Dublin Core extensions, the query specified by a query attribute includes all of the columns listed in the following table. If the feed does not include any Dublin Core extension elements, the query does not include the columns. With the exception of the DC_SUBJECT_TAXONOMURI and DC_SUBJECT_VALUE columns, each column name (without the DC_ prefix) corresponds directly to a Dublin Core extension element name.

Column

Description

DC_CONTRIBUTOR

The people or organizations responsible for contributing to the resource

DC_COVERAGE

The extent of the content in the resource

DC_CREATOR

The person or organization responsible for creating this resource

DC_DATE

A date or date and time associated with this resource

DC_DESCRIPTION

A summary of the resource contents

DC_FORMAT

The file format, physical medium, or dimensions of the resource

DC_IDENTIFIER

A string that can be used to unambiguously identify the resource

DC_LANGUAGE

The language in which the resource is written

DC_PUBLISHER

The person or organization responsible for making the resource available.

DC_RELATION

The identifier of a related resource, typically.

DC_RIGHT

Information about the property rights for the resource.

DC_SOURCE

A reference to the material from which this resource was derived.

DC_SUBJECT_TAXONOMYURI

The taxonomy URI attribute of the Dublin Core subject element

DC_SUBJECT_VALUE

The value of the Dublin Core subject element; a string that defines the topic of the resource

DC_TITLE

A name to use for the resource

DC_TYPE

The nature or genre of the resource

When you get data for a feed that includes Dublin Core elements as a structure, the element names are identical to the query column names listed above, with the exception of the representation of the Dublin Core subject element. The structure format represents the subject element as a dc_subject entry, which consists of an array of structures. The structures in the array have keys with the names value, for the element value, and taxononmyURI, for the taxonomyURI attribute.

Apple iTunes Extensions

You can use the cffeed tag to create or read feeds that contain elements defined in the Apple iTunes RSS podcast specification. For detailed information on iTunes extension format, see the Apple iTunes RSS specification. At the time this topic was written, this specification was available at http://www.apple.com/itunes/store/podcaststechspecs.html.
You can create feeds with only a subset of the iTunes RSS extensions. When you read a feed, ColdFusion ignores all iTunes extension elements that are not in the supported subset. The following table lists the names of structure entries or query column names for the supported elements. (These names consist of the ITUNES_ prefix followed by the iTunes extension element name.) The table also indicates which elements are used in the metadata, which are used in the individual items, and which can be used in both:

Element

Used in

Description

ITUNES_AUTHOR

Both

Artist name

ITUNES_BLOCK

Both

a value of yes requests to prevent the podcast or item (episode) from appearing. When ColdFusion reads a feed your application must determine this field's value and take any appropriate action.

ITUNES_DURATION

Item

The length of the item in second, or in HH:MM:SS format.

ITUNES_EXPLICIT

Both

A string indicating whether the item or items contain explicit material. Valid values are yes, no, and clean.

ITUNES_KEYWORDS

Both

A comma-delimited list of words or phrases used when searching in the iTunes music store.

ITUNES_SUBTITLE

Both

Short description text, usually only a few words.

ITUNES_SUMMARY

Both

A longer description (up to 4000 characters)/

You can also use the following channel elements in the name or properties structures.

Element

Description

itunes_category

A structure that specifies the iTunes Music Store category. The structure has two fields:

  • category
  • subcategory
    Notice that these element names do not have the itunes_ prefix.

itunes_image

The URL of the artwork for the podcast.

itunes_owner

A structure that contains contact information about the owner of the podcast for communication. The structure has two fields:

  • itunes_email
  • itunes_mail

Creating feeds

When you create a feed, you specify the feed contents in a name structure or in the combination of a query object and a properties structure. The cffeed tag generates the feed XML and saves in to the variable specified by the xmlVar attribute, the file specified by the outputFile attribute, or both. To create an RSS 2.0 feed you must specify the following metadata fields in a name structure or in a properties structure. All other RSS2.0 metadata fields, and all item fields, are optional.

  • title
  • link
  • description
  • version (must be "rss_2.0")
    The cffeed tag does not enforce any rules on the Atom feed structure that it creates. You are responsible for ensuring that the feed is valid.
    In most cases, a database table uses column names that differ from the column names you must use to create the feed. Therefore, use the columnmap attribute to map the input query column names to the required column names. The attribute is a structure whose keys are the column names required by the cffeedtag and whose values are the corresponding input query columns.

    Note: Always capitalize the input query column names irrespective of whether the database column names are capitalized or not.

    The following example creates a feed using the cfartgallery data source's orders table. It maps the orders table ORDERDATE column to the query publisheddate column, the ADDRESS column to the content column, and so on. The sample code then displays the generated query XML to show the results.

    <!--- Get the feed data as a query from the orders table. --->
    <cfquery name="getOrders" datasource="cfartgallery">
    SELECT * FROM orders
    </cfquery>

    <!--- Map the orders column names to the feed query column names. --->
    <cfset columnMapStruct = StructNew()>
    <cfset columnMapStruct.publisheddate = "ORDERDATE">
    <cfset columnMapStruct.content = "ADDRESS">
    <cfset columnMapStruct.title = "CUSTOMERFIRSTNAME">
    <cfset columnMapStruct.rsslink = "ORDERID">

    <!--- Set the feed metadata. --->
    <cfset meta.title = "Art Orders">
    <cfset meta.link = "http://feedlink">
    <cfset meta.description = "Orders at the art gallery">
    <cfset meta.version = "rss_2.0">

    <!--- Create the feed. --->
    <cffeed action="create"
    query="#getOrders#"
    properties="#meta#"
    columnMap="#columnMapStruct#"
    xmlvar="rssXML">

    <cfdump var="#XMLParse(rssXML)#">

Reading feeds

The cffeed tag does not validate the feeds that it reads. It can read invalid or loosely formatted feeds, but ignores some or all of the invalid content. For example, if you put more than one rights element in the Atom feed (which invalidates the feed), the cffeed tag ignores the elements after the first one, and doesn't generate an error. Dates and times in feeds that are being read must be in W3C or RFC 822 format. ColdFusion can also read iTunes extension dates in the format normally used by the iTunes music store.

Example

The following example creates an RSS feed. Enter fields for the feed title, link, and description elements. Also enter title, link, and description fields for one item. A second item is optional. The application saves the feed in a createRSSOutput.xml file in the feedTest subdirectory of the directory that contains the CFML page.

<!--- Generate the feed when the user submits a filled in form. --->
<cfif isDefined("Form.Submit")>
<cfscript>

// Create the feed data structure and add the metadata.
myStruct = StructNew();
mystruct.link = form.link;
myStruct.title = form.title;
mystruct.description = form.description;
mystruct.pubDate = Now();
mystruct.version = "rss_2.0";

/* Add the feed items. A more sophisticated application would use dynamic variables
and support varying numbers of items. */
myStruct.item = ArrayNew(1);
myStruct.item[1] = StructNew();
myStruct.item[1].description = StructNew();
myStruct.item[1].description.value = form.item1text;
myStruct.item[1].link = form.item1link;
myStruct.item[1].pubDate = Now();
myStruct.item[1].title = form.item1title;
myStruct.item[2] = StructNew();
myStruct.item[2].description = StructNew();
myStruct.item[2].description.value = form.item2text;
myStruct.item[2].link = form.item2link;
myStruct.item[2].pubDate = Now();
myStruct.item[2].title = form.item2title;

</cfscript>

<!--- Generate the feed and save it to a file and variable. --->
<cffeed action = "create"
name = "#myStruct#"
outputFile = "feedTest/createRSSOutput.xml"
overwrite = "yes"
xmlVar = "myXML">

</cfif>

<!--- The user input form. --->
<cfform format="xml" preservedata="yes" style="width:500" height="700">
<cfformitem type = "text"> Enter The Feed Metadata</cfformitem>
<cfinput type = "text" label = "title" name = "title"
style = "width:435" required = "yes"> <br />
<cfinput type = "text" label = "link" name = "link"
style = "width:435" required = "yes" validate = "url"> <br />
<cftextarea name = "description"
style = "width:435; height:70" required = "yes" />

<cfformitem type = "text"> Enter Item 1</cfformitem>
<cfinput type="text" label="title" name="item1title"
style="width:435" required="yes"> <br />
<cfinput type="text" label="link" name="item1link"
style="width:435" required="yes" validate="url"> <br />
<cftextarea name = "item1text"
style = "width:435; height:70" required = "yes" /> <br />

<cfformitem type = "text"> Enter Item 2</cfformitem>
<cfinput type = "text" label = "title" name = "item2title" style = "width:435"> <br />
<cfinput type = "text" label = "link" name = "item2link" style = "width:435"
validate = "url"> <br />
<cftextarea name = "item2text" style = "width:435; height:70" /> <br />

<cfinput type = "Submit" name = "submit" value = "Submit" >
</cfform>

The following application is a simple feed reader that handles RSS and Atom feeds. It displays the feed title; for each item or entry, it shows the title as a link, and shows the published date and the item or entry contents. To use this example to read the feed created by the first application, enter the URL for the file the application created, for example, http://localhost:8500/cffeed/feedTest/createRSSOutput.xml.

<!--- Process the feed data if the user submitted the form --->
<cfif isDefined("Form.Submit")>
<cffeed source = "#theURL#"
properties = "myProps"
query = "myQuery">

<!--- Display the feed output.
Use conditional logic for to handle different feed formats. --->
<cfoutput>
<h2>#myProps.title#</h2>
</cfoutput>
<cfoutput query = "myQuery">
<cfif myProps.version IS "atom_1.0">
<h3><a href = "#linkhref#">#title#</a></h3>
<p><b>Published:</b> #DateFormat(publisheddate)#</p>
<cfelse>
<h3><a href = "#rsslink#">#title#</a></h3>
<p><b>Published:</b> #publisheddate#</p>
</cfif>
<p>#content#</p>
</cfoutput>
</cfif>

<!--- The form for specifying the feed URL or file --->
<cfform name = "SetFeed" preserveData = "yes">
Enter Feed URL:
<cfinput type = "text" size = "60" name = "theURL"><br><br>
<cfinput type = "Submit" name = "submit" value = "Submit">
</cfform>

Get help faster and easier

New user?