iptc / newsinjson

Home of the IPTC ninjs standard
https://iptc.org/standards/ninjs/
Other
35 stars 9 forks source link

Info for commissioned content #163

Closed bquinn closed 3 months ago

bquinn commented 8 months ago

This came up in the DPP LPX discussion, but it might be useful for pre-created content as well as live.

Properties:

These are used by Arqiva live broadcast objects,

Johan has also shared:

"commissionedby": {
            "title": "Commissioned by",
            "description": "$$TT: When pubstatus is 'commissioned', this field tells who commissioned it.",
            "type": "array",
            "items": {"type": "string"}
        },
bquinn commented 8 months ago

@jolla56 pointed out that this was raised long ago as issue #26 !

bquinn commented 8 months ago

Suggested structure:

"commissioning": {
  "commissionedby": [ "Julie Bloggs", "Fred Smith" ],
  "commissioneddate": "2024-02-05",
  "purchaseordernumber": "PO16382",
  "workordernumber": "17364382189"
}

Note that "commissionedby" is an array of strings as per Johan's original suggestion.

bquinn commented 8 months ago

Discussion: should we have an array of contactinfoType objects instead of an array of strings?

bquinn commented 8 months ago

Discussion: should we have an array of key-value pairs which can be used for things like order number, rather than baking them into the spec? Similar to altId.

commissioningReferences ? (or just references as it's already inside a commissioning block)

bquinn commented 8 months ago

So after discussion, the example would look like:

"commissioned": {
  "by": "Julie Bloggs",
  "on": "2024-02-05T12:34:56Z",
  "references": {
     "purchaseordernumber": "PO16382",
     "workordernumber": "17364382189"
  }
}

Thoughts:

Decision:

Separately, an old example from Johan:

"pubstatus": "commissioned",

"commissionedby": [
"16110"
],
"headline": "Emma Henningsson",
"commissioncode": "8888",
bquinn commented 8 months ago

@bquinn to add this to draft schema on #160

pmougin commented 8 months ago

Discussion: should we have an array of key-value pairs which can be used for things like order number, rather than baking them into the spec? Similar to altId.

As JSON natively provides a key-value pair functionality, I think it would be redundant to add one. If some property is not baked in the ninjs spec, one can already add it using JSON directly (e.g. { ..., "orderNumber" : "1234", ... })

bquinn commented 8 months ago

Philippe wrote:

As JSON natively provides a key-value pair functionality, I think it would be redundant to add one. If some property is not baked in the ninjs spec, one can already add it using JSON directly (e.g. { ..., "orderNumber" : "1234", ... })

This is a good point, and it's actually what I did in the example without thinking about it. So instead of having "name": "xxx", "value": "xxx" (which is what we do with altId), we could just leave the schema for the reference part open and people can add their own key/value pairs as they wish. But does that make it harder for people to validate, or to write code around the data?

bquinn commented 7 months ago

Thinking about making it more consistent with the rest of ninjs 2.x...

"commissioned": {
  "by": "Julie Bloggs",
  "on": "2024-02-05T12:34:56Z",
  "references": [
     { "name": "purchaseordernumber",
        "value": "PO16382"},
    {"name":      "workordernumber",
       "value":  "17364382189" }
  ]
}

This would keep the ninjs 2.x property of the schema being able to be converted to Protobufs, Avro etc.

iyoung commented 3 months ago

Closing this off as a structure to support this requirement is now part of the 2.2 draft schema.