anchor.diff:  [options="header"]
   |===
   | Constant                        | Description
  +| CrmResourceRef.STATUS_DRAFT     | Content is in draft state and only accessible by authenticated users
   | CrmResourceRef.STATUS_ARCHIVED  | Content is archived and only accessible by authenticated users
  -| CrmResourceRef.STATUS_DRAFT     | Content is in draft state and only accessible by authenticated users
   | CrmResourceRef.STATUS_PUBLISHED | Content is active/current but only accessible by authenticated users
   | CrmResourceRef.STATUS_SHARED    | Content is accessible by anyone, no authentication needed = *public access if URL is known!*
   |===
  +
  +=== Encryption
  +
  +Content can be encrypted before it's stored in the server filesystem.
  +
  +The class +CrmFileResource+ has static +int+ constants for all supported encryption algorithms.
  +
  +.Content Encryption
  +[options="header"]
  +|===
  +| Constant                       | Description
  +| CrmFileResource.NO_ENCRYPTION  | Content is not encrypted (default)
  +| CrmFileResource.AES_ENCRYPTION | Content is encrypted with AES encryption
  +|===
  +
  +You configure the application wide encryption key in Config.groovy. The encryption key must be 16 bytes long.
  +
  ++crm.content.encryption.password = "1234567890123456"+
  +
  +NOTE: The current implementation of +CrmFileResource+ encrypts *all* content if +crm.content.encryption.password+ is set.
   
   == CrmContentService
   
  
positive.code: 
  Files are encrypted with AES encryption
  
  +crm.content.encryption.password = '1234567890123456'+
  
  Encryption key. Must be 16 bytes!
  
  
negative.code: 
  +long updateResource(CrmResourceRef resource, InputStream inputStream, String contentType = null)+
  
  Update/overwrite existing content.
  
  [source,groovy]
  .UpdateContent.groovy
  