IPTC News In JSON Spring 2014

17
News in JSON Stuart Myles * Associated Press * 10 th March 2014 http://www.flickr.com/photos/toffaelrashid/7574046808 /

description

IPTC has crafted ninjs, a standard for representing news in json. Version 1.1 of the standard is available now. You'll find examples, code and the schema at http://dev.iptc.org/ninjs and more at https://github.com/iptc/newsinjson

Transcript of IPTC News In JSON Spring 2014

Page 1: IPTC News In JSON Spring 2014

News in JSON

Stuart Myles * Associated Press * 10th March 2014http://www.flickr.com/photos/toffaelrashid/7574046808/

Page 2: IPTC News In JSON Spring 2014

Remind Me: What is JSON?JSON = JavaScript Object Notation http://json.org/

Name / value pairs: a fieldname in quotes, a colon, a value in quotes

"givenname" : "Evan"

Objects: written inside curly braces, may contain multiple NVPs

{"givenname" : "Evan", "familyname" : "Sandhaus"}

Arrays: Written inside square braces, may contain multiple objects{"iptcdelegates": [ { "givenname": "Jayson", "familyname": “Lorenzen"}, { "givenname": "Jeremy", "familyname": "Brooks"}, { "givenname": "Evan", "familyname": "Sandhaus" }]}

© 2014 IPTC (www.iptc.org) All rights reserved 2

Page 3: IPTC News In JSON Spring 2014

Remind Me: Why News in JSON?

Lightweight, easy to parse format

Increasingly popular alternative to / replacement for XML

Two principle use cases:

data interchange (e.g. APIs) with an emphasis on partial representation

data at rest (e.g. search engines like Elastic Search or MongoDB)

Not simply translating from any existing XML standard into JSON

Determine how to represent key properties and structures

Hand crafted, rather than mechanically translating from XML into JSON

Goal: comprehensive standard, lightweight instance documents

© 2014 IPTC (www.iptc.org) All rights reserved 3

Page 4: IPTC News In JSON Spring 2014

ninjs Overview

© 2014 IPTC (www.iptc.org) All rights reserved 4

http://groups.yahoo.com/neo/groups/iptc-news-in-json-dev

Page 5: IPTC News In JSON Spring 2014

ninjs Data Model

© 2014 IPTC (www.iptc.org) All rights reserved 5

http://dev.iptc.org/ninjs

Page 6: IPTC News In JSON Spring 2014

ninjs 1.0

• ninjs is a JSON representation of a news item– Text, Photo, Graphic, Video, Audio, Package

• You can represent a complete item, with all properties– For instance in an internal CMS like MongoDB

• Or you may want to convey key properties– For instance as an API response

• The representationtype property indicates how complete– Either “full” or “partial”

• Associations are themselves ninjs documents– You may include complete or partial representations

© 2014 IPTC (www.iptc.org) All rights reserved 6

Page 7: IPTC News In JSON Spring 2014

A Complete NINJS 1.0 Article

{    "uri" : "http://ninjs.example.com/newsitems/20130709simp123",    "type" : "text",    "versioncreated" : "2013-07-09T10:37:00Z",    "byline" : "Paulo Santalucia and Frances d'Emilio",    "headline" : "Captain of wrecked cruise ship on trial in Italy",    "body_text" : "GROSSETO, Italy (EP) -- The trial of the captain of the shipwrecked Costa Concordia cruise liner has begun in a theater converted into a courtroom …"}

© 2014 IPTC (www.iptc.org) All rights reserved 7

Page 8: IPTC News In JSON Spring 2014

Rendition Example    "renditions" : {      "main" : {        "href" : "http://example.org/photos/2/2643c588-dc8d-4923-bebd-e3b904edbb3a-big.jpg",        "mimetype": "image/jpg",        "title" : "Mid Resolution",        "height" : 281,        "width" : 429      },      "small" : {        "href" : "http://example.org/photos/2/2643c588-dc8d-4923-bebd-e3b904edbb3a-small.jpg",        "mimetype": "image/jpg",        "title" : "Low Resolution",        "height" : 117,        "width" : 179      }    }

© 2014 IPTC (www.iptc.org) All rights reserved 8

Page 9: IPTC News In JSON Spring 2014

Associations Example    "associations" : {      "mainpic" :    {        "uri" : "http://ninjs.example.com/newsitems/20130709simpPh123",        "representationtype" : "partial",        "type" : "picture",        "byline" : "Paulo Santalucia",        "headline" : "Costa Concordia cruise ship",         "renditions" : {          "small" : {            "href" : "http://example.org/photos/2/2643c588-dc8d-4923-bebd-e3b904edbb3a-small.jpg",            "height" : 117,            "width" : 179          }        }    }}

© 2014 IPTC (www.iptc.org) All rights reserved 9

Page 10: IPTC News In JSON Spring 2014

NINJS 1.1

• Improving on NINJS 1.0– Geo data– Usage terms– Urgency (in late breaking changes)

© 2014 IPTC (www.iptc.org) All rights reserved 10

Page 11: IPTC News In JSON Spring 2014

Geo Data

• Extend “place” with machine-readable geo data– Such as lat and long

• There are several ways to represent geo data– Including GeoJSON, KML and GML

• Add a “geometry_” pattern property to NINJS• Allow providers to select the geo data representation(s)

that best fits their needs

http://dev.iptc.org/ninjs-CR-10-01-add-geo-datahttps://

raw.github.com/iptc/newsinjson-dev/master/ninjsExComplex2-withGeoJSON_2013-11-06.json

© 2014 IPTC (www.iptc.org) All rights reserved 11

Page 12: IPTC News In JSON Spring 2014

Usage Terms

• Natural language restrictions specific to this ninjs object.

• In addition to any machine-readable description, such as via RightsML

• http://www.w3.org/community/odrl/work/json/

• Add a "usageterms" string property– A natural-language statement about the usage terms pertaining

to the content

• http://dev.iptc.org/ninjs-CR-10-02-add-usageterms

© 2014 IPTC (www.iptc.org) All rights reserved 12

Page 13: IPTC News In JSON Spring 2014

Urgency

• Providers wish to convey the editorial urgency of the content

• The “urgency” property is a number• The suggested range is 1 to 9, where 1 represents the

highest urgency, 9 the lowest

• http://dev.iptc.org/ninjs-CR-10-03-add-urgency

© 2014 IPTC (www.iptc.org) All rights reserved 13

Page 14: IPTC News In JSON Spring 2014

© 2014 IPTC (www.iptc.org) All rights reserved 14

ninjs 1.1

MOTION – Standards Committee

MOTION (to the Standards Committee): To approve ninjs version 1.1

as specified byninjs-schema_1.1-DRAFT

Plushttp://dev.iptc.org/ninjs-CR-10-03-add-urgency

Page 15: IPTC News In JSON Spring 2014

ninjs Resources

• The ninjs development website is a trove of information http://dev.iptc.org/ninjs

• ninjs JSON schema http://www.iptc.org/std/ninjs/ninjs-schema_1.0.json– Uses JSON schema draft standard http://json-schema.org/– Validation http://dev.iptc.org/ninjs-Validation-of-ninjs-Objects

• ninjs examples– Text http://dev.iptc.org/ninjs-Examples-1– Photo http://dev.iptc.org/ninjs-Examples-2– Multimedia http://dev.iptc.org/ninjs-Examples-3

• Best practices and how to’s http://dev.iptc.org/ninjs-Best-Practices-and-How-Tos

• ninjs github https://github.com/iptc/newsinjson

• ninjs feedback forum http://dev.iptc.org/Forum-5

© 2014 IPTC (www.iptc.org) All rights reserved 15

Page 16: IPTC News In JSON Spring 2014

News in JSON Road Map

• Try ninjs out and give us feedback!– http://dev.iptc.org/Forum-5– [email protected]

• Some providers are adopting NINJS– Including using NINJS as the basis of internal JSON schema

• Let’s get ninjs onto the main IPTC site– http://www.iptc.org/site/News_Exchange_Formats/

© 2014 IPTC (www.iptc.org) All rights reserved 16

Page 17: IPTC News In JSON Spring 2014

Date and Place of Next Meeting

Beijing, China June, 2014

http://www.flickr.com/photos/26226551@N00/10753739865/

Teşekkür ve veda!

© 2014 IPTC (www.iptc.org) All rights reserved 17