15
News in JSON Stuart Myles * Associated Press * 22 nd October 2013 http://www.flickr.com/photos/bigberto/2764464101/

IPTC News in JSON Autumn 2013

Embed Size (px)

DESCRIPTION

IPTC has crafted ninjs, a standard for representing news in json. Version 1.0 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

Citation preview

Page 1: IPTC News in JSON Autumn 2013

News in JSON

Stuart Myles * Associated Press * 22nd October 2013http://www.flickr.com/photos/bigberto/2764464101/

Page 2: IPTC News in JSON Autumn 2013

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" }]}

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

Page 3: IPTC News in JSON Autumn 2013

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

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

Page 4: IPTC News in JSON Autumn 2013

News in JSON Activity

http://www.flickr.com/photos/jondresner/5789254800/

ninjs

http://www.flickr.com/photos/jondresner/5789254800/

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

Page 5: IPTC News in JSON Autumn 2013

ninjs Overview

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

Page 6: IPTC News in JSON Autumn 2013

ninjs Data Model

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

Page 7: IPTC News in JSON Autumn 2013

ninjs Highlight #1Descriptive Metadata

Same basic structure

but differing properties per type and preference

"place" : [{ "name" : "New York City", "name@ru" : "Нью-Йорк", "why" : "direct", "how" : "extracted", "rel" : "about", "scheme" : "http://data.example.com/", "code" : "N46020133052049607171"}], "subject" : [{ "name": "Data-Mining & Database Marketing", "rel" : "about"}]

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

Page 8: IPTC News in JSON Autumn 2013

ninjs Highlight #2Text Markup

Simpler text markup structures (body, description)

Before, they were multi-level structures

"body" : { "text": "It was a case for a digital Sherlock Holmes.", "html": "<b>It was a case for a digital Sherlock Holmes."}

Now, they are their own simple properties, with flexible descriptors

"body_text": "It was a case for a digital Sherlock Holmes.", "body_html": "<b>It was a case for a digital Sherlock Holmes."}

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

Page 9: IPTC News in JSON Autumn 2013

ninjs Highlight #3Associations and Representations

• ninjs is a JSON representation of a news item• 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

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

Page 10: IPTC News in JSON Autumn 2013

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      }    }

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

Page 11: IPTC News in JSON Autumn 2013

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          }        }    }}

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

Page 12: IPTC News in JSON Autumn 2013

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

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

Page 13: IPTC News in JSON Autumn 2013

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

ninjs

MOTION – Standards Committee

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

as specified byninjs-schema_1.0-DRAFT.json

Page 14: IPTC News in JSON Autumn 2013

News in JSON Road Map

• Let’s start the experimental phase– Try it out and give us feedback!– http://dev.iptc.org/Forum-5

• You can also help by joining the News in JSON group– [email protected]

• Progress report at the next meeting

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

Page 15: IPTC News in JSON Autumn 2013

Date and Place of Next Meeting

Istanbul, Turkey March, 2014

http://www.flickr.com/photos/47096398@N08/5864315469/

Thanks and Goodbye!

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