JADE/Implementations/Archive 2017
Appearance
< JADE | Implementations
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
This page describes the intended affordances of the JADE system and schemas that are meant to address these affordances. Edits are welcome. Bold-Revert-Discuss rules apply. See Phab:T153152 and https://etherpad.wikimedia.org/p/meta_ores_schema for past notes.
Affordances
[edit]- User judgments (endorsements)
- Wiki users may attach human judgement to any wiki artifact with a numerical ID (page, user, revision, etc.)
- A user may only supply one judgement per artifact, but they can update their judgement.
- Users may include a short free-text comment with their judgements (hash tags? #anon #addscategory)
- Multiple users can record judgements for any given artifact
- Judgment schemas
- Judgements are structured data that corresponds to a machine-readable schema
- New schemas can be safely added
- Schemas are named and versioned
- Consensus decisions
- A flow topic can be associated with every artifact/schema (e.g. revision:12345/editquality --> Topic:32SAhbhas6)
- A judgement can be promoted to "preferred" status (presumably through consensus discussion)
- Judgements that disagree with "preferred" status remain present
- Suppression/curation
- User information, comments, and entire endorsements can be suppressed by changing visibility
- History
- All actions are captured as events that can be queried historically.
Schemas
[edit] Schema details (relational)
- entity_discussion [unique key = (entity_type, entity_id)]
- context : str (dbname of the wiki)
- entity_type_id : int (foreign key to entity_type)
- entity_id : int (foreign key to an entity)
- flow_id : str (foreign key to a flow thread for an artifact)
- judgment [unique key = (context, entity_type_id, entity_id, schema_id, data)]
- id : int, primary key
- context : str (dbname of the wiki)
- entity_type_id : int (foreign key to entity_type)
- entity_id : int (foreign key to an entity)
- schema_id : int (foreign key to a schema)
- data : blob (json blob matching schema for judgement)
- preference : bool (represents consensus)
- touched : datetime
- endorsement [unique key = (judgement_id, gu_id)]
- id : int, primary key
- judgement_id : int (foreign key to a judgment)
- gu_id : int (foreign key to centralauth)
- comment : str
- visibility : int (bitfield: user | comment | all)
- touched : datetime
- schema [unique key = (name, version)]
- id : int, primary key
- name : str (An identifier for the schema)
- version : str (Semantic version string)
- touched : datetime
- data : blob (JSON schema)
Schema details (events)
- new-schema
- name : str (An identifier for the schema)
- version : str (Semantic version string)
- data : blob (JSON schema)
- gu_id : int (foreign key to centralauth -- the creating user)
- comment : str
- new-discussion
- context : str (dbname of the wiki)
- entity_type : str (the entity_type name)
- entity_id : int (foreign key to an entity)
- schema : str (the name of a schema)
- flow_id : str (foreign key to a flow thread for an artifact)
- gu_id : int (foreign key to centralauth -- the creating user)
- new-judgement
- id : the identifier of a specific judgement
- context : str (dbname of the wiki)
- entity_type : str (the entity_type name)
- entity_id : int (foreign key to an entity)
- schema : str (the name of a schema)
- data : blob (json blob matching schema for judgement)
- gu_id : int (foreign key to centralauth -- the creating user)
- judgement-preference-set
- judgement_id : int (foreign key to judgement)
- gu_id : int (foreign key to centralauth -- the user who set the preference)
- new-endorsement
- judgement_id : int (foreign key to a judgment)
- gu_id : int (foreign key to centralauth -- the user to created the endorsement)
- comment : str
- endorsement-change
- judgement_id : int (foreign key to a judgment)
- gu_id : int (foreign key to centralauth -- the user to created the endorsement)
- comment : str
- endorsement-visibility-change
- judgement_id
- visibility : int (bitfield: user | comment | data | all)
- gu_id : int (foreign key to centralauth -- the user who updated the visibility)
- comment : str