Install and test the OpenCare consent funnel module

ScImpulse Foundation has recently delivered a custom Drupal module that implements the consent funnel. The consent funnel is an important part of the ethics in OpenCare.

It now needs to be installed and tested. I imagine integrating it in the “right” part of the website will also need some work.

I am trying to organize an online meeting with @markomanka and @Matthias to start this work.


@Matthias, I spoke to Marco yesterday. Can you please make time to have a call with me ASAP? Thanks!

Yes, just call me

@Alberto , I’m flexible with time atm, so just call me anytime you see me online in Skype. (This is my default way of operating btw – trying to be as flexible with coordination activities as possible.)

You could call right now, for example. Or anytime today except 2 hours somewhere in the afternoon. Making an appointment for today on short notice via Skype chat before is also workable.

Got it

I did not want to disrupt your flow. Also – you managed to get Skype working with Linux?

Anyway. After lunch I will turn Skype on and look for you.

Skype still works on Linux

One on one calls were never a problem with Skype on Linux, just group video calls were never possible, and group audio calls became mostly possible recently.

Meetings happened

With both Marco and Matt. The module will be installed on for testing purposes, probably tomorrow. Anyone wants to test it, ask for access ti the dev server.

Set up on How to proceed?

Ok, I have set up the consent funnel quiz according  to the instructions in the accompanying PDF. It’s on our test site  here. Instructions: log in before with your normal credentials  using this direct link, and make us give you an admin / content manager role to be able to see and manage that quiz, if you don’t have one.

I like the implementation with the Drupal Quiz module. It’s a creative use of that piece of software (albeit a bit overkill / heavyweight software, but it’s fine). My task was to figure out how the consent funnel quiz can be made a requirement before users can (for example) post content to the OpenCare group and / or an OpenCare Challenge. I had a look. There are no off-the-shelf methods for this behavior, and I estimate the best solution is this:

  1. Create a small custom module.
  2. Implement  hook_form_alter(), or perhaps more specifically  hook_form_node_form_alter().
  3. Determine if the user intends to post to the OpenCare group (via the og_ref GET parameter in the URL) or an OpenCare challenge (again via the og_ref GET parameter identifying the challenge, and a list of challenges considered to belong to OpenCare).
  4. Determine if the user has passed the consent funnel, using  quiz_is_passed().
  5. If the user did not yet pass the consent funnel, display a link to that quiz instead of the node creation form, and a link back to the node creation form at the end of the quiz.

I estimate this to be 1.5 – 2 days of developer time. @Alberto etc., please decide if this type of integration is what you are looking for, and who should do the development. Unfortunately there is no way to do the integration by just configuring things (though I had hoped there is, and there are some leads). So some coding has to be done, and I’d be happy to not having to do it right now. I can provide advice and a ready-to-use test platform though.



@markomanka, what do you think?

Makes sense

Thank you @Matthias for your insight… 2 days of full time developing on Drupal is not something I can find easily, since this is a technology that is not part of normal SCImPULSE’s operations. I would have to inquire around via friends once again… but so I hope will do everyone else as well @Alberto?

Not from friends…

No, we cannot find friends to do this. Has to be paid work. Matt will do it. But I have to ask you an important question before he starts, @markomanka .

…and the question is…?

@alberto you did not contact me yet… what is the question?

Opt out path

Yes, I was hoping to get together at the community call today, but I am still on the road and won’t make it, @markomanka .

The question is this. Testing the consent Drupal module led @Matthias and myself to figure out how to do the implementation. We have one remaining doubt: at this point, the funnel will not allow you to post until you answer correctly. This encodes three possible states:

  1. The user has completed the funnel. She is sharing her content in full understanding of what she is doing.
  2. The user has not managed to complete the funnel. She does not understand the implications of sharing her content.
  3. The user has not yet completed the tunnel. We assume she has read our policy and is OK with it.

But there is a fourth possible state: the user understands the implications of sharing, and decides, after all, not to. This means that the funnel “works” in enhancing her awareness. However, there is no way in the module for her to tell us, so that we can drop her previously submitted posts from the research material.

We suggest there should be an opt-out mode, where people explicitly deny their consent to having their material shared under the usual provisions. If they do this, their previously submitted material will be dropped from the Opencare research. Agreed?

How to incorporate that into the module?

In practice I do not expect this to happen. But Matt and I think this would be a more solid procedure.

How to proceed: let’s agree that ther would be an explicit opt out. Next, you and your people can add it to the module (which should be easy). Meanwhile, we build the integration and deploy as soon as both things are ready. We estimate two working days for the integration.

…please, don’t take for granted that a post is communication…

Hi @alberto

@massimo brought this to my attention. Since we are in touch on so many other channels, when you think there are standing issues, do not let me know by complaints during meetings. Communication, I am sure we agree, is more than leaving a post here. I understand you try to get the processes visible, but pinging me won’t hurt :wink:

I am not sure I understand your question.

There should be no scenario in which the user has just read the policies and agreed to it after the launch of the funnel. This could have only happened before the funnel, now the process is explicit and this state does not occur.

Concerning the “disagreeing awareness”, from a formal point of view it is not really a necessity: you have to be sure that those who did not fullfill the criteria for consent are not exposed to the “risk” of sharing their data on the platform. That is already respected by the current procedure, which forbids to proceed unless all answers were given (including the consent).

If for statistical purposes (profiling your users, reporting some metrics about the impact of the new funnel -but do you have the sample size to claim this scope?-, …) you would like to distinguish between the status of those who gave a negative response, and those who gave up answering, I imagine you would have to collect further data as well to make this distinction meaningful (did they leave half way because they found a show-stopper information? Or did they leave because they were not willing to engage in the funnel and they favoured the “don’t care, click and move on” approach? Did they experience technical issues? …?)

As stated earlier in a few of our conversations on- and off-line, the web platform is something shared with the consortium by the Edgeryders Ltd. We provided a module as a best effort (our task was to design and document the funnel, not to implement it), and were told we overshoot by adapting an existing module to our needs (a proof of our lack of expertise on Drupal, which is not something we use). We are not going to commit to any further back-end maintenance for the platform, which we never included in our proposal. But we are willing to assist you in designing processes and questions if you need it, of course.



Hm. What you write here does not match with what I understood from Matt. But I may have misunderstood him. Let me check and get back to you.

I am trying to keep things on a low number of channels. This thread has low urgency and high benefits from trackability, so I didn’t see fit to duplicate it elsewhere. If I am still unsure after going back to Matt, I’ll ask for a Skype or something.

Is it possible for people to get stuck in the consent module?


After reading @markomanka’s comment above, I am stuck with an unresolved doubt.

Consider the following situations:

  1. Alice tries to post on opencare, is served the consent funnel, but her answers show that she does not understand the questions. Will she be able to post on other parts of Edgeryders? Will she get stuck in the consent funnel?
  2. Bob has posted on OpenCare before the consent funnel was installed. He goes back for some more posting, but fails the test. What happens with his previous content? What if the text has received comments from users who have passed the consent funnel?

Concerning the two alternative scenarios you are describing, the following should be the right configuration:

  1. If Alice for whatever reasons fails to agree with the consent (abandomns, witholds consent, …) she should not be able to post on the OpenCare website, which has priority. Of course, for the benefit of your community, she should still be able to interact with threads outside of OpenCare, but that is not an issue of OpenCare as the EU project, just of the platform management.

  2. If Bob had posted before the new funnel has been made available, his past posts should be considered lawfully covered by the previous “standard” data management disclaimer, which is still valid for the rest of the Other people who have succesfully declared to consent should be able to comment further, but Bob should no longer be able to post/reply again, unless he changes is opinion and consents to the terms and risks of sharing information proposed in the funnel.

2bis) A different scenario would be if Bob after witholding his content requested all his information to be removed from the website. This procedure is regulated by the law, and is above our consent. In facts, at any given time a EU user has the right to request access to the information collected by the website about him (posts, logs, personal data shared at registration, …) and to order its amendment/deletion. If Bob asked to delete all his data, his previous posts should then disappear and become unusable to the research project, and unaccessible to any wannabe commenter. This is a fundamental requirement of any and every website in EU, indipendently of whether they ask for consent or just explain publicly their policies, so the management should already be able to handle this.

Roger that

Understood. I will now touch base with @Matthias .

Understood how it’s meant now, clarifying the problem

Thank you @markomanka for the explanations, I get now how it was intended to work.

However the issue is that your proposed way of a user removing all their content from the website, and thus from the research, does not exist. EU and national legislation mandates that we will remove all personally identifiable information on request (e-mail address, username etc.), however the content was released by our users under a Creative Commons licence according to our current terms. And “The CC licenses are irrevocable.”. Even if the user edited all their posts and deleted them, we could legally get the content from a backup or and use it with attribution as required by the Creative Commons licence. So if (and only if) there has to be a way for users to withhold their content from being included into the research in any form, we would need this fourth state proposed by Alberto (recording user’s decision to “disagree”).

cc @Alberto

(About the problem of this taking so long and causing friction in the project: we simply need some more efficient / faster way to communicate.)

Technical translation

  • There is a consent funnel somewhere, presumably called by a URL.
  • This is activated by trying to post an OpenCare challenge response.
  • Once a user completes successfully the funnel, completion is stored in a variable on the database, so that that user is "cleared".
  • If a user does not complete the funnel, she gets a page explaining that we need fully informed consent for her to be able to post, and contact us if she needs help (scenario 1 above). She can still post on Edgeryders, outside of the opencare space.
  • If the user does not complete successfully the funnel, her pre-funnel installation content is still considered publishable (scenario 2).
  • If the user requests a deletion of her content, of course we comply and – despite the irrevocability of the CC license – we do not use their content. for research purposes (scenario 2 bis). 

And a strategic decision

@Matthias, this is your call. We could decide to roll the consent funnel over the whole of Edgeryders, rather than just opencare.

It is overkill, but it could have ethical advantages with respect to the relationship between Edgeryders and the community. Do you think this is the way to go?