diff options
author | Ben Murdoch <benm@google.com> | 2010-07-29 17:14:53 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-08-04 14:29:45 +0100 |
commit | c407dc5cd9bdc5668497f21b26b09d988ab439de (patch) | |
tree | 7eaf8707c0309516bdb042ad976feedaf72b0bb1 /chrome/browser/userfeedback/proto/config.proto | |
parent | 0998b1cdac5733f299c12d88bc31ef9c8035b8fa (diff) | |
download | external_chromium-c407dc5cd9bdc5668497f21b26b09d988ab439de.zip external_chromium-c407dc5cd9bdc5668497f21b26b09d988ab439de.tar.gz external_chromium-c407dc5cd9bdc5668497f21b26b09d988ab439de.tar.bz2 |
Merge Chromium src@r53293
Change-Id: Ia79acf8670f385cee48c45b0a75371d8e950af34
Diffstat (limited to 'chrome/browser/userfeedback/proto/config.proto')
-rw-r--r-- | chrome/browser/userfeedback/proto/config.proto | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/chrome/browser/userfeedback/proto/config.proto b/chrome/browser/userfeedback/proto/config.proto new file mode 100644 index 0000000..f36c482 --- /dev/null +++ b/chrome/browser/userfeedback/proto/config.proto @@ -0,0 +1,139 @@ +// Copyright 2009 Google Inc. All Rights Reserved. +// Author: morgwai@google.com (Morgwai Kotarbinski) +// +// Messages containing configuration of Feedback Service +// that control classification and processing of submitted feedbacks. + +syntax = "proto2"; + +package userfeedback; + +// Product for which feedback can be sent: GMail, Writely etc. +message Product { + required int32 id = 1; + + required string name = 2; + + repeated string owner = 3; +}; + +// Contains information needed to check whether particular +// feedback type applies to the page user is browsing and forward +// it's execution to a specific handler. It also carries information +// about the creator. +// TODO(morgwai): design new structure of Type with fields relevant +// for android, web, selenium grouped into submessages. +message FeedbackTypeData { + // index of feedback type as found in database + required int32 id = 1; + + // Specifies whether this feedback type is currently enabled and + // feedback of this type can be submitted. + required bool enabled = 2; + + // Problem name of this feedback type on Google Feedback pages. + required string problem_name = 3; + + // Name of the product to which this feedback type belongs. + optional string product_name = 4; + + // Tag 5 is used by some legacy data that is already in production db. + + // matcher to execute against page + required MatcherData matcher = 6; + + // Comma separated list of email addresses to which email notification + // is sent upon each new feedback of this type. + // No email is sent if this field is set to an empty string. + required string notification_email = 7; + + // Do not use tag 8, 9, 10. They were used by a legacy field. + + // Encapsulates different kind of feedback type. + enum Kind { + // Product feedback type. + PRODUCT = 1; + // Special feedback type (e.g. fixit). + SPECIAL = 2; + } + + // Kind of feedback type. + optional Kind kind = 11 [default=PRODUCT]; + + // Prefix to be added to summary of notification email sent for feedback of this + // type. + optional string summary_prefix = 12; + + // String template with which "Additional Info" field in extension + // should be initially filled. + optional string template = 13; + + // ID of the product this feedback type belongs to. + optional int32 product_id = 14; + + // Tag that is used for marking feedback types that require non-ordinary handling. + // E.g: This field is equal: + // "unclassified" for Unclassified feedback, + // "android" for android feedback + // "selenium" for selenium feedback + optional string tag = 15; + + // Problem description visible in feedback extension. + optional string problem_description = 16; + + // Visibilities of feedback type. + enum Visibility { + // feedback type visible in external extension only + EXTERNAL = 1; + // feedback type visible in internal extension only + INTERNAL = 2; + } + + // Specifies the visibility of this feedback type. + optional Visibility visibility = 17 [default=INTERNAL]; + + // tag 18 was used by removed field + + // Specifies Buganizer fields + // TODO(kaczmarek): enable once we migrated to new protos. + // optional BuganizerSettings buganizer_settings = 19; + + // Channel via which notification about feedback should be send + enum NotifyChannel { + // Send email notification. + EMAIL = 1; + // File a bug in buganizer. + BUGANIZER = 2; + // File a bug in issue tracker. + ISSUE_TRACKER = 3; + } + + // Specifies channel via which notification about feedback of this type should be sent. + optional NotifyChannel notify_channel = 20 [default=EMAIL]; + + // Granularity of notifications. + enum NotificationGranularity { + // Send notification per each feedback. + FEEDBACK = 1; + // Send notification per clustered group of similar feedbacks. + CLUSTER = 2; + } + + // Specifies granularity of notifications send for feedbacks of this type. + optional NotificationGranularity notification_granularity = 21 [default=FEEDBACK]; + + // Threshold for number of feedbacks in a cluster at which notification is sent. + optional int32 clustering_threshold = 22 [default=5]; +}; + +// Used to detect content relevant to particular type of feedback. +message MatcherData { + // XPATH expression to match against page. + required string content_matcher = 1; + + // Regexp matching page URL. + required string url_matcher = 2; + + // Approval by feedback admins + optional bool url_matcher_approved = 3 [default=true]; +}; |