Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

responsible: Marios Meimarisdeck Kostis Pristouris

object_id = {       

type: 'string', //should be 'integer'
maxLength: 24, //does not need to be so long
minLength: 1

}


Contributor = 

propertytyperequiredformat checkingstate of implementationRemarks

user

integeryesisInteger

implemented

user id
countintegeryesisIntegerimplementedcount stores a number of occurrences of this user_id being an author of a deck revision


DataSource = 

propertytyperequiredformat checkingstate of implementationRemarks

type

stringyes

implemented


title

stringyes
implemented
urlstringno
implemented
commentstringno
implemented
authorsstringno
implemented
yearstringno
implemented


User=

propertytyperequiredformat checkingstate of implementationremarks
idintegeryes
ready to merge
joinedstringyesISO dateready to mergethe timestamp the user/group joined the deck editors
usernamestringnosee user service (question)ready to merge

picturestringnosee user service model (question)ready to merge

Group =

propertytyperequiredformat checkingstate of implementationremarks
idintegeryes
ready to merge
joinedstringyesISO dateready to mergethe timestamp the user/group joined the deck editors
namestringnosee user service (question)ready to merge


EditorsRights=

propertytyperequiredstate of implementationremarks
usersarray of Usersyesready to mergelists the users that explicitly are editors of the deck
groupsarray of Groupsyesready to mergelists the groups whose users explicitly can edit the deck


DeckOrigin = SlideOrigin

propertytyperequiredstate of implemenation
idintegeryesimplemented
revisionintegeryesimplemented
titlestringnoimplemented
userintegerno

implemented

kindstringnoimplemented in branch 1319



Deck

...

propertytyperequiredformat checkingstate of implementationRemarks

_id

integer, autoincrementyesisInteger

implemented

for now is 'string' in the code
timestamp
string
dateyesauto generatedimplementedadd 'format: datetime'
userinteger
, autoincrement
yesisIntegerimplemented (passed to service)
kindstring enumeration ('deck', 'slide')yesauto generatedimplemented

editorsEditorsRightsno
implemented
originDeckOriginno
implementedreferences the deck revision this deck was forked from
descriptionstringno
 

implemented
implemented


translationsarray of {language
stringyes implementedtranslation[ object ]no
: 'string', deck_id: object_id}no
implemented in branch 1287language is in format 'de_DE' as we need this to save the new deck
translated_from


{ status: enum('original', 'google', 'revised', null)



has field 'status' with possible values 'original', 'google', 'revised'
not implemented
auto generated
implementedNot in use now, but implemented. Could be used later in front-end
lastUpdatestring, datetimeno

auto
generatednot implemented
-generated on creating new slide revision inside the deck
revisions[ array of DeckRevision ]yesauto generated
implementedtags[ array ]no 
not
implemented
active
objectId (
integer
)
yesif the revision exists, when a new deck is added is set to 1implemented
     

 


datasource string no

 if the whole deck is the adaptation of a resource
licensestring enumerationyesis one of enumerables ['CC0', 'CC BY', 'CC BY-SA']implemented should move it from revision, it is the same for the whole deck
contributorsarray of contributorsno
in process


ContentItem

propertytyperequiredformat checkingstate of implementation

order

integeryesisInteger

implemented

kindstringyesenum ('deck', 'slide')implemented
refobject:
{id, revision} 
yes 
implemented
ref.idintegeryesisIntegerimplemented
ref.revisionintegeryesisIntegerimplemented

 

...


Tag =

propertytyperequiredformat checkingstate of implementation
tagNamestringyesto be decidedimplemented


DeckRevision

...

isInteger
propertytyperequiredformat checkingstate of implementationremarks

id

integerobjectId, autoincrement (scope limited to parent item)yesisInteger

implemented


titlestringyes 
implemented
timestampstringdateyesauto generatedimplemented
userinteger, autoincrementobjectidyesisIntegerimplemented
parentintegerobject {id: objectId, revision: objectId}noisIntegernot implementedreference to a previous revision/branch etc.
languagestringyes
implemented
popularityintegernoisIntegernot implemented
themeobjectno 
not implemented
transitionobjectno 
not implemented
commentstringno 
implementedimplementedthis is a comment of the revision - like in github
abstractstringno 
implemented
footerobjectstringno 
not implemented
licensestring enumerationyesis one of enumerables ['CC0', 'CC BY', 'CC BY-SA']implemented
isFeaturedintegerno

for now it is an object, should be just a string

changed to string

allowMarkdownbooleannoisBooleannot implementedif checked, authors have an additional editor for markdown
isFeaturedbooleannoisBooleannot implemented
priorityintegernoisIntegernot implemented
visibilitybooleannoisBooleannot implemented
languagestringyes implemented
translationobjectno not implemented

tagsarrayno not 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 implementedMost likely this is redundant - as we store everything in the "origin" field of the deck and we do not allow to have more than one translation in a certain language (we might create a revision instead, but for now it is just impossible - UI does not allow this)
tagsarray of Tagsno
implemented
contentItemsarray of ContentItemsyes 
implemented
dataSources

array of DataSources

no 
not implementedimplementedcollects all data sources from slides
usage

array of

deck_revision_ids
no not implemented

 

objects

{ id: object_id, revision: object_id}


no
implemented


Slide

propertytyperequiredformat checkingstate of implementationremarks

_id

integerobjectId, autoincrementyesisInteger

implemented


timestampstringdateyesauto generatedimplementedshould be format datetime
userinteger, autoincrementobjectIdyesisIntegerimplemented (passed to service)
kindstring enumeration ('deck', 'slide')yesauto generatedimplemented
descriptionstringno implemented

languagestringyes originSlideOriginno


implementedreferences the slide revision this slide was translated from (for keeping track of the translation links)
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 implementedmost likely a redundant field (except of status, which we might need)
translationsarray of {language: 'string', slide_id: object_id}no
implementedlanguage is in a 5-signs format
descriptionstringno
implemented
contributors[array of contributor ]no 
not implemented
revisions[ array of SlideRevisions ]yesauto generatedimplementedtags[ array ]no not implemented
activeobjectId (integer)noif the revision exists, when a new deck is added is set to 1not implemented

is this really needed?

active shows on content items of resp.parent

datasourcestringno
not implemented

...

implemented
licensestring enumerationyesis one of enumerables ['CC0', 'CC BY', 'CC BY-SA']implementedshould move it from slide_revision moved
lastUpdatestring, datetimenoautogenerated on creation of new revisionnot implemented


SlideRevision

propertytyperequiredformat checkingstate of implementationremarks

id

integer, autoincrementyesisInteger

implemented


titlestringyes
 

implemented
timestamp
string
dateyesauto generatedimplemented
contentstringyes?? only allowed tagsimplemented
markdownstringno?? only allowed tagsnot implemented yet
userinteger, autoincrementyesisIntegerimplemented
parent
integer

object { id: objectId, revision: objectId }

no
isInteger

not implementedkeeps link to a previsous revision
speakerNotesstringno
 

implemented
popularityintegernoisIntegernot implemented
commentstringno
 

implementedcomment of revision
tagsarray of Tagsno
implemented
note

media
stringnot
arrayno
 

not implemented
dataSourcesarray of DataSourcesno
implemented
license

languagestring
enumerationtranslationobjectno 
yes
is one of enumerables ['CC0', 'CC BY', 'CC BY-SA']implemented

implemented
usage

array of objects

{ id: object_id, revision: object_id}
no
not implemented
tags

ltiURL
array
stringno
 not

being implemented
media

ltiKey
array
stringno
 not

being implemented
dataSources

ltiWidth
array
stringno
 not

being implemented
usage

ltiHeight
array
stringno
being implemented
 

ltiZIndex
not implemented
string

...

no

...


being implemented