Changes between Version 2 and Version 3 of UserOptInConsent


Ignore:
Timestamp:
Apr 24, 2018, 10:04:17 AM (7 years ago)
Author:
skwang
Comment:

changed implementation to use two tables instead of a single new field.

Legend:

Unmodified
Added
Removed
Modified
  • UserOptInConsent

    v2 v3  
    1717== Technical Implementation ==
    1818
    19 `User` table will need an additional field:
     19Two new tables: `consent` and `consenttype`
    2020
    21 * `privacy_consent_dt`, an additional `date` type attribute
     21* `consent`
     22 * `id` - the user id
     23 * `consent_id` - consent id
     24 * `consent_time` - `datetime` type attriute : unixtime of when user `id` gave consent to `consent_id`. If zero, user has not consented (yet).
    2225
    23 It's purpose is to store the datetime of the user's consent to the terms of use. If zero, user has not consented (yet).
     26* `consent_type`
     27  * `consent_id` - consent id
     28  * `description` - text field describing the consent that user gives (or has given).
     29
     30It is likely at first there will be one record in `consent_type`: the main terms-of-use a user consents to when joining the project. The `consent` table uses `id` and `consent_id` as the primary key, so a single user may consent to multiple items. This allows for flexibility - a project may decide to present a user with multiple items to consent to. Each can be recorded in the `consent` table with a different `consent_id`, whose description is stored in the `consent_type` table.
    2431
    2532=== RPC ===
    2633
    27 The main RPC that needs to be changed is `create_account.php`, which needs to fill this field when the user creates his/her account.
     34The main RPC that needs to be changed is `create_account.php`, which needs to insert a record into the `consent` table when the user creates his/her account- assuming s/he consents to a site's terms of use.
    2835
    2936=== Web site ===