Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The feature is documented here:

The feature is used in conjunction with the Management API and SCSP on the Content Gateway, and has been available since Gateway version 3.

...

Code Block
languagetext
{
	"comments": "Metadata transform document",
	"metadata": {
		"X-Written-When-Meta": "${date:yyyyMMdd-HHmmss}",
		"X-Contains-Meta": "${domain}/${bucket}",
		"X-Copyright-Meta": "Copyright ${date:yyyy}, MetaCorp, Inc",
		"X-Author-Meta": "${user}"
	}
}

...

  1. Create the XForm file with the definitions for your custom metadata, described above.
  2. Important: Validate the syntax of the JSON you are applying. Use a JSON validator such as https://jsonlint.com.
  3. Save it as xform.json or similar.
  4. Verify that the user that will upload to the Gateway has the permissions on their policy to be able to PUT a policy or GET a policy.
  5. The XForm is an /etc document, which you upload via the management API using the /_admin/manage path:
    • If your Gateway IP is 10.0.0.10, the starting URL is http://10.0.0.10/_admin/manage
    • If your Gateway resolves from cloud.example.com, the starting URL is http://cloud.example.com/_admin/manage/
  6. To etc documents in a tenant, use this form (see Namespace Structure):
    • http://cloud.example.com/_admin/manage/tenants/{tenantname}/etc/{insertyourjson}
  7. The application of the XForm metadata doc is a HTTP PUT, shown here as cURL:

    Code Block
    languagebash
    curl -X PUT --data-binary @xformcorp.json -u tlokko -H "Content-Type: application/json" https://cloud.example.com/_admin/manage/tenants/cloud/domains/d1.cloud.example.com/etc/metaxform.json


Usage:

curl -X PUTThe HTTP verb to PUT an object
--data-binary @xformcorp.jsonSpecifies reading the body of the xformcorp.json from a local file
-u tlokkoSpecifies the user that will PUT the file (must have that policy permission)
-H "Content-Type: application/json"

Required: This is a custom header for the file, and it is very important: If this content type isn't there, Gateway will fail to read the contents of the JSON correctly and writes to the Gateway may fail.

https://cloud.example.com/_admin/manage/The Management API URI
...tenants/cloud/The base tenant
...domains/d1.cloud.example.com/The domain we're applying it to
...domains/d1.cloud.example.com/etc/metaxform.jsonThe end filename
...domains/d1.cloud.example.com/buckets/b1/etc/metaxform.json

Applies it only at the bucket level

Info
titlePrecedence

Any domain-level XForm will supersede a bucket-level XForm.


Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@957
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "xform" , "contentgateway" , "metadata" , "gateway" ) and type = "page" and space = "KB"
labelsmetadata xform gateway contentgateway

...

Page Properties
hiddentrue


Related issues