Anonymous Courseware Access

115 views
Skip to first unread message

Matjaz Gregoric

unread,
Jan 10, 2018, 3:26:24 AM1/10/18
to edx-...@googlegroups.com
Hello,

We were happy to notice that edX is working on ability to open up the courseware to anonymous users in https://github.com/edx/edx-platform/pull/16315.
Being able to browse course content without having to create an account first is a commonly requested feature that several of our clients have expressed an interested in.

It looks like currently it is only possible to view the courseware anonymously if you have a direct link to the relevant section. We would like to expand on this for users to be able to:

- Browse the courseware without having to know direct links, probably by using a button or link on the course about page.
- Navigate through course content anonymously (currently prev/next buttons seem to work, but every time you click one of the buttons, an annoying popup asks to you sign in).
- Interact with problems/xblocks. It probably wouldn't be possible to make all problem types work anonymously, but it should be possible for simple problems such as quizzes.
- Store anonymous user answers (in session storage?) and move their responses to the database if they decide to "upgrade" their account by registering.

Does edX plan to continue working on this feature -- is there a roadmap and/or any documents proposing the implementation?
If not, would you be willing to accept something like this as an open source contribution?

--
Matjaz Gregoric
@OpenCraft

David Ormsbee

unread,
Jan 11, 2018, 10:19:45 AM1/11/18
to edx code, Jasper Ho
Hi Matjaz,

I'm not on the team that's responsible for this now (that's Learner), but I've been in conversations about this feature in the past and I just touched base with Jasper, who is the edX product owner for this.

EdX has been adopting a more experiment-focused approach to development, with faster prototyping of features to assess impact and demand before committing the resources for a large project. The PR you referenced was a part of that. So we don't have an official commitment at this point to go forward with this feature, or exactly what shape it will take. There is no roadmap that I'm aware of for this.

There's definitely been a lot of interest in this feature over the years from the community at large. Stanford had an approach very early on where they had pseudo-users that were dynamically generated and had enough information for XBlock mechanisms to work. This worked, though it led to a lot of junk in the auth_user table that needed to be cleaned up at regular intervals. It's possible that we could fit a layer of indirection here so that a User for the purposes of XBlocks doesn't map directly to a User in Django, and prevent auth_user from becoming a mess.

Session-backed storage for XBlocks has been the solution talked about more internally at edX in the past. We already do something like this for Studio, so that you can interact with problems that use session state while previewing the problem. This was actually supported in the LMS very early on in the platform (5+ years ago, back when it was still mitx), but I think it was broken sometime during the scramble of the first year. One issue here is what a transfer of data would look like, since it's basically a KV store and memcached doesn't have any indexes or nicer ways to organize the data by default when we want to do the "let's get all the user's answers and move them over". It's possible that we could use something like Redis here, or place restrictions on the data that we have to transfer over to simplify things.

Then there are the more policy-oriented questions around the control that course teams have over anonymous access to their content -- opt in vs. out, blocking sensitive parts because of licensing agreements or to help preserve exam integrity, etc. I don't know of any central place where these requirements are gathered.

Take care.

Dave


--
You received this message because you are subscribed to the Google Groups "General Open edX discussion" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/CALNP4FcopLQSFF-YnBZVE304RriMSbF2UT_X-mentcBskrNBcQ%40mail.gmail.com.

Matjaz Gregoric

unread,
Jan 12, 2018, 3:34:00 AM1/12/18
to edx-...@googlegroups.com, Jasper Ho
Thanks for the detailed response David!


Session-backed storage for XBlocks has been the solution talked about more internally at edX in the past.

That's good to know. Would edX be willing to accept code contributions in this direction?

Then there are the more policy-oriented questions around the control that course teams have over anonymous access to their content -- opt in vs. out, blocking sensitive parts because of licensing agreements or to help preserve exam integrity, etc. I don't know of any central place where these requirements are gathered.

Right. Currently anonymous access is controlled by a waffle feature flag, disabled by default. Since waffle flags can be toggled globally or per course, I think that's good enough for us.



Reply all
Reply to author
Forward
0 new messages