Proposal: Create a ‘Document’ collection for cross-app data sharing

#1

Edit: Updated based on feedback

I’d like to make a proposal for adding a Collections schema for notes. We have multiple note taking apps, as well as several apps using notes as part of a larger set of data that they use. This collection would serve to provide a base-level for data portability within the Blockstack ecosystem, and any other platforms that may choose to adopt this model. App developers would still be able to add additional fields that are important for their own users, use cases, and/or differentiation.

{
  "@type": "https://schema.org/DigitalDocument",
  "headline": Text,
  "text": Text,
  "keywords": Array <Text>, // Tags
  "dateCreated": Date or DateTIme,
  "dateModified": Date or DateTime,
  "encodingFormat": Text, // MIME format  (text/plain, text/html, text/markdown, application/json),
  "references": Array <URL> // URL to a DigitalDocument type audio, image, video, etc
  "favorite": Boolean // indicate favorites
  "archive": Boolean // indicate trash bin/archive
}
3 Likes
Collections Super thread
#2

Opinions:

  • add format - could be md,html,txt, etc.
  • Timestamps should be a number - i.e. Unix timestamp. Less issues with standards, easier sorting.
  • favorite instead of fave
1 Like
#3

A good idea! For the actual structure of the data, I’d recommend following the existing Schema.org DigitalDocument (or maybe the more specific NoteDigitalDocument or TextDigitalDocument) attribute naming. That would look something like:

{
  "@type": "https://schema.org/DigitalDocument",
  "headline": Text,
  "text": Text,
  "keywords": Text, // Tags
  "dateCreated": Date or DateTIme,
  "dateModified": Date or DateTime,
  "encodingFormat" Text or URL, // MIME format
}

The concept of “favorite”, and “archived”/“trashed” aren’t in the Schema.org class, but working with an RDF class like that, they could be added in. Or, those could be implemented as specific tags added to the keywords attribute.

3 Likes
#4

Thanks for bringing this up, we definitely want to try and stay in line with schema.org when possible. I like keywords, and think we should also add tags/favorite.

#5

Awesome thank you!