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 Team ident Text avatar ByteString Maybe UniqueTeam ident TeamMember user UserId team TeamId isCaptain Bool TeamLog stamp UTCTime default=now() actionType TeamActionType agens UserId patiens UserId Maybe team TeamId Maybe verificationKey Text Maybe keyExpirationDate UTCTime Maybe 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 -- forces BySubmitter leaderboard style isCompetition 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() phase TagId Maybe Test challenge ChallengeId metric EvaluationScheme name Text checksum SHA1 commit SHA1 active Bool default=True precision Int Maybe asPercentage Bool 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 team TeamId Maybe 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 UniqueEvaluationTestChecksumVersion test checksum version 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 color 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 CourseChallenge challenge ChallengeId course CourseId UniqueCourseChallenge challenge 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)