Collection Companion

urn:showpapers:companion:2JSON Schema 2020-12Download JSON

Companion for a collection, containing details, people, folders, reminders, pins, relationships and reading text. Derived and informative; the archive is authoritative. Recognize it by schema == urn:showpapers:companion:2.

Top Level

MemberTypeRules
schema required"urn:showpapers:companion:2"
generator requiredgenerator
about requiredstringmin length 1; max length 2000
collection requiredobjectclosed
archive requiredobjectclosed
pdf requirednull or object
papers requiredarray of objectmax items 100
notes requiredarray of objectmax items 100
folders requiredarray of objectmax items 64
people requiredarray of objectmax items 64
relationships requiredarray of objectmax items 5000
notIncluded requiredarray of stringmax items 16; unique
handBack requiredstringmin length 1; max length 2000

Definitions

id

string · pattern ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

sha256

string · pattern ^[a-f0-9]{64}$

isoDate

string · min length 10; max length 10; pattern ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

generator

The program that wrote this file, not a signature. Apps write {"name":"ShowPapers","platform":"android"|"ios","version":<app version>}.

MemberTypeRules
name requiredstringmin length 1; max length 80; pattern ^(?![ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000])(?![\s\S]*[ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]$)[^\u0000-\u001f\u007f-\u009f\ud800-\udfff]+$
platform requiredstringmin length 1; max length 40; pattern ^(?![ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000])(?![\s\S]*[ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]$)[^\u0000-\u001f\u007f-\u009f\ud800-\udfff]+$
version requiredstringmin length 1; max length 40; pattern ^(?![ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000])(?![\s\S]*[ \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]$)[^\u0000-\u001f\u007f-\u009f\ud800-\udfff]+$

fieldKey

one of "program-start-date", "program-end-date", "sevis-id", "admission-date", "admit-until", "class-of-admission", "admission-record-number", "given-name", "family-name", "date-of-birth", "country-of-birth", "country-of-citizenship", "nationality", "document-number", "passport-number", "issuing-country", "issue-date", "expiration-date", "place-of-birth", "sex", "full-name", "receipt-number", "case-type", "notice-type" … (78 values)

valueType

one of "text", "date", "duration-of-status"