Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copy mail report preferences tables to main schema #32

Open
preaction opened this issue Aug 17, 2018 · 0 comments
Open

Copy mail report preferences tables to main schema #32

preaction opened this issue Aug 17, 2018 · 0 comments

Comments

@preaction
Copy link
Member

In order for users to be able to edit their preferences for getting reports e-mailed to them we need access to their preferences from the schema. Currently, these preferences are in another database, cpanprefs, and two tables, prefs_authors and prefs_distributions.

We should copy these two tables into the main database and create Result classes for the fields inside, described below:

prefs_authors

  • pauseid - the PAUSE ID of the user
  • active - An integer, 0-3:
    • 0 if a new author we should send a welcome e-mail to. Once they get a welcome e-mail, set them to 1
    • 1 if we should send the normal report mail
    • 2 if the author is inactive or has requested no mail
    • 3 if the author wants "summary" mails. This value doesn't seem to be used by the report mailer
  • lastlogin - The epoch time of the last change to this author's preferences

prefs_distributions

  • pauseid - The PAUSE ID of the author
  • distribution - The distribution to configure, or - to set the author's default configuration
  • ignored - If true (1), ignore this distribution
  • report - The type of report to send for this distribution. An integer:
    • 1 - Daily report summary, the default
    • 2 - Weekly report summary, typically Saturday
    • 3 - Every single report, individually
    • 4 - Monthly report summary
    • 5 - Weekly summary (on Sunday)
    • 6 - Weekly summary (on Monday)
    • 7 - Weekly summary (on Tuesday)
    • 8 - Weekly summary (on Wednesday)
    • 9 - Weekly summary (on Thursday)
    • 10 - Weekly summary (on Friday)
    • 11 - Weekly summary (on Saturday)
  • grade - The grades to include in the report. A comma-separated list containing the following possible values:
    • PASS
    • FAIL
    • NA
    • UNKNOWN
    • NONE - Send no reports for this distribution (this can be present with other grades, making it not work correctly)
    • ALL - All grades are acceptable (this does not seem to be used in the database, but exists in the code)
  • tuple - Whether we should send multiple reports for the same platform, perl, and grade
    • FIRST - Only send the first report for the platform/perl/grade
    • ALL - Send all reports for the platform/perl/grade
  • version - What versions of the distribution to report on
    • LATEST - Only the latest version of the distribution
    • ALL - All versions of the distribution
    • NOT - The rest of the field is a comma-separated list of versions to not send reports on. This value exists in the database but is not handled in the mailer code
    • INC - XXX This value exists in the database but not the mailer code
  • platform - What OSes of the testers to report on
    • ALL - All OSes
    • NOT - The rest of the field is a comma-separated list of OS names to not send reports on
    • INC - The rest of the field is a comma-separated list of OS names to include in the report
  • patches - If true, include reports from patched Perls
  • perl
    • ALL - All perl versions
    • NOT - The rest of the field is a comma-separated list of Perl versions to not send reports on
    • INC - The rest of the field is a comma-separated list of Perl versions to include in the report
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant