...
User stories Start here, and then read the cells left-to-right: As a course author using a Libraries component in their course… | Works in… | ||||||||
---|---|---|---|---|---|---|---|---|---|
V1? | V2? | ||||||||
…if no Source Library is chosen… | …then the user I will see a message prompt telling them to choose a library, and clicking it will bring them me to the block’s settings editor. | ||||||||
…if I choose a Source Library… | …if the Source Library does not exist on the system… | TBD | …if the Source Library exists on the system, but the specific Version does not exist… | TBD…then I will no longer see a prompt telling me to choose a library. | |||||
…then I be able to choose the library’s Mode. | |||||||||
…then Children will be included (see below). | |||||||||
…if I change the Source Library… | …then the Children will be re-included (see below). | ||||||||
…if a new Version of the Source Library is available… | …then my library_content block will give me the option of updating to the latest library version. | ||||||||
…if I select to update to the latest Source Library Version…. | …then it will will silence the update prompt until the next Source Library Version is available. | ||||||||
…then Children will be re-included (see below). | |||||||||
…if I import OLX into the course… | …then for each imported Libraries component… | …the component’s Children should contain the exact set of blocks specified in the OLX and should use the the block content defined by the OLX, regardless of whether:
| |||||||
…if the OLX contains a library default settings document for this Source Library… (Later feature; not applicable to the initial V2 launch!) | …then for each Child component, it should…
| ||||||||
..if the OLX does not contain a library default settings document for the Source Library… (Test this one--it will be the case for all OLX imports in the initial V2 launch.) | …then if the Source Library exists on the instance… | …then for each Child component, it should…
| |||||||
…then if the Source Library is missing from the instance… | …then for each Child component, it should…
| ||||||||
…if the Source Library exists on the destination instance, and its latest version is the same as the Version specified in the Libraries component… | …then I will neither see a warning about missing library nor a prompt to update my Source Library Version. | ||||||||
…if the Source Library exists on the destination instance, and its latest version is older than the Version specified in the Libraries component… | |||||||||
…if the Source Library exists on the destination instance, and its latest version is newer than the Version specified in the Libraries component… | …then I will not see a warning about missing library. | ||||||||
…then I will be prompted to update my source Source Library Version. | |||||||||
…if the Source Library does not exist on the destination instance… | …then I will be warned of this via an alert within the Libraries component editor. | ||||||||
…then I will not be prompted to update to a later library version. | |||||||||
…then I will still be able to configure the Libraries component, and edit its children, and publish. | |||||||||
…then if I import the correct Source Library into the instance… | …then the messaging will change (per other user stories) based on whether the imported library’s version matches, is older, or is newer than the configured Source Library Version. | ||||||||
…when the Children are re-included… | …then the updated Children will be visible in the Libraries component detail page, by clicking “View”. | ||||||||
…then the unit editor containing the Libraries component will indicate that the block has unpublished changes. | |||||||||
…then no learner’s Selection will be changed until the unit containing the Libraries component is published. | |||||||||
…and if I have edited the content of any of the existing Children… | …then my content edits will be overwritten. | ||||||||
…and if I have overridden the settings of any of the existing Children… | …then my setting overrides will be preserved. | ||||||||
…and if any of the existing Children no longer exist in the current Version of the Source Library… | …then they will be removed. | ||||||||
…and if any of the existing Children no longer meet the criteria to be included (e.g., they no longer meet the Problem Type filter)… | …then they will be removed. | ||||||||
…and if this version of the Source Library contains new components… | …and if I am using Randomized Mode… | …then the new components will be included as Children. | |||||||
…and if I am using using Static Mode… | …then the new blocks will not be included as Children, but they will be visible the next time the component picker is opened. | ||||||||
…if I am using Static mode… | …then I cannot see the Problem Type or Count fields. | ||||||||
…and I change the Mode to Randomized… | …then the Children will be re-included, such that the entire library (filtered by Problem Type) is included. | ||||||||
…if I am using Randomized mode… | …and I change the Problem Type… | …then the Children will be re-included, such that the entire library (filtered by Problem Type) is included. | |||||||
…and I change the Count… | …then the Children will not be re-included, as it is unecessary. | ||||||||
…and I change the Mode to Static… | …then the the library component picker dialog will be shown, starting with the entire library included… | …and, based on the what the author picks, the the Children will be re-included. | |||||||
…and I make any of the above changes (Problem Type, Count, or Mode)… | …then the unit will not indicate that it has unpublished changes. | ||||||||
…then the changes will not impact learners until published. | |||||||||
…if I change the Mode or Count settings… | …then the set of included Children will not be affected. | ||||||||
…then the unit editor containing the Libraries component will indicate that the block has unpublished changes. | |||||||||
…then no learner’s Selection will be changed until the block is published. | |||||||||
…if I publish a Libraries component in Static mode after either of the following have changed:
| ...then the unit editor will no longer indicate that the unit has unpublished changes. | ||||||||
…then for each learner, next time they load the Libraries component… | …the learner’s Selection will equal the Children, both in content and ordering. | ||||||||
…if I publish a Libraries component in Static mode after either of the following have changed:
| ...then the unit editor will no longer indicate that the unit has unpublished changes. | ||||||||
…then for each learner, next time they load the Libraries component… | …if Count equals -1… | …then the learner’s Selection will equal the set of included Children, but in a random order. | |||||||
…if Count is greater than the number of included Children… | |||||||||
…if Count is greater than zero and less than the number of included Children… | …then the learner’s Selection be will a subset of the included Children of size Count, in a random order. | ||||||||
…and if the learner has an existing Selection containing components which still exist in the included Children… | …then those previously-selected components should remain in the Selection, unless it would make the Selection larger than Count, in which case the appropriate number of them should be randomly removed. | ||||||||