Skip to content

Type Standardization

Chris Bogart edited this page Aug 24, 2016 · 7 revisions

We currently have ad-hoc "types" for entities in the database, that are different for each dataset that we import. These could be unified into a simpler universal set of types, at the risk of losing some specificity for each dataset. What follows is a proposed renaming from existing specific types to more universal generic types. These could simply be changed, or maybe we could have two type fields for each entity: a generic and a specific type.

Entity Generic type Specific types Criteria
Contribution THREAD_STARTER THREAD_STARTER, NODE_ACTIVITY, TWEET An initial contribution meant to start a conversation
CONTEXT_ITEM GOAL_NOTE, LEARNING_GOAL, COMPETENCE, TARGET_LEARNING_GOAL, TARGET_COMPETENCE, GIT_COMMIT_MESSAGE, BAZAAR_IMAGE, WIKI_PAGE An initial contribution that serves some other purpose, but can be commented on and hence start a conversation
REPLY POST, NODE_COMMENT, PIAZZA_FOLLOWUP, PIAZZA_STUDENT_ANSWER, GIT_COMMIT_COMMENT Anything in the thread following a THREAD_STARTER or CONTEXT_ITEM
PRIVATE_MESSAGE PRIVATE_MESSAGE A message from one person to another. 🔴 Maybe this should not exist, but instead be handled as a THREAD_STARTER with a restricted audience (we haven't really used audiences much yet, have we?). Doesn't distinguish thread starter from replies
Discourse Part WIKI GITHUB_WIKI Any kind of wiki page on any wiki-like platform
FORUM_CONTAINER GITHUB_REPO, GITHUB_OWNER_REPOS An area where discussion forums exist, but you have to drill down further to see them
FORUM THREAD, SUBFORUM, GITHUB_ISSUE, GITHUB_PUSH, PIAZZA_QUESTION, FORUM Discussion where contributions are tied to previous ones as replies. Could be linear or a tree structure
CHATROOM CHATROOM, TALK_PAGE, PROSOLO_SOCIAL_ACTIVITY Like a thread but the only organization is strict temporal sequence. Contributions are short, informal, and cannot be revised.
TALK_PAGE TALK_PAGE A discussion where users edit a common shared document, so positioning, boundaries, and history of contributions may be a little informal and hard to parse.
UNKNOWN PROSOLO_COURSE_CREDENTIALS, PIAZZA_NOTE 🔴 I don't know what these are.
BLOG PROSOLO_BLOG A sequence of contributions whose only organization is temporal sequence. Edited, long, more formal language.
Discourse Part Relation SUBPART SUBPART, TALK_PAGE_HAS_DISCUSSION Used for connecting up a hierarchy of FORUM_CONTAINERS, with FORUMs as the leaves of the tree.
Discourse Relation N.B. these are relations between contributions; they're called "DiscourseRelations" to reflect linguistics terminology
REPLY REPLY, COMMENT Response to another contribution; the next one in a thread
DESCENDENT DESCENDENT Ties a contribution to the top of a thread it is part of, rather than the previous contribution
RESHARE RESHARE Repetition of another contribution, to a new audience (e.g. a retweet)
Discourse Part Interactions CREATE CREATE, GIT_PUSH User creates a DiscoursePart
JOIN JOIN, WATCH User joins a discoursePart
LEAVE LEAVE, UNWATCH User leaves a discoursePart
DELETE DELETE User deletes a DiscoursePart
REFER REFER User refers to a DiscoursePart in the text of a contribution. That contribution should be identified somehow in an annotation attached to this DiscoursePartInteraction
READY READY 🔴 A user indicates they are ready to move on in a conversation (e.g. in an agent supported chat)
UNREADY UNREADY 🔴 A user indicates they are NOT ready to move on.
CONTEXT_ACTION FORK_FROM, GIT_PULL_REQUEST_MERGE, GIT_ISSUE_CLOSE User does something domain-specific with the context of this discoursePart
Annotation DEGENERATE Used to tag "stub" items that are outside the dataset, but for which the relation they participate in is not. For example if a user of interest WATCHed a Github project outside the data set, we introduce that outside project as an empty, isolated DiscoursePart with a DEGENERATE annotation.
URL For outside web pages that we've identified as relevant to a project, and are cached as a non-database part of the project
CROSSREF Attached to a DiscoursePartInteraction to indicate the contribution where a participant referred to some other DiscoursePart. Also attached to the referring contribution to make the reference explicit