-
Notifications
You must be signed in to change notification settings - Fork 58
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
Assessment targeted review #61
Conversation
cc7902e
to
96f9e14
Compare
96f9e14
to
77ca788
Compare
@@ -52,6 +52,12 @@ def steps(self): | |||
""" | |||
return [_normalize_id(child_id) for child_id in self.children if child_isinstance(self, child_id, StepMixin)] | |||
|
|||
def get_steps(self): |
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.
@bradenmacdonald nit: could be lazy - lazies are per-instance, so even if you're in mixin each object of every class will get it's own lazy property.
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.
@e-kolpakov Using lazy
would be nice, but it would force this to become an attribute rather than a method, and I'd like this to be a method so that block.steps
and block.get_steps()
follows the same API pattern as block.children / block.get_children()
and block.parent / block.get_parent()
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.
@bradenmacdonald makes sense
@bradenmacdonald one minor nit: the formatting of the list is different from the design doc. Here's what I see: Note the left margin and line spacing in the list. Also, the list itself should be positioned under the submit, not above. |
@bradenmacdonald one more thing :) It looks like the code does not support more than a single assessment message, but one can add any number of them in Studio. It would be nice to allow single instance only, similar to how it's made for mentoring-level messages. Also, latest xblock-utils provide a mixin for handling nested blocks in a more "declarative" way - you might want to check it out: StudioContainerWithNestedXBlocksMixin. Examples are in GP v2 utils-update branch (virtually everywhere, but GroupProjectXBlock is probably the richest example so far). Simply put:
If any css/js needs to be added you can just override the |
5b7c35c
to
e8e2b48
Compare
@e-kolpakov I think I've addressed all your comments. I tried using
I'd love to refactor the whole problem builder to use |
@bradenmacdonald the rules we used for those buttons were xblock-specific. Also, preview and edit views usually need studio view rules applied in order to look more or less like the actual student content. So I decided it would make sense to not include the css into On the other hand, it actually might make sense to include basic rules for buttons. If you send a PR against utils I'll be happy to review it, otherwise (if you decide to go with adding css in descendant class) I'll include that next time I get to work on it. Same thing about NestedXBlock. I believe just adding a kwarg Also, it might be a good idea to log this feature requests as issues on utils repo - I'll go create them. :) UPD: |
@bradenmacdonald positioning issue is fixed, but now "If you retake..." message persists when user is retaking the assessment: Is that intentional? |
Good catch, thanks. I will fix. |
Assessment targeted review
This new feature allows content authors to set an optional "review message" on each MCQ/MRQ/Rating question.
The review messages are shown in assessment mode when the student is reviewing their grade before being allowed to try again. The review screen now includes a list of topics to review, based on which questions the student got wrong.
Screenshot:
If the student got all the questions right or has no attempts remaining, the new review section is not shown.
Here's how it looks to course authors in Studio: