responsible: Marios Meimaris
deck object_id = {
type: 'string', //should be 'integer'
maxLength: 24, //does not need to be so long
minLength: 1
}
Deck =
property | type | required | format checking | state of implementation | Remarks |
---|---|---|---|---|---|
_id | integer, autoincrement | yes | isInteger | implemented | for now is 'string' in the code |
timestamp | string, datetime | yes | auto generated | implemented | add 'format: datetime' |
user | integer |
yes | isInteger | implemented (passed to service) |
description | string | no | implemented |
translations | array of {language: 'string', deck_id: object_id} | no | |||
translated_from | has field 'status' with possible values 'original', 'google', 'revised'auto generated | not implemented | |||
lastUpdate | string, datetime | no | auto-generated |
on creating new slide revision inside the deck | |||||
revisions | [ array of DeckRevision ] | yes | auto generated | implemented | |
tags | [ array of strings ] | no | not implemented | ||
active | objectId (integer) | yes | if the revision exists, when a new deck is added is set to 1 | implemented | |
datasource | string | no |
...
if the whole deck is the adaptation of a resource | |||||
license | string enumeration | yes | is one of enumerables ['CC0', 'CC BY', 'CC BY-SA'] | not implemented | should move it from revision, it is the same for the whole deck |
ContentItem =
property | type | required | format checking | state of implementation |
---|---|---|---|---|
order | integer | yes | isInteger | implemented |
kind | string | yes | enum ('deck', 'slide') | implemented |
ref | object: {id, revision} | yes | implemented | |
ref.id | integer | yes | isInteger | implemented |
ref.revision | integer | yes | isInteger | implemented |
...
property | type | required | format checking | state of implementation | remarks | ||
---|---|---|---|---|---|---|---|
id | integerobjectId, autoincrement (scope limited to parent item) | yes | isInteger | implemented | |||
title | string | yes | implemented | ||||
timestamp | string | yes | auto generated | implemented | |||
user | integer, autoincrementobjectid | yes | isInteger | implemented | |||
parentinteger | object {id: objectId, revision: objectId} | no | isInteger | not implemented | reference to a previous revision/branch etc. | ||
language | string | yes | implemented | ||||
popularity | integer | no | isInteger | not implemented | |||
theme | object | no | not implemented | ||||
transition | object | no | not implemented | ||||
comment | string | no | implemented | this is a comment of the revision - like in github | |||
abstract | string | no | implemented | ||||
footer | objectstring | no | not implemented | ||||
license | string enumeration | yes | is one of enumerables ['CC0', 'CC BY', 'CC BY-SA'] | implemented | |||
isFeatured | integer | no | isIntegerfor now it is an object, should be just a string | ||||
isFeatured | boolean | no | isBoolean | not implemented | |||
priority | integer | no | isInteger | not implemented | |||
visibility | boolean | no | isBoolean | not implemented | |||
language | string | yes | implemented | ||||
translation | object | translated_from | object { status: string, enum['original', 'google', 'revised', null], source: { id: object_id, revision: object_id}, translator: {id: object_id, name: string} } | no | not implemented | ||
tags | array of string | no | not implemented | ||||
contentItems | array of ContentItems | yes | implemented | ||||
dataSources | array of string | no | not implemented | collects all data sources from slides | |||
usage | array of objects { id: object_id, revision: object_id} | no | not implemented |
slide =
property | type | required | format checking | state of implementation | remarks | ||||
---|---|---|---|---|---|---|---|---|---|
_id | integerobjectId, autoincrement | yes | isInteger | implemented | |||||
timestamp | string, datetime | yes | auto generatedimplemented | should be format datetime | |||||
user | integer, autoincrementobjectId | yes | isInteger | implemented (passed to service) | kind | string enumeration ('deck', 'slide') | yes | ||
auto generated | translations | array of {language: 'string', slide_id: object_id} | no | not implemented | |||||
description | string | no | implementedlanguage | string | yes | implemented | |||
contributors | [array of contributor ] | no | not implemented | ||||||
revisions | [ array of slideRevisions ] | yes | auto generated | implemented | |||||
tags | [ array of strings ] | no | not implemented | ||||||
active | objectId (integer) | no | if the revision exists, when a new deck is added is set to 1 | not implemented | |||||
datasource | string | no | not implemented | ||||||
license | string enumeration | yes | is one of enumerables ['CC0', 'CC BY', 'CC BY-SA'] | implemented | should move it from slide_revision | ||||
lastUpdate | string, datetime | no | autogenerated on creation of new revision | not implemented |
slideRevision =
property | type | required | format checking | state of implementation | remarks | |
---|---|---|---|---|---|---|
id | integer, autoincrement | yes | isInteger | implemented | ||
title | string | yes | implemented | |||
timestamp | string, datetime | yes | auto generated | implemented | ||
content | string | yes | ?? only allowed tags | implemented | ||
user | integer, autoincrement | yes | isInteger | implemented | ||
parentinteger | object { id: objectId, revision: objectId } | no | isInteger | not implemented | keeps link to a previsous revision | |
speakerNotes | string | no | implemented | |||
popularity | integer | no | isInteger | not implemented | ||
comment | string | no | implemented | |||
note | string | no | not implemented | |||
license | string enumeration | yes | is one of enumerables ['CC0', 'CC BY', 'CC BY-SA'] | implemented | ||
translation | objectcomment of revision | |||||
translated_from | object { status: string, enum['original', 'google', 'revised', null], source: { id: object_id, revision: object_id}, translator: {id: object_id, name: string} } | no | not implemented | |||
tags | array | no | not implemented | |||
media | array | no | not implemented | |||
dataSources | array of strings | no | not implemented | |||
language | string | yes | implemented | |||
usage | array of objects { id: object_id, revision: object_id} | no | not implemented |