238 lines
6.4 KiB
Plaintext
238 lines
6.4 KiB
Plaintext
User
|
|
ident Text
|
|
password Text Maybe
|
|
UniqueUser ident
|
|
name Text Maybe
|
|
isAdmin Bool default=False
|
|
localId Text Maybe
|
|
isAnonymous Bool default=False
|
|
avatar ByteString Maybe
|
|
verificationKey Text Maybe
|
|
keyExpirationDate UTCTime Maybe
|
|
triggerToken Text Maybe
|
|
altRepoScheme Text Maybe
|
|
deriving Typeable
|
|
PublicKey
|
|
user UserId
|
|
pubkey Text
|
|
Email
|
|
email Text
|
|
user UserId Maybe
|
|
verkey Text Maybe
|
|
UniqueEmail email
|
|
Repo
|
|
url Text
|
|
branch Text
|
|
currentCommit SHA1
|
|
owner UserId
|
|
ready Bool default=False
|
|
stamp UTCTime default=now()
|
|
gitAnnexRemote Text Maybe
|
|
UniqueUrlBranch url branch
|
|
deriving Show
|
|
Challenge
|
|
publicRepo RepoId
|
|
privateRepo RepoId
|
|
name Text
|
|
UniqueName name
|
|
title Text
|
|
description Text
|
|
stamp UTCTime default=now()
|
|
image ByteString Maybe
|
|
starred Bool
|
|
archived Bool Maybe
|
|
version SHA1
|
|
sensitive Bool Maybe
|
|
-- challenge version
|
|
Version
|
|
-- introduced later, hence Maybe
|
|
-- to be replaced with non-Maybe value later
|
|
challenge ChallengeId Maybe
|
|
commit SHA1
|
|
-- Optional challenge deadline. After the deadline
|
|
-- no submission will be accepted, though a new
|
|
-- challenge version might be uploaded and then
|
|
-- new submissions could be sent. This could be used
|
|
-- for organizing a "post-track" after the competition
|
|
-- has ended. Note, however, that, when sorting submissions,
|
|
-- the ones uploaded under the version with a deadline (i.e. within
|
|
-- the main track) will be preferred against the ones
|
|
-- uploaded under the version without a deadline (no matter what
|
|
-- is the major version).
|
|
deadline UTCTime Maybe
|
|
major Int
|
|
minor Int
|
|
patch Int
|
|
UniqueVersionByCommit commit
|
|
UniqueVersion commit major minor patch
|
|
description Text
|
|
stamp UTCTime default=now()
|
|
Test
|
|
challenge ChallengeId
|
|
metric EvaluationScheme
|
|
name Text
|
|
checksum SHA1
|
|
commit SHA1
|
|
active Bool default=True
|
|
precision Int Maybe
|
|
priority Int Maybe
|
|
UniqueChallengeNameMetricChecksum challenge name metric checksum
|
|
deriving Show
|
|
Submission
|
|
repo RepoId
|
|
commit SHA1
|
|
challenge ChallengeId
|
|
description Text
|
|
stamp UTCTime default=now()
|
|
submitter UserId
|
|
isPublic Bool default=False
|
|
isHidden Bool default=False
|
|
-- challenge version present when the submission was done
|
|
version SHA1
|
|
UniqueSubmissionRepoCommitChallenge repo commit challenge
|
|
Variant
|
|
submission SubmissionId
|
|
name Text
|
|
UniqueVariantSubmissionName submission name
|
|
Parameter
|
|
variant VariantId
|
|
name Text
|
|
value Text
|
|
UniqueParameterName variant name
|
|
ExternalLink
|
|
submission SubmissionId
|
|
title Text Maybe
|
|
url Text
|
|
-- this represents forks, i.e. when a submission for a given challenge
|
|
-- was based (in terms of git history) on another submission for the same challenge
|
|
-- NOTE: not implemented yet
|
|
Fork
|
|
source SubmissionId
|
|
target SubmissionId
|
|
UniqueSourceTarget source target
|
|
-- for representing dependencies across challenges;
|
|
-- e.g. when a model generated in a submission is used
|
|
-- by another submission in another challenge;
|
|
-- dependencies are expressed as a relation between
|
|
-- commit hashes rather than submissions/repos
|
|
-- (can be easily linked to submission via SubmissionCommit link)
|
|
Dependency
|
|
subRepoCommit SHA1
|
|
superRepoCommit SHA1
|
|
UniqueSubSuperSubmission subRepoCommit superRepoCommit
|
|
Evaluation
|
|
test TestId
|
|
checksum SHA1
|
|
score Double Maybe
|
|
errorBound Double Maybe
|
|
errorMessage Text Maybe
|
|
stamp UTCTime default=now()
|
|
-- Should be just SHA1 (without Maybe) - Maybe is just a legacy
|
|
version SHA1 Maybe
|
|
deriving Show
|
|
Comment
|
|
challenge ChallengeId
|
|
author UserId
|
|
posted UTCTime default=now()
|
|
text Textarea
|
|
Out
|
|
variant VariantId
|
|
test TestId
|
|
checksum SHA1
|
|
UniqueOutVariantTestChecksum variant test checksum
|
|
Tag
|
|
name Text
|
|
description Text Maybe
|
|
UniqueTagName name
|
|
SubmissionTag
|
|
submission SubmissionId
|
|
tag TagId
|
|
accepted Bool Maybe
|
|
UniqueSubmissionTag submission tag
|
|
-- for machine learning courses
|
|
Achievement
|
|
name Text
|
|
challenge ChallengeId
|
|
points Int
|
|
description Text Maybe
|
|
deadline UTCTime
|
|
maxWinners Int Maybe
|
|
course CourseId
|
|
UniqueAchievementName name
|
|
AchievementTag
|
|
achievement AchievementId
|
|
tag TagId
|
|
UniqueAchievementTag achievement tag
|
|
WorkingOn
|
|
achievement AchievementId
|
|
user UserId
|
|
finalSubmission SubmissionId Maybe
|
|
UniqueWorkingOnAchievementUser achievement user
|
|
Course
|
|
name Text
|
|
code Text
|
|
closed Bool
|
|
UniqueCourseName name
|
|
UniqueCourseCode code
|
|
ExtraPoints
|
|
points Int
|
|
description Text
|
|
user UserId
|
|
course CourseId
|
|
posted UTCTime default=now()
|
|
addedBy UserId
|
|
Participant
|
|
user UserId
|
|
course CourseId
|
|
UniqueUserCourse user course
|
|
Teacher
|
|
user UserId
|
|
course CourseId
|
|
UniqueTeacherCourse user course
|
|
-- for "KPI" dashboard
|
|
Indicator
|
|
test TestId
|
|
filterCondition Text Maybe
|
|
targetCondition Text Maybe
|
|
Target
|
|
indicator IndicatorId
|
|
deadline UTCTime
|
|
value Double
|
|
name Text Maybe
|
|
-- for doing manual annotation or human baselines
|
|
-- A specific annotation task, related to a specific challenge
|
|
AnnotationTask
|
|
challenge ChallengeId
|
|
added UTCTime default=now()
|
|
name Text
|
|
UniqueAnnotationTaskName name
|
|
-- A possible label that an annotator can use.
|
|
-- The labels will be shown as buttons to click for an annotator
|
|
AnnotationLabel
|
|
annotationTask AnnotationTaskId
|
|
-- name to be shown (e.g. as the button label)
|
|
name Text
|
|
-- value represented by the label (when evaluating the results)
|
|
value Text
|
|
-- for sorting labels when showing to a user
|
|
order Int
|
|
UniqueAnnotationLabelName annotationTask name
|
|
-- A single item to be annotated.
|
|
-- It corresponds to a single line in the in.tsv file. Note that
|
|
-- only a subset of lines can be considered here (and covering
|
|
-- various test sets)
|
|
AnnotationItem
|
|
annotationTask AnnotationTaskId
|
|
-- the line content (possibly including TABs)
|
|
content Text
|
|
-- to specify the order in which the items are shown to a user
|
|
order Int
|
|
-- A decision (annotation) made by a user for a specific item
|
|
AnnotationDecision
|
|
annotationItem AnnotationItemId
|
|
user UserId
|
|
-- value selected by the user (cf. value in AnnotationLabel)
|
|
value Text
|
|
stamp UTCTime default=now()
|
|
-- By default this file is used in Model.hs (which is imported by Foundation.hs)
|