| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Messages containing configuration of Feedback Service | |
| 6 // that control classification and processing of submitted feedbacks. | |
| 7 | |
| 8 syntax = "proto2"; | |
| 9 | |
| 10 option optimize_for = LITE_RUNTIME; | |
| 11 | |
| 12 package userfeedback; | |
| 13 | |
| 14 // Product for which feedback can be sent: GMail, Writely etc. | |
| 15 message Product { | |
| 16 required int32 id = 1; | |
| 17 | |
| 18 required string name = 2; | |
| 19 | |
| 20 repeated string owner = 3; | |
| 21 }; | |
| 22 | |
| 23 // Contains information needed to check whether particular | |
| 24 // feedback type applies to the page user is browsing and forward | |
| 25 // it's execution to a specific handler. It also carries information | |
| 26 // about the creator. | |
| 27 // TODO(morgwai): design new structure of Type with fields relevant | |
| 28 // for android, web, selenium grouped into submessages. | |
| 29 message FeedbackTypeData { | |
| 30 // index of feedback type as found in database | |
| 31 required int32 id = 1; | |
| 32 | |
| 33 // Specifies whether this feedback type is currently enabled and | |
| 34 // feedback of this type can be submitted. | |
| 35 required bool enabled = 2; | |
| 36 | |
| 37 // Problem name of this feedback type on Google Feedback pages. | |
| 38 required string problem_name = 3; | |
| 39 | |
| 40 // Name of the product to which this feedback type belongs. | |
| 41 optional string product_name = 4; | |
| 42 | |
| 43 // Tag 5 is used by some legacy data that is already in production db. | |
| 44 | |
| 45 // matcher to execute against page | |
| 46 required MatcherData matcher = 6; | |
| 47 | |
| 48 // Comma separated list of email addresses to which email notification | |
| 49 // is sent upon each new feedback of this type. | |
| 50 // No email is sent if this field is set to an empty string. | |
| 51 required string notification_email = 7; | |
| 52 | |
| 53 // Do not use tag 8, 9, 10. They were used by a legacy field. | |
| 54 | |
| 55 // Encapsulates different kind of feedback type. | |
| 56 enum Kind { | |
| 57 // Product feedback type. | |
| 58 PRODUCT = 1; | |
| 59 // Special feedback type (e.g. fixit). | |
| 60 SPECIAL = 2; | |
| 61 } | |
| 62 | |
| 63 // Kind of feedback type. | |
| 64 optional Kind kind = 11 [default=PRODUCT]; | |
| 65 | |
| 66 // Prefix to be added to summary of notification email sent for feedback of th
is | |
| 67 // type. | |
| 68 optional string summary_prefix = 12; | |
| 69 | |
| 70 // String template with which "Additional Info" field in extension | |
| 71 // should be initially filled. | |
| 72 optional string template = 13; | |
| 73 | |
| 74 // ID of the product this feedback type belongs to. | |
| 75 optional int32 product_id = 14; | |
| 76 | |
| 77 // Tag that is used for marking feedback types that require non-ordinary handl
ing. | |
| 78 // E.g: This field is equal: | |
| 79 // "unclassified" for Unclassified feedback, | |
| 80 // "android" for android feedback | |
| 81 // "selenium" for selenium feedback | |
| 82 optional string tag = 15; | |
| 83 | |
| 84 // Problem description visible in feedback extension. | |
| 85 optional string problem_description = 16; | |
| 86 | |
| 87 // Visibilities of feedback type. | |
| 88 enum Visibility { | |
| 89 // feedback type visible in external extension only | |
| 90 EXTERNAL = 1; | |
| 91 // feedback type visible in internal extension only | |
| 92 INTERNAL = 2; | |
| 93 } | |
| 94 | |
| 95 // Specifies the visibility of this feedback type. | |
| 96 optional Visibility visibility = 17 [default=INTERNAL]; | |
| 97 | |
| 98 // tag 18 was used by removed field | |
| 99 | |
| 100 // Specifies Buganizer fields | |
| 101 // TODO(kaczmarek): enable once we migrated to new protos. | |
| 102 // optional BuganizerSettings buganizer_settings = 19; | |
| 103 | |
| 104 // Channel via which notification about feedback should be send | |
| 105 enum NotifyChannel { | |
| 106 // Send email notification. | |
| 107 EMAIL = 1; | |
| 108 // File a bug in buganizer. | |
| 109 BUGANIZER = 2; | |
| 110 // File a bug in issue tracker. | |
| 111 ISSUE_TRACKER = 3; | |
| 112 } | |
| 113 | |
| 114 // Specifies channel via which notification about feedback of this type should
be sent. | |
| 115 optional NotifyChannel notify_channel = 20 [default=EMAIL]; | |
| 116 | |
| 117 // Granularity of notifications. | |
| 118 enum NotificationGranularity { | |
| 119 // Send notification per each feedback. | |
| 120 FEEDBACK = 1; | |
| 121 // Send notification per clustered group of similar feedbacks. | |
| 122 CLUSTER = 2; | |
| 123 } | |
| 124 | |
| 125 // Specifies granularity of notifications send for feedbacks of this type. | |
| 126 optional NotificationGranularity notification_granularity = 21 [default=FEEDBA
CK]; | |
| 127 | |
| 128 // Threshold for number of feedbacks in a cluster at which notification is sen
t. | |
| 129 optional int32 clustering_threshold = 22 [default=5]; | |
| 130 }; | |
| 131 | |
| 132 // Used to detect content relevant to particular type of feedback. | |
| 133 message MatcherData { | |
| 134 // XPATH expression to match against page. | |
| 135 required string content_matcher = 1; | |
| 136 | |
| 137 // Regexp matching page URL. | |
| 138 required string url_matcher = 2; | |
| 139 | |
| 140 // Approval by feedback admins | |
| 141 optional bool url_matcher_approved = 3 [default=true]; | |
| 142 }; | |
| OLD | NEW |