Skip to content

Commit 937704f

Browse files
committed
Restructuring content into sections for reading and writing manifest data
1 parent 1b86f20 commit 937704f

File tree

6 files changed

+76
-57
lines changed

6 files changed

+76
-57
lines changed

docs/manifest/json-ref/index.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,4 @@ pagination_next: null
66
pagination_prev: null
77
---
88

9-
The [C2PA specification](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html#_manifests) describes a manifest with a binary structure in JPEG universal metadata box format ([JUMBF](https://www.iso.org/standard/84635.html)) that includes JSON as well as binary data for things like encryption keys and thumbnail images. Because the binary structure is hard to understand and program to, the SDK defines a JSON manifest structure that's a declarative language for representing and creating a binary manifest.
10-
11-
The JSON manifest is an abstract translation layer that's easier to understand than the binary format. It can describe everything in the underlying binary format except for binary data such as thumbnails that are included by a structure called a _resource reference_. To generate a binary manifest, the SDK assembles all the JSON objects, resource references, and ingredients defined, and then converts them into different assertions and other objects as required.
12-
13-
These JSON references are generated from the JSON schemas for [ManifestDefinition](https://docs.rs/c2pa/latest/c2pa/struct.ManifestDefinition.html) and [Reader](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html) objects (_structs_ in Rust terminology):
14-
15-
- [ManifestDefinition](manifest-def.mdx): Defines a manifest and builds a manifest store.
16-
- [Reader](reader.mdx): Reads and validates a manifest.
9+
No longer used.

docs/manifest/legacy-assertions.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

docs/manifest/legacy.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
id: legacy-manifests
3+
title: Reading legacy manifest data
4+
---
5+
6+
An application should write manifest data that conforms to the recent [version 2.2](https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html) C2PA technical specification, but should be abel to read and validate manifest data that conforms to earlier versions of the specification. This ensures that your application is "backward-compatible" and can still validate older assets with claims that were written in the past.
7+
8+
<div class="review-comment">
9+
10+
`c2pa.data_mining` > `cawg.data_mining`, etc. were renamed, with xref.
11+
12+
`SoftwareAgent` is now a structure
13+
14+
`digitalSourceType` is now required on every ingredient, previously it was not.
15+
16+
For READING old claims (only) … v1 actions and ingredients
17+
</div>

docs/manifest/reading.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
id: reading
3+
title: Reading and validating manifest data
4+
---
5+
6+
Use a [Reader](json-ref/reader.mdx) structure when reading and validating manifest data. The Rust library and other language libraries provide methods and objects for working with this structure.
7+
This JSON reference is generated from the JSON schema for [Reader](https://docs.rs/c2pa/latest/c2pa/struct.Reader.html) objects (_struct_ in Rust terminology).
8+
9+
- [Ingredients](manifest/ingredients.md)
10+
- [CAWG identity assertions](manifest/cawg-id.md)
11+
- [Reading legacy manifest data](manifest/legacy.md)
12+
- [Validating manifests](manifest/validation.md)
13+
- [Reader JSON reference](manifest/json-ref/reader.mdx)

docs/manifest/writing.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
id: writing
3+
title: Building and writing manifest data
4+
---
5+
6+
Use a [ManifestDefinition](json-ref/manifest-def.mdx) structure to define and construct manifest data for writing. The Rust library and other language libraries provide methods and objects for working with this structure. This JSON reference is generated from the JSON schema for [ManifestDefinition](https://docs.rs/c2pa/latest/c2pa/struct.ManifestDefinition.html) object (_struct_ in Rust terminology).
7+
8+
- [Assertions and actions](manifest/assertions-actions.md)
9+
- [ManifestDefinition JSON reference](manifest/json-ref/manifest-def.mdx)

sidebars.js

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -29,51 +29,59 @@ const sidebars = {
2929
},
3030
{
3131
type: 'category',
32-
label: 'Understanding manifests',
32+
label: 'Working with manifests',
3333
link: { type: 'doc', id: 'manifest/understanding-manifest' },
3434
collapsed: true,
3535
items: [
3636
{
37-
type: 'doc',
38-
id: 'manifest/assertions-actions',
39-
},
40-
{
41-
type: 'doc',
42-
id: 'manifest/ingredients',
43-
},
44-
{
45-
type: 'doc',
46-
id: 'manifest/manifest-validation',
47-
},
48-
{
49-
type: 'doc',
50-
id: 'manifest/cawg-id',
51-
},
52-
{
53-
type: 'doc',
54-
id: 'manifest/legacy-manifests',
55-
},
56-
{
57-
type: 'doc',
58-
id: 'manifest/manifest-examples',
59-
label: 'Examples',
37+
type: 'category',
38+
label: 'Reading manifest data',
39+
link: { type: 'doc', id: 'manifest/reading' },
40+
collapsed: true,
41+
items: [
42+
{
43+
type: 'doc',
44+
id: 'manifest/ingredients',
45+
},
46+
{
47+
type: 'doc',
48+
id: 'manifest/cawg-id',
49+
},
50+
{
51+
type: 'doc',
52+
id: 'manifest/legacy-manifests',
53+
},
54+
{
55+
type: 'doc',
56+
id: 'manifest/manifest-validation',
57+
},
58+
{
59+
type: 'doc',
60+
id: 'manifest/json-ref/reader',
61+
},
62+
],
6063
},
6164
{
6265
type: 'category',
63-
label: 'JSON reference',
64-
link: { type: 'doc', id: 'manifest/json-ref/index' },
66+
label: 'Writing manifest data',
67+
link: { type: 'doc', id: 'manifest/writing' },
6568
collapsed: true,
6669
items: [
6770
{
6871
type: 'doc',
69-
id: 'manifest/json-ref/manifest-def',
72+
id: 'manifest/assertions-actions',
7073
},
7174
{
7275
type: 'doc',
73-
id: 'manifest/json-ref/reader',
76+
id: 'manifest/json-ref/manifest-def',
7477
},
7578
],
7679
},
80+
{
81+
type: 'doc',
82+
id: 'manifest/manifest-examples',
83+
label: 'Examples',
84+
},
7785
],
7886
},
7987
{

0 commit comments

Comments
 (0)