Confirmed users
1,927
edits
m (→Strings) |
m (added Category:BMO using HotCat) |
||
| (20 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
This is a project to add a user profile page into Bugzilla. It would show a few stats summing up particular actions or contributions by the user, and would be visible to all logged in users. | This is a project to add a user profile page into Bugzilla. It would show a few stats summing up particular actions or contributions by the user, and would be visible to all logged in users. | ||
In this version of the profile, the user does not have to upload or fill in any fields, as the entire profile is generated from data within Bugzilla. | In this version of the profile, the user does not have to upload or fill in any fields, as the entire profile is generated from data within Bugzilla (except for the Mozillians username field). | ||
Bug filed at: | Bug filed at: {{bug|859550}} | ||
[ateamtrack: p=bugzilla q=2 m=1] | [ateamtrack: p=bugzilla q=2 m=1] | ||
| Line 13: | Line 13: | ||
* Name: lizzard | * Name: lizzard | ||
* | * Email: lhenry@mozilla.com | ||
* Mozillians.org profile: [link ] | * Mozillians.org profile: [link ] | ||
* Last activity: 2013-03-26 | * Last activity: 2013-03-26 | ||
* Bugs filed: 13 | * Bugs filed: 13 | ||
* Comments made: 46 | |||
* Assigned to: 1 | |||
* Commented on: 53 | * Commented on: 53 | ||
* Confirmed: 10 | * Confirmed: 10 | ||
| Line 24: | Line 26: | ||
* Patches submitted: 0 | * Patches submitted: 0 | ||
* Patches reviewed: 0 | * Patches reviewed: 0 | ||
* Bugs poked: 155 | |||
* Bugs poked: | |||
Activity: | |||
Statuses changed: RESOLVED (20), INVALID (3), FIXED (5), VERIFIED (5) | |||
By Product: Core(2), Firefox(5), FirefoxOS(0), Firefox for Android(1), Firefox for Metro(0), Toolkit(1), Marketplace(1), Thunderbird(1), SeaMonkey(1), Mozilla Localizations(3), Mozilla Services(1), Other Products(10) | |||
<small>[https://wiki.mozilla.org/BMO/User_profile_fields What do these fields mean?] </small> | |||
------------------------- | ------------------------- | ||
| Line 43: | Line 43: | ||
* The number should link to a bugzilla query. | * The number should link to a bugzilla query. | ||
* The field names should each have a tooltip short description. Each field name could also either be links themselves, or could have a "more info" long description which might be either an explanation or a link to an external page. (In this case probably a WMO page.) | * The field names should each have a tooltip short description. Each field name could also either be links themselves, or could have a "more info" long description which might be either an explanation or a link to an external page. (In this case probably a WMO page.) | ||
* | * The Mozillians link is simply a link to the user-provided Mozillians profile page. There will be no API level integration with mozillians.org at this stage. | ||
=== Questions === | === Questions === | ||
* Should we include private bugs, comments, and attachments? | |||
** Having different counts depending on what the viewing user can see is not viable | |||
** Will assume public-only data unless told otherwise | |||
* Should patches submitted be all the ones submitted? obsolete ones too? | * Should patches submitted be all the ones submitted? obsolete ones too? | ||
* Should we give a different stat for patches reviewed + accepted? | * Should we give a different stat for patches reviewed + accepted? | ||
* Bugs assigned would be all of them ever for this user, not just open ones. Would only the current assignee "count"? If the assignee changes, do they both increment?) | * Bugs assigned would be all of them ever for this user, not just open ones. Would only the current assignee "count"? If the assignee changes, do they both increment?) | ||
=== Strings === | === Strings === | ||
( | ({{bug|862441}} and {{bug|859550}}) | ||
The user profiles will have a link "What do these fields mean?" that leads to [https://wiki.mozilla.org/BMO/User_profile_fields User profile fields] rather than the original idea of descriptions in tooltips for each field. | |||
Clicking on the field names in the profile would take the user to that term (anchor text) on a page with descriptions of all the user profile field names. | Clicking on the field names in the profile would take the user to that term (anchor text) on a page with descriptions of all the user profile field names. | ||
| Line 65: | Line 65: | ||
'''Last activity''' | '''Last activity''' | ||
The date and time a user last | The date and time a user last reported, changed or commented on a bug in bugzilla. Link to user activity report for the last 30 days. | ||
'''Bugs filed''' | '''Bugs filed''' | ||
| Line 74: | Line 74: | ||
The total number of bugs that the user has commented on. More info: <a href="https://bugzilla.mozilla.org/page.cgi?id=etiquette.html">Bugzilla etiquette</a> | The total number of bugs that the user has commented on. More info: <a href="https://bugzilla.mozilla.org/page.cgi?id=etiquette.html">Bugzilla etiquette</a> | ||
'''Comments made''' | |||
The total number of comments that the user has added. More info: <a href="https://bugzilla.mozilla.org/page.cgi?id=etiquette.html">Bugzilla etiquette</a> | |||
'''Confirmed''' | '''Confirmed''' | ||
| Line 131: | Line 135: | ||
* '''Other Products''' | * '''Other Products''' | ||
=== | == Implementation Notes == | ||
Add a field to the ''profiles'' table which is used to track if a user's statistics need to be updated (triggered when the user file/updates/comments on a bug). Schedule a cron job to run at an off-peak time which updates the statistics for users. Expose those statistics via a package which monkey patches a getter into the User package. | |||
Administrative actions, such as editing a user, group, product, etc, should also trigger the statistics to be updated. | |||
''note'' This "dirty-only" approach may not be viable, as changing a bug's visibility will changes bug counts for everyone who has interacted with the patch (assuming only public bug data is displayed). | |||
=== Schema === | |||
'''profiles_statistics''' | |||
* id ''identity'' | |||
* user_id ''fk profile.userid'' | |||
* name ''varchar30'' | |||
* count ''int'' | |||
'''profiles_statistics_status''' | |||
* id ''identity'' | |||
* user_id ''fk profile.userid'' | |||
* status ''varchar64'' | |||
* count ''int'' | |||
'''profiles_statistics_products''' | |||
* id ''identity'' | |||
* user_id ''fk profile.userid'' | |||
* product_id ''fk products.id'' (when 0, refers to 'other' products) | |||
* count ''int'' | |||
new fields: | |||
* profiles.mozillians_id ''varchar30'' (mozillians.org username) | |||
* profiles.last_activity_ts ''datetime'' timestamp of most recent update, comment, etc | |||
* profiles.last_statistics_ts ''datetime'' timestamp of last time the statistics were generated for this user | |||
=== Data Points === | |||
* '''last_activity''' : from ''profiles.last_activity_ts'' | |||
* '''bugs_filed''' : simple count from bugs table (public bugs only) | |||
* '''comments''' : simple count from longdescs table (public comments only on public bugs) | |||
* '''commented_on''' : simple count from longdescs table (public comments only on public bugs) | |||
* '''confirmed''' : bugs_activity where field=status and removed='UNCONFIRMED' (public bugs only) | |||
* '''qa_contact''' : simple count from bugs table (public bugs only) | |||
* '''patches''' : simple count from attachments table (public bugs and attachments only) | |||
* '''reviews''' : review+ flags count (public bugs and attachments only) | |||
* '''assigned''' : simple count from bugs table (public bugs only) | |||
* '''touched''' : simple count from bugs_activity + longdescs table (public bugs, comments and attachments only) | |||
* '''by-status activity counters''' : simple count from bugs_activity table (public bugs only) | |||
* '''by-product activity counters''' : simple count from bugs_activity + longdescs table (public bugs, comments and attachments only) | |||
[[Category:BMO]] | |||