Skip to content

2017 study domains (GenericForeignKey)

Bengfort requested to merge 2017-study-domains-gfk into main

This is a first attempt to support more than one domain for a study.

Form an UI perspective, the interesting bit is that the domain keys (UUIDs) are now prominently displayed in the UI. It is made clear that pseudonyms are meaningless without a domain. The new domain view in study management view is extremely simple but provides space to explain the concept in-app.

Form an architecture perspective, the pseudonyms app is now less isolated and can no longer be split into its own database. Django's GenericForeignKey mechanism is used to store the relation between domains and studies or session. The UUID is no longer used internally.

An alternative would be to add a name field to the Domain model. This would probably improve usability compared to the unwieldy UUIDs. You could argue that this adds sensitive information to the otherwise completely abstract pseudonyms app. However, with the architectual change described above we basically already have that situation.

Merge request reports