Closed FlatBallFlyer closed 2 months ago
So just some general questions:
Actually, there are several competing definitions of a resource.
On the Topics schema:
description
link
name
skills
tags
The old standalone resource collection schema had these additional keys:
_id
duration
lastSaved
status
While the Curriculum schema has these additional keys (compared to the basic ones in Topics):
completed
rating
review
started
The common fields of name
and skills
are not defined identically among the three. In the standalone collection name
is a slug/msmWord
, while in Topics and Curriculum it is an msmSentence
(though the human-readable description for the latter states "for adHoc resources"). Resource skills
, on the other hand, within the Resources collection is an array of ObjectId
s, while in Topics (version 3) it is an array of index references to topic skills and in Curriculum it is an array of msmSentence
.
Topics in a curriculum are a named set of resources. In the topics collection, a topic has additional properties such as skills, which resources could reference by index number until that property was removed. Topic skills essentially take their definition from the old skills collection schema, though lacking an _id
, status
, or lastSaved
property.
Major version 2 of the Topics schema assumed Topics and their corresponding resources could each have their own independent set of skills (topics.skills
and resource.skills
, both arrays of ObjectId
s to the Skills collection), while in version 3 the Topic had a skills property listing all the skills that one may gain from consuming the resources on that topic, while each resource explicitly referenced which skills from the set it would help the user develop. This reference appears to be deprecated.
Removed skill index property from Topics, and added Skills and Resources to Now/Completed scope in Curriculum