= DDM Documentation
:!toc:
:icons: font
:stem: latexmath
:last-update-label!:
:favicon: static/img/ddl_favicon_black.svg

*DDM* (Data Donation Module) is an open-source Django/web application that helps researchers to
set up data donation projects and to collect data donations for academic research.

The application is intended to be hosted at an institutional level (e.g., a university, a university division, or a research conglomerate)
as it provides the possibility to host multiple independent data donation projects simultaneously.
Nevertheless, it is also possible to use it for single projects.

It is developed by the Media Use and Effects Division at the University of Zurich.
The Data Donation Module is embedded in the Data Donation Lab, a larger initiative of the University of Zurich and the Digital
Society Initiative to strengthen the exchange about the topic of data donations and
promote this data collection approach. For more information, visit https://datadonation.uzh.ch.

NOTE: This project is currently under active development.

== Overview of DDM

=== Core Functionality

The Data Donation Module enables researchers to setup a data donation project that, from the participants' perspective, consists of the following steps:

*1) Briefing Page* +
At the beginning, participants are presented with a briefing page.
On this page, researchers can describe their project, brief participants about the upcoming steps,
and optionally obtain explicit consent for participation.


*2) Data Donation* +
Next, participants are presented with a user interface through which they can donate their data.
This interface consists of `(1)` a set of instructions, `(2)` a data upload form, and `(3)` a feedback area.

The participation flow in this step looks as follows:

a. The participant reads the instructions and downloads/finds the relevant file on their PC.
b. The participant uploads their data with the provided upload form.
c. The uploaded data is filtered and transformed according to the rules defined by the researcher (e.g., only certain fields are extracted).
d. The participant is presented with the filtered/transformed data which they will be donating to the researchers.
e. Based on `d`, the participant can decide whether to donate their data (i.e., submit their data to the reseacher's server).

Steps `b` to `d` are all client-based and executed in the participant's browser. No personal data is submitted until step `e`.


*3) Follow-Up Questionnaire* (optional) +
After the data donation, participants can optionally be presented with a questionnaire.
Questions defined in this questionnaire can be configured to include data points from the donated data – either to
enrich the donated data or to provide participants with insights into their personal data.


*4) End/Debriefing Page* +
Lastly, participants are presented with a debriefing page. From here, participants can optionally be redirected to another website or web application.


== Documentation Structure

Different parts of the documentation are targeted at different user groups of the application.

*xref:for_researchers.adoc[Documentation for Researchers]*: This section is for researchers who use DDM to set up their data donation projects on an
existing application server.

*xref:for_admins.adoc[Documentation for Administrator]*: This section is for server administrators who want to set up a server to host DDM.

*xref:for_developers.adoc[Documentation for Developers]*: This section is for developers who want to contribute to the development of DDM or want
to fork and extend DDM on their own.

Furthermore, the section *xref:topic_references.adoc[Topic References]* contains more detailed information on various specialized topics.

