From ba94c20f17a878a867dab5f702f83e885f4251a0 Mon Sep 17 00:00:00 2001 From: nscuro Date: Fri, 14 Feb 2025 00:09:49 +0100 Subject: [PATCH] Add telemetry admin view Signed-off-by: nscuro --- src/i18n/locales/de.json | 6 + src/i18n/locales/en.json | 6 + src/i18n/locales/es.json | 6 + src/i18n/locales/fr.json | 6 + src/i18n/locales/hi.json | 6 + src/i18n/locales/it.json | 6 + src/i18n/locales/ja.json | 6 + src/i18n/locales/pl.json | 6 + src/i18n/locales/pt-BR.json | 6 + src/i18n/locales/pt.json | 6 + src/i18n/locales/ru.json | 6 + src/i18n/locales/uk-UA.json | 6 + src/i18n/locales/zh.json | 6 + src/router/index.js | 13 ++ src/views/administration/AdminMenu.vue | 5 + src/views/administration/Administration.vue | 2 + .../configuration/Telemetry.vue | 124 ++++++++++++++++++ 17 files changed, 222 insertions(+) create mode 100644 src/views/administration/configuration/Telemetry.vue diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index bc4655651..eedb33328 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -100,6 +100,7 @@ "enable_email": "E-Mail aktivieren", "enable_index_consistency_check": "Regelmäßige Konsistenzprüfungen aktivieren", "enable_svg_badge": "Nicht authentifizierten SVG-Badge-Zugriff aktivieren", + "enable_telemetry_submission": "Übermittlung von Telemetriedaten aktivieren", "enabled": "Aktiviert", "enabled_for_tags": "Aktiviert für Tags", "experimental": "Experimentell", @@ -194,6 +195,7 @@ "permissions": "Berechtigungen", "personal_access_token": "Persönlicher Zugriffstoken", "portfolio_access_control": "Portfolio-Zugriffskontrolle", + "preferences": "Einstellungen", "preview": "Vorschau", "project_access": "Projektzugriff", "publisher": "Publisher", @@ -253,6 +255,10 @@ "team_membership": "Teammitgliedschaft", "team_name": "Teamname", "teams": "Teams", + "telemetry": "Telemetrie", + "telemetry_last_submission": "Letzte Übermittlung", + "telemetry_no_data_submitted_yet": "Noch keine Telemetriedaten übermittelt.", + "telemetry_submitted_at": "Übermittelt: {timestamp}", "template": "Vorlage", "template_basedir": "Basisverzeichnis für Vorlagen", "template_basedir_tooltip": "Diese Eigenschaft wird als Basisverzeichnis für die Suche nach Benachrichtigungsvorlagen verwendet.", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 95329abbc..99fa50ab3 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -100,6 +100,7 @@ "enable_email": "Enable email", "enable_index_consistency_check": "Enable periodic consistency check", "enable_svg_badge": "Enable unauthenticated SVG badge access", + "enable_telemetry_submission": "Enable telemetry submission", "enabled": "Enabled", "enabled_for_tags": "Enabled for tags", "experimental": "Experimental", @@ -194,6 +195,7 @@ "permissions": "Permissions", "personal_access_token": "Personal Access Token", "portfolio_access_control": "Portfolio Access Control", + "preferences": "Preferences", "preview": "Preview", "project_access": "Project access", "publisher": "Publisher", @@ -253,6 +255,10 @@ "team_membership": "Team membership", "team_name": "Team Name", "teams": "Teams", + "telemetry": "Telemetry", + "telemetry_last_submission": "Last submission", + "telemetry_no_data_submitted_yet": "No telemetry data submitted yet.", + "telemetry_submitted_at": "Submitted: {timestamp}", "template": "Template", "template_basedir": "Template base directory", "template_basedir_tooltip": "This property is used as base directory for notification templates search", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 8e49bd6bb..006ebe8be 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -100,6 +100,7 @@ "enable_email": "Habilitar correo electrónico", "enable_index_consistency_check": "Habilitar la verificación periódica de coherencia", "enable_svg_badge": "Habilitar el acceso a la insignia SVG sin autenticar", + "enable_telemetry_submission": "Habilitar la envío de telemetría", "enabled": "Activado", "enabled_for_tags": "Habilitado para etiquetas", "experimental": "Experimental", @@ -194,6 +195,7 @@ "permissions": "Permisos", "personal_access_token": "Token de acceso personal", "portfolio_access_control": "Control de acceso al portafolio", + "preferences": "Preferencias", "preview": "Avance", "project_access": "Acceso al proyecto", "publisher": "Editor", @@ -253,6 +255,10 @@ "team_membership": "Membresía del equipo", "team_name": "Nombre del equipo", "teams": "equipos", + "telemetry": "Telemetría", + "telemetry_last_submission": "Última presentación", + "telemetry_no_data_submitted_yet": "No hay datos de telemetría enviados todavía.", + "telemetry_submitted_at": "Enviado: {timestamp}", "template": "Plantilla", "template_basedir": "Directorio base de plantillas", "template_basedir_tooltip": "Esta propiedad se utiliza como directorio base para la búsqueda de plantillas de notificación.", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 92525a099..2a1fc210e 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -100,6 +100,7 @@ "enable_email": "Activer l'envoi de courriels", "enable_index_consistency_check": "Activer le contrôle de cohérence périodique", "enable_svg_badge": "Activer l'accès au badge SVG non authentifié", + "enable_telemetry_submission": "Activer la soumission de télémétrie", "enabled": "Activé", "enabled_for_tags": "Activé pour les balises", "experimental": "Expérimental", @@ -194,6 +195,7 @@ "permissions": "Autorisations", "personal_access_token": "Jeton d'accès personnel", "portfolio_access_control": "Contrôle d'accès au portefolio", + "preferences": "Préférences", "preview": "Aperçu", "project_access": "Accès au projet", "publisher": "Éditeur", @@ -253,6 +255,10 @@ "team_membership": "Équipes d'appartenance", "team_name": "Nom de l'équipe", "teams": "Équipes", + "telemetry": "Télémétrie", + "telemetry_last_submission": "Dernière soumission", + "telemetry_no_data_submitted_yet": "Aucune donnée de télémétrie soumise encore.", + "telemetry_submitted_at": "Soumis: {timestamp}", "template": "Modèle", "template_basedir": "Répertoire de base du modèle", "template_basedir_tooltip": "Cette propriété est utilisée comme répertoire de base pour la recherche de modèles de notification", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index 1fa6a5628..d34bbc631 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -100,6 +100,7 @@ "enable_email": "ईमेल सक्षम करें", "enable_index_consistency_check": "आवधिक संगतता जांच सक्षम करें", "enable_svg_badge": "अप्रमाणित एसवीजी बैज एक्सेस सक्षम करें", + "enable_telemetry_submission": "टेलीमेट्री सबमिशन सक्षम करें", "enabled": "सक्रिय", "enabled_for_tags": "टैग के लिए सक्षम", "experimental": "प्रयोगात्मक", @@ -194,6 +195,7 @@ "permissions": "अनुमतियां", "personal_access_token": "व्यक्तिगत एक्सेस टोकन", "portfolio_access_control": "पोर्टफोलियो एक्सेस नियंत्रण", + "preferences": "वरीयताएँ", "preview": "पूर्व दर्शन", "project_access": "परियोजना तक पहुंच", "publisher": "प्रकाशक", @@ -253,6 +255,10 @@ "team_membership": "टीम सदस्यता", "team_name": "टीम का नाम", "teams": "टीमें", + "telemetry": "टेलीमेटरी", + "telemetry_last_submission": "अंतिम सबमिशन", + "telemetry_no_data_submitted_yet": "अभी तक कोई टेलीमेट्री डेटा प्रस्तुत नहीं किया गया है।", + "telemetry_submitted_at": "प्रस्तुत: {timestamp}", "template": "खाका", "template_basedir": "टेम्पलेट आधार निर्देशिका", "template_basedir_tooltip": "इस प्रॉपर्टी का उपयोग अधिसूचना टेम्पलेट खोज के लिए आधार निर्देशिका के रूप में किया जाता है", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 213455d20..93e59c97c 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -100,6 +100,7 @@ "enable_email": "Abilita e-mail", "enable_index_consistency_check": "Abilita il controllo periodico della coerenza", "enable_svg_badge": "Abilita l'accesso al badge SVG non autenticato", + "enable_telemetry_submission": "Abilita l'invio della telemetria", "enabled": "Abilitato", "enabled_for_tags": "Abilitato per i tag", "experimental": "Sperimentale", @@ -194,6 +195,7 @@ "permissions": "Autorizzazioni", "personal_access_token": "Token di accesso personale", "portfolio_access_control": "Controllo degli accessi al portafoglio", + "preferences": "Preferenze", "preview": "Anteprima", "project_access": "Accesso al progetto", "publisher": "Editore", @@ -253,6 +255,10 @@ "team_membership": "Appartenenza alla squadra", "team_name": "Nome della squadra", "teams": "Squadre", + "telemetry": "Telemetria", + "telemetry_last_submission": "Ultima sottomissione", + "telemetry_no_data_submitted_yet": "Nessun dato di telemetria ancora inviato.", + "telemetry_submitted_at": "Inviato: {timestamp}", "template": "Modello", "template_basedir": "Directory di base del modello", "template_basedir_tooltip": "Questa proprietà viene utilizzata come directory di base per la ricerca dei modelli di notifica", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index e4f7eabfd..227fb784a 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -100,6 +100,7 @@ "enable_email": "メールを有効にする", "enable_index_consistency_check": "定期的な整合性チェックを有効にする", "enable_svg_badge": "認証されていない SVG バッジ アクセスを有効にする", + "enable_telemetry_submission": "テレメトリの提出を有効にします", "enabled": "有効", "enabled_for_tags": "タグに対して有効化", "experimental": "実験的", @@ -194,6 +195,7 @@ "permissions": "権限", "personal_access_token": "パーソナルアクセストークン", "portfolio_access_control": "ポートフォリオアクセス制御", + "preferences": "好み", "preview": "プレビュー", "project_access": "プロジェクトへのアクセス", "publisher": "パブリッシャー", @@ -253,6 +255,10 @@ "team_membership": "チームメンバーシップ", "team_name": "チームの名前", "teams": "チーム", + "telemetry": "テレメトリー", + "telemetry_last_submission": "最後の提出", + "telemetry_no_data_submitted_yet": "まだ送信されていません。", + "telemetry_submitted_at": "提出:{timestamp}", "template": "テンプレート", "template_basedir": "テンプレートベースディレクトリ", "template_basedir_tooltip": "このプロパティは通知テンプレート検索のベースディレクトリとして使用されます", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 0d79a37a2..96a142db4 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -100,6 +100,7 @@ "enable_email": "Włącz pocztę e-mail", "enable_index_consistency_check": "Włącz okresową kontrolę spójności", "enable_svg_badge": "Włącz nieuwierzytelniony dostęp do plakietki SVG", + "enable_telemetry_submission": "Włącz zgłoszenie telemetryczne", "enabled": "Włączony", "enabled_for_tags": "Włączono dla tagów", "experimental": "Eksperymentalny", @@ -194,6 +195,7 @@ "permissions": "Uprawnienia", "personal_access_token": "Osobisty token dostępu", "portfolio_access_control": "Kontrola dostępu do portfela", + "preferences": "Preferencje", "preview": "Zapowiedź", "project_access": "Dostęp do projektu", "publisher": "Wydawca", @@ -253,6 +255,10 @@ "team_membership": "Członkostwo w zespole", "team_name": "Nazwa drużyny", "teams": "Zespoły", + "telemetry": "Telemetria", + "telemetry_last_submission": "Ostatnie zgłoszenie", + "telemetry_no_data_submitted_yet": "Brak danych telemetrycznych.", + "telemetry_submitted_at": "Przesłane: {timestamp}", "template": "Szablon", "template_basedir": "Katalog bazowy szablonów", "template_basedir_tooltip": "Ta właściwość służy jako katalog bazowy do wyszukiwania szablonów powiadomień", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index dcedb44c9..e4302a860 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -100,6 +100,7 @@ "enable_email": "Ativar e-mail", "enable_index_consistency_check": "Habilitar verificação periódica de consistência", "enable_svg_badge": "Ativar acesso não autenticado ao crachá SVG", + "enable_telemetry_submission": "Ativar envio de telemetria", "enabled": "Habilitado", "enabled_for_tags": "Ativado para tags", "experimental": "Experimental", @@ -194,6 +195,7 @@ "permissions": "Permissões", "personal_access_token": "Token de acesso pessoal", "portfolio_access_control": "Controle de acesso ao portfólio", + "preferences": "Preferências", "preview": "Visualização", "project_access": "Acesso ao projeto", "publisher": "Editor", @@ -253,6 +255,10 @@ "team_membership": "Membro da equipe", "team_name": "Nome do time", "teams": "Equipes", + "telemetry": "Telemetria", + "telemetry_last_submission": "Última finalização", + "telemetry_no_data_submitted_yet": "Nenhum dados de telemetria ainda enviado.", + "telemetry_submitted_at": "Enviado: {timestamp}", "template": "Modelo", "template_basedir": "Diretório base do modelo", "template_basedir_tooltip": "Esta propriedade é usada como diretório base para pesquisa de modelos de notificação", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index 770c6641e..84ef41a60 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -100,6 +100,7 @@ "enable_email": "Ativar e-mail", "enable_index_consistency_check": "Habilitar verificação periódica de consistência", "enable_svg_badge": "Ativar acesso não autenticado ao crachá SVG", + "enable_telemetry_submission": "Ativar envio de telemetria", "enabled": "Habilitado", "enabled_for_tags": "Ativado para tags", "experimental": "Experimental", @@ -194,6 +195,7 @@ "permissions": "Permissões", "personal_access_token": "Token de acesso pessoal", "portfolio_access_control": "Controle de acesso ao portfólio", + "preferences": "Preferências", "preview": "Visualização", "project_access": "Acesso ao projeto", "publisher": "Editor", @@ -253,6 +255,10 @@ "team_membership": "Membro da equipe", "team_name": "Nome do time", "teams": "Equipes", + "telemetry": "Telemetria", + "telemetry_last_submission": "Última finalização", + "telemetry_no_data_submitted_yet": "Nenhum dados de telemetria ainda enviado.", + "telemetry_submitted_at": "Enviado: {timestamp}", "template": "Modelo", "template_basedir": "Diretório base do modelo", "template_basedir_tooltip": "Esta propriedade é usada como diretório base para pesquisa de modelos de notificação", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 3254b8086..b42efcae0 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -100,6 +100,7 @@ "enable_email": "Включить электронную почту", "enable_index_consistency_check": "Включить периодическую проверку целостности индексов", "enable_svg_badge": "Включить неаутентифицированный доступ к SVG-бейджам", + "enable_telemetry_submission": "Включить подчинение телеметрии", "enabled": "Включено", "enabled_for_tags": "Включено для тегов", "experimental": "Экспериментально", @@ -194,6 +195,7 @@ "permissions": "Разрешения", "personal_access_token": "Персональный токен доступа", "portfolio_access_control": "Контроль доступа к портфолио", + "preferences": "Предпочтения", "preview": "Предпросмотр", "project_access": "Доступ к проекту", "publisher": "Издатель", @@ -253,6 +255,10 @@ "team_membership": "Членство в команде", "team_name": "Имя команды", "teams": "Команды", + "telemetry": "Телеметрия", + "telemetry_last_submission": "Последнее представление", + "telemetry_no_data_submitted_yet": "Данные телеметрии пока не представлены.", + "telemetry_submitted_at": "Отправлено: {timestamp}", "template": "Шаблон", "template_basedir": "Базовая директория шаблонов", "template_basedir_tooltip": "Это свойство используется в качестве базовой директории для поиска шаблонов уведомлений", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 6e21d83f0..2e4b5be20 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -100,6 +100,7 @@ "enable_email": "Увімкнути електронну пошту", "enable_index_consistency_check": "Увімкнути періодичну перевірку узгодженості", "enable_svg_badge": "Увімкнути неавтентифікований доступ до значка SVG", + "enable_telemetry_submission": "Увімкнути подання телеметрії", "enabled": "Увімкнено", "enabled_for_tags": "Увімкнено для тегів", "experimental": "Експериментальний", @@ -194,6 +195,7 @@ "permissions": "Дозволи", "personal_access_token": "Персональний маркер доступу", "portfolio_access_control": "Контроль доступу до портфоліо", + "preferences": "Уподобання", "preview": "Попередній перегляд", "project_access": "Доступ до проекту", "publisher": "Видавець", @@ -253,6 +255,10 @@ "team_membership": "Членство в команді", "team_name": "Назва команди", "teams": "Команди", + "telemetry": "Телеметрія", + "telemetry_last_submission": "Останнє подання", + "telemetry_no_data_submitted_yet": "Ще немає даних телеметрії, що подаються.", + "telemetry_submitted_at": "Представлено: {timestamp}", "template": "Шаблон", "template_basedir": "Базовий каталог шаблонів", "template_basedir_tooltip": "Ця властивість використовується як базовий каталог для пошуку шаблонів сповіщень", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 36c61c719..b1ec83125 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -100,6 +100,7 @@ "enable_email": "启用电子邮件", "enable_index_consistency_check": "启用定期一致性检查", "enable_svg_badge": "启用未经身份验证的 SVG 徽章访问", + "enable_telemetry_submission": "启用遥测提交", "enabled": "已启用", "enabled_for_tags": "为标签启用", "experimental": "实验性的", @@ -194,6 +195,7 @@ "permissions": "权限", "personal_access_token": "个人访问令牌", "portfolio_access_control": "portfolio 访问控制", + "preferences": "偏好", "preview": "预览", "project_access": "项目访问", "publisher": "发行商", @@ -253,6 +255,10 @@ "team_membership": "团队成员关系", "team_name": "团队名称", "teams": "团队", + "telemetry": "遥测", + "telemetry_last_submission": "最后提交", + "telemetry_no_data_submitted_yet": "尚未提交遥测数据。", + "telemetry_submitted_at": "提交:{timestamp}", "template": "模板", "template_basedir": "模板目录", "template_basedir_tooltip": "在这里目录里搜索模版", diff --git a/src/router/index.js b/src/router/index.js index 977ff6069..cf90116c4 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -37,6 +37,8 @@ const InternalComponents = () => import('@/views/administration/configuration/InternalComponents'); const TaskScheduler = () => import('@/views/administration/configuration/TaskScheduler'); +const Telemetry = () => + import('@/views/administration/configuration/Telemetry'); const Search = () => import('@/views/administration/configuration/Search'); const Experimental = () => import('@/views/administration/configuration/Experimental'); @@ -440,6 +442,17 @@ function configRoutes() { permission: 'SYSTEM_CONFIGURATION', }, }, + { + path: 'configuration/telemetry', + component: Telemetry, + meta: { + title: i18n.t('message.administration'), + i18n: 'message.administration', + sectionPath: '/admin', + sectionName: 'Admin', + permission: 'SYSTEM_CONFIGURATION', + }, + }, { path: 'configuration/search', component: Search, diff --git a/src/views/administration/AdminMenu.vue b/src/views/administration/AdminMenu.vue index 47f86976f..eeea710df 100644 --- a/src/views/administration/AdminMenu.vue +++ b/src/views/administration/AdminMenu.vue @@ -111,6 +111,11 @@ export default { name: this.$t('admin.task_scheduler'), route: 'configuration/taskScheduler', }, + { + component: 'Telemetry', + name: this.$t('admin.telemetry'), + route: 'configuration/telemetry', + }, { component: 'Search', name: this.$t('message.search'), diff --git a/src/views/administration/Administration.vue b/src/views/administration/Administration.vue index 5034e2931..e33098299 100644 --- a/src/views/administration/Administration.vue +++ b/src/views/administration/Administration.vue @@ -26,6 +26,7 @@ import InternalComponents from './configuration/InternalComponents'; import Jira from './configuration/JiraConfig'; import Search from './configuration/Search.vue'; import TaskScheduler from './configuration/TaskScheduler.vue'; +import Telemetry from './configuration/Telemetry.vue'; import Experimental from './configuration/Experimental.vue'; import WelcomeMessage from './configuration/WelcomeMessage.vue'; // Analyzer plugins @@ -79,6 +80,7 @@ export default { Jira, InternalComponents, TaskScheduler, + Telemetry, Search, Experimental, InternalAnalyzer, diff --git a/src/views/administration/configuration/Telemetry.vue b/src/views/administration/configuration/Telemetry.vue new file mode 100644 index 000000000..b1e09703f --- /dev/null +++ b/src/views/administration/configuration/Telemetry.vue @@ -0,0 +1,124 @@ + + +