-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds a split-run (A/B test) option to the module embedder. #2073
base: dev/31-taconite
Are you sure you want to change the base?
Adds a split-run (A/B test) option to the module embedder. #2073
Conversation
…n embeds. Module selector modified to have an additional step prior to module selection allowing authors to embed a single module or a split-run, in which students will be directed to one of two selected modulesbased on the creation date of their user record. Added logic to the currentDocument middleware to choose one module if multiple options are available. Added a new page to the repository to handle the case of an instructor following a split-run embed link.
…ns breaking if the module wasn't in the last list that was loaded, new module button is now hidden when looking at the community collection list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good and is working when I tested it out for both students and instructors.
My one question is since the module selection is based on when the user was created, should a particular user always go to the same module in a split. In my test, the same user did not always go to the same module when launching from the lti page. I am not sure if this is an issue. Here is the code I was looking at:
const chooseSplitRunDraft = (user, draftA, draftB) => (user.createdAt % 2 === 0 ? draftA : draftB)
can draftA and draftB switch on different runs? Will this impact students who I assume should always be taken to the same module once they begin from their webcourses.
Since the module presented in a split-run embed depends on the user's creation timestamp in the database, they should be getting the same one every time. I'm fairly certain that code is working properly - the thing that's changing sporadically appears to be |
…he model's createdAt value so it can be used in subsequent functions.
It looks like there were competing expectations for when the individual validators would be running. As part of the LTI launch/user login process |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, what a cool feature
Closes #1453.
Allows instructors to embed either a single module (current behavior) or a split-run, which will send students to one of the two selected modules based on the timestamp of their user record creation in Obojobo.