Skip to content

Commit

Permalink
Merge pull request #127 from iptc/1.4
Browse files Browse the repository at this point in the history
Updates for ninjs 1.4
  • Loading branch information
bquinn authored May 30, 2022
2 parents ec0cae6 + 6a595c9 commit fdb1fb9
Show file tree
Hide file tree
Showing 57 changed files with 2,624 additions and 785 deletions.
39 changes: 31 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,23 +20,46 @@ The `examples` folder contains example files, including some supplied
by Business Wire. Examples show how NewsML 1.2 files convert to their
equivalents in ninjs.

Latest version: ninjs 2.0
Two versions of ninjs: ninjs 1.4 and ninjs 2.0
-------------------------

This repository specifies the 2.0 version of ninjs, which includes several
breaking changes compared to previous versions. The main change is that we
avoid the use of patternProperties altogether, so all properties now have
well-defined names. This work is intended to make ninjs easier for work with
binary protocols such as Protocol Buffers and Avro. We also take the
opportunity to make property names more consistent with NewsML-G2 and to add
some fields to handle rights.
This repository specifies both the 1.4 and 2.0 versions of ninjs.

The 1.x series adds new features to the version of ninjs that started
with ninjs 1.0 back in 2013, in a way that is fully backwards
compatible. The latest release in this series is 1.4, which includes
new fields _contentcreated_, _expires_ and _rightsinfo_. The 1.4
version of ninjs was approved by the IPTC Standards Committee on May
18th, 2022.

The 2.x series fixes some issues that made the 1.x series tricky for
developers to work with. The main change is that we avoid the use of
patternProperties, so all properties now have well-defined names. This
work is intended to make ninjs easier for work with binary protocols
such as Protocol Buffers and Avro. We also took the opportunity to make
property names more consistent with NewsML-G2 and to add some fields to
handle rights.

We wanted to issue a new release which fixed these problems, but this
meant breaking backwards-compatibility with the 1.x versions of ninjs.
This is why we increased the major version number to 2.0.

The 2.0 version of ninjs was approved by the IPTC Standards Committee on
October 20th, 2021.

An errata update was made in May 2022 to fix a problem with the way GeoJSON
properties were integrated into the "places" object.

Which version should I choose for my project?
-------------------------

If you are starting a green-field project, 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 as 1.4 is
backwards-compatible with versions 1.0, 1.1, 1.2 and 1.3.

Protocol Buffers demo
---------------------

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"$standard": {
"name": "ninjs",
"version": "1.3",
"schema": "http://www.iptc.org/std/ninjs/ninjs-schema_1.3.json"
"version": "1.4",
"schema": "http://www.iptc.org/std/ninjs/ninjs-schema_1.4.json"
},
"uri": "http://ninjs.example.com/newsitems/ninjs1-3-tests",
"uri": "http://ninjs.example.com/newsitems/ninjs1-4-tests",
"headline": "Test of three new properties",
"headline_test_text": "Extensible headline test",
"description_caption_xhtml": "Extensible description test",
"contentcreated": "2022-04-21T12:34:56+00:00",
"expires": "2022-12-31T23:59:59+00:00",
"altids": {
"itemid": "(ap):f40b0304-0454-4ba2-a84d-686378279ba4",
"etag": "(ap):686897696a7c876b7e",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@
}
}
}
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit fdb1fb9

Please sign in to comment.