I’ve been trying to get an XBlock to be scorable (and added to the Progress page) and haven’t been able to get it to work.
I’ve tried the following:
- created an xblock with the xblock sdk
- implemented all the required methods
- tried only setting
has_score = Trueand
weight = 3.0
- added a
The XBlock is properly installed and works in both studio and the LMS.
I’ve walked through the code starting on the progress page. I’ve found where it’s testing if the block has the
has_score attribute or not in
CreateSubsectionGrade._compute_block_score here . When I drop into pdb or log the
block.fields property, the
has_score attribute is always
False. Additionally, there is no
weight property which I have also implemented on the xblock.
I’ve looked at the LTI Consumer XBlock and it seemingly only has a
max_score method and
weight attribute and when I add that component and make it graded, it soon shows up in the progress page.
The other very strange thing is that if I open up a shell and get the xblock via the modulestore using it’s
UsageKey, the properties are all there as expected.
I’ve tried to track it down through the
BlockStructure elements to try and see how the fields are being set, but haven’t been able to figure it out yet.
Might anyone else have any insight into this?