summaryrefslogtreecommitdiffstats
path: root/chrome/browser/userfeedback/proto/config.proto
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2010-07-29 17:14:53 +0100
committerBen Murdoch <benm@google.com>2010-08-04 14:29:45 +0100
commitc407dc5cd9bdc5668497f21b26b09d988ab439de (patch)
tree7eaf8707c0309516bdb042ad976feedaf72b0bb1 /chrome/browser/userfeedback/proto/config.proto
parent0998b1cdac5733f299c12d88bc31ef9c8035b8fa (diff)
downloadexternal_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.proto139
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];
+};