At the IPTC Spring Meeting in May 2022, IPTC’s Standards Committee voted to approve ninjs 1.4, the latest version in the 1.x track of IPTC’s standard for news content in the JSON format.
Johan Lindgren of TT Nyhetsbyrån, Lead of the IPTC News in JSON Working Group, said:
“After the launch of ninjs 2.0 in the autumn of 2021, we received requests to add some of the new 2.0 features to the first generation of ninjs, so that those who are using the 1.x branch of ninjs can use the new features without making breaking changes. So we are excited to publish version 1.4 of ninjs, where these features are included.”
Those changes include:
- New property contentcreated, denoting the date and time when the content of this ninjs object was originally created (as opposed to the date and time when the ninjs object itself was created). For example, an old photo that is now handled as a ninjs object may have a firstcreated and versioncreated of “2022-06-02T12:00:00+00:00”, but a contentcreated value of “1933-04-03T00:00:00+00:00”. The contents must be a valid JSON Schema date-time object.
- New property expires, showing “the date and time after which the Item is no longer considered editorially relevant by its provider.” Note that this is not the same as a rights-related expiration, it simply conveys the desire of the content creator to highlight the content until a certain time. A good example might be a football match preview, which would no longer be editorially relevant after the game commences. The contents must be a valid JSON Schema date-time object.
- New property rightsinfo, which holds an expression of rights to be applied to the content. It contains sub-properties langid (a URI which specifies the language used to specify rights such as RightsML or ODRL), and one of either linkedrights (containing a link to a remotely-hosted declaration of the rights associated with the content) or encodedrights (which includes an embedded encoding of the rights statements within the ninjs object).
Which version of ninjs should I choose for my project?
There might be some confusion since we have released ninjs 1.4 after the release of ninjs 2.0. Please note that this is simply an update to the 1.x branch of ninjs to make it easier for users who cannot upgrade to 2.x branch due to breaking changes.
If you are starting a new project that requires JSON-encoded news content, we recommend using ninjs 2.0. This version should be easiest for developers to work with.
If you are already using a 1.x version of ninjs, we recommend at least upgrading to version 1.4. This should be an easy change, because 1.4 is backwards-compatible with versions 1.0, 1.1, 1.2 and 1.3. We would also recommend upgrading to 2.0 if possible, but if not, 1.4 is the best version of the 1.x branch.
Supporting materials for ninjs 1.4 and ninjs 2.0 can be found at these locations:
- JSON Schema for ninjs 1.4: https://iptc.org/std/ninjs/ninjs-schema_1.4.json
- JSON Schema for ninjs 2.0: https://iptc.org/std/ninjs/ninjs-schema_2.0.json
- User Guide for ninjs (covering version 2.0 but mentioning 1.4): https://iptc.org/std/ninjs/userguide/
- The ninjs Generator has been updated to output 1.4-compatible JSON: https://www.iptc.org/std/ninjs/generator/
Thanks to Johan and the IPTC News in JSON Working Group for working on this release.