compdemocracy / polis

:milky_way: Open Source AI for large scale open ended feedback
https://pol.is
GNU Affero General Public License v3.0
719 stars 170 forks source link

Add ability to email xid participation links to a set of emails #1693

Open metasoarous opened 1 year ago

metasoarous commented 1 year ago

Problem: Many adoption cases require closed participation among a predefined set of participants. There are ways of accomplishing this, but they are somewhat technical, and either require a technical person on the side of those running the conversation, or work on the part of instance maintainers.

Suggested solution: Would be great to be able to have a tool (either within the admin interface, or as a standalone app) that you can paste a list of emails into, and have it send unique urls (using randomly generated UUID4 xids) to the specified emails.

Open questions: Will have to consider whether we store the emails for this or not. For GDPR and privacy concerns, we'd ideally just process the email and then forget it. But for identification purposes, if someone asks to have an email resent because the first went to spam (e.g.), they could be gaming the system by effectively adding additional weight to their opinions by using two participation urls (or sending one to someone who wasn't supposed to be invited to the conversation). So may be worth considering whether we temporary store a mapping of email to xid/UUID so that this can be avoided by sending the same url to participants with the same email (for a given conversation).

Additional context: Will need to resolve #1692 before this is possible.

metasoarous commented 1 year ago

Note: Will also want as part of this tool the ability to add generated xids to the xidwhitelist to ensure no one else can participate (as an option).

metasoarous commented 1 year ago

There are already sendSuzinviteEmail and handle_POST_users_invite request in server.ts; Not sure if this still works, or how easy it would be to resurrect, though some of the text would need to be changed (right now it says "Welcome to pol.is! Click this link to open your account:"; Should be closer to "You have been invited to join a Polis conversation! Please click below to participate:"; maybe should even support custom messaging, but not necessary initially).