123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- // Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- // Messages containing configuration of Feedback Service
- // that control classification and processing of submitted feedbacks.
- syntax = "proto2";
- option optimize_for = LITE_RUNTIME;
- 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];
- };
|