Package: done-xblock
##########
DoneXBlock
##########
| |License: AGPL v3| |Status| |Python CI| |Publish package to PyPi|.. |License: AGPL v3| image::https://img.shields.io/badge/License-AGPL_v3-blue.svg:target:https://www.gnu.org/licenses/agpl-3.0.. |Python CI| image::https://github.com/openedx/DoneXBlock/actions/workflows/ci.yml/badge.svg:target:https://github.com/openedx/DoneXBlock/actions/workflows/ci.yml.. |Publish package to PyPi| image::https://github.com/openedx/DoneXBlock/actions/workflows/pypi-release.yml/badge.svg:target:https://github.com/openedx/DoneXBlock/actions/workflows/pypi-release.yml.. |Status| image::https://img.shields.io/badge/status-maintained-31c653PurposeXBlock_ is the Open edX component architecture for building custom
learning interactives... _XBlock:https://openedx.org/r/xblockThe DoneXBlock lets a student confirm that they've finished an
activity. The student can click through two states of the XBlock,
shown below:| |mark|
| |undo|.. |mark| image:: completionxblock_mark.png
.. |undo| image:: completionxblock_undo.pngThis can be useful for activities that are self directed or where completion is ambiguous.Getting StartedYou can see the DoneXBlock in action in the XBlock Workbench.  Running the Workbench requires having docker running... code:: bashgit clone git@github.com:openedx/DoneXBlock
  virtualenv venv/DoneXBlock/
  source venv/DoneXBlock/activate
  make upgrade
  make install
  make dev.runYou can interact with the DoneXBlock in the Workbench by navigating tohttp://localhost:8000For details regarding how to deploy this or any other XBlock in the lms instance, see theinstalling-the-xblock_ documentation... _installing-the-xblock:https://edx.readthedocs.io/projects/xblock-tutorial/en/latest/edx_platform/devstack.html#installing-the-xblockGetting HelpIf you're having trouble, we have discussion forums athttps://discuss.openedx.orgwhere you can connect with others in the
community.Our real-time conversations are on Slack. You can request aSlack invitation, then join ourcommunity Slack workspace.For anything non-trivial, the best path is to open an issue in this
repository with as many details about the issue you are facing as you
can provide.https://github.com/openedx/DoneXBlock/issuesFor more information about these options, see theGetting Help_ page... _Slack invitation:https://openedx.org/slack.. _community Slack workspace:https://openedx.slack.com/.. _Getting Help:https://openedx.org/getting-helpHow to ContributeDetails about how to become a contributor to the Open edX project may
be found in the wiki atHow to contribute_.. _How to contribute:https://openedx.org/r/how-to-contributeThe Open edX Code of ConductAll community members should familarize themselves with theOpen edX Code of Conduct_... _Open edX Code of Conduct:https://openedx.org/code-of-conduct/PeopleThe assigned maintainers for this component and other project details
may be found inBackstage_ or groked from inspecting catalog-info.yaml... _Backstage:https://open-edx-backstage.herokuapp.com/catalog/default/component/DoneXBlockReporting Security IssuesPlease do not report security issues in public. Please emailsecurity@openedx.org.HistoryFutureLearn uses this kind of thing to great effect. Students can read
text, watch videos, etc., and indicate when their done. This is
convenient both for progress indication to the student (know what
they've done, and for honor code grading (indicating to us that they
believe they've finished an activity).I copied some of the UX patterns from FutureLearn so that users of
both platforms would have consistency of user experience between
MOOCs. I didn't copy them exactly since I wanted to be unambiguously
in the clear with IP issues around look-and-feel, and this was on a short
anough timeline that I did not have a chance to reach out to
FutureLearn for permission. As a footnote, this kind of collaboration
between MOOC providers is probably worth pursuing -- it'd be to the
benefit of learners on all platforms, and ultimately, the industry as
a whole if we had consistency of experience between platforms where
convenient.