Skip to content

Commit 42f1c52

Browse files
fm3daniel-wer
andauthored
Remove Google Analytics (#8201)
* Remove Google Analytics * changelog, migration guide * Update CHANGELOG.unreleased.md Co-authored-by: Daniel <[email protected]> --------- Co-authored-by: Daniel <[email protected]>
1 parent 3e04578 commit 42f1c52

File tree

16 files changed

+7
-129
lines changed

16 files changed

+7
-129
lines changed

CHANGELOG.unreleased.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
2424
- Fix a bug where trying to delete a non-existing node (via the API, for example) would delete the whole active tree. [#8176](https://github.com/scalableminds/webknossos/pull/8176)
2525

2626
### Removed
27+
- Removed Google Analytics integration. [#8201](https://github.com/scalableminds/webknossos/pull/8201)
2728

2829
### Breaking Changes

MIGRATIONS.unreleased.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ User-facing changes are documented in the [changelog](CHANGELOG.released.md).
88
## Unreleased
99
[Commits](https://github.com/scalableminds/webknossos/compare/24.11.1...HEAD)
1010

11+
- The config option `googleAnalytics.trackingId` is no longer used and can be removed. [#8201](https://github.com/scalableminds/webknossos/pull/8201)
12+
1113
### Postgres Evolutions:

app/utils/WkConf.scala

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,6 @@ class WkConf @Inject()(configuration: Configuration) extends ConfigReader with L
200200
val environment: String = get[String]("airbrake.environment")
201201
}
202202

203-
object GoogleAnalytics {
204-
val trackingId: String = get[String]("googleAnalytics.trackingId")
205-
}
206-
207203
object SlackNotifications {
208204
val uri: String = get[String]("slackNotifications.uri")
209205
val verboseLoggingEnabled: Boolean = get[Boolean]("slackNotifications.verboseLoggingEnabled")
@@ -259,7 +255,6 @@ class WkConf @Inject()(configuration: Configuration) extends ConfigReader with L
259255
Silhouette,
260256
Jobs,
261257
Airbrake,
262-
GoogleAnalytics,
263258
BackendAnalytics,
264259
Slick,
265260
Voxelytics,

app/views/main.scala.html

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
77
<meta name="commit-hash" content="@(webknossos.BuildInfo.commitHash)" />
88
<meta name="selected-theme" content="@(selectedTheme)" />
9-
@if(conf.GoogleAnalytics.trackingId.nonEmpty) {
10-
<meta name="google-analytics-tracking-id" content="@(conf.GoogleAnalytics.trackingId)" />
11-
}
129
<title>@(conf.WebKnossos.tabTitle)</title>
1310
@openGraphTitle.map { ogt =>
1411
<meta property="og:title" content="@ogt" />
@@ -52,25 +49,5 @@
5249
</head>
5350
<body>
5451
<main id="main-container"></main>
55-
56-
@if(conf.GoogleAnalytics.trackingId.nonEmpty) {
57-
<script
58-
async
59-
src="https://www.googletagmanager.com/gtag/js?id=@(conf.GoogleAnalytics.trackingId)"
60-
></script>
61-
<script>
62-
const metaElement = document.querySelector("meta[name='google-analytics-tracking-id']");
63-
const googleAnalyticsTrackingId = metaElement ? metaElement.getAttribute("content") : null;
64-
window.dataLayer = window.dataLayer || [];
65-
function gtag() {
66-
dataLayer.push(arguments);
67-
}
68-
gtag("js", new Date());
69-
gtag("config", googleAnalyticsTrackingId, {
70-
anonymize_ip: true,
71-
cookie_expires: 0,
72-
});
73-
</script>
74-
}
7552
</body>
7653
</html>

conf/application.conf

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,9 +293,6 @@ airbrake {
293293
projectID = "insert-valid-projectID-here"
294294
}
295295

296-
# Front-end analytics
297-
googleAnalytics.trackingId = ""
298-
299296
# Slack notification
300297
slackNotifications {
301298
uri = ""

frontend/javascripts/admin/dataset/dataset_upload_view.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ import {
5454
import Toast from "libs/toast";
5555
import * as Utils from "libs/utils";
5656
import messages from "messages";
57-
import { trackAction } from "oxalis/model/helpers/analytics";
5857
import Zip from "libs/zipjs_wrapper";
5958
import {
6059
AllowedTeamsFormItem,
@@ -350,7 +349,6 @@ class DatasetUploadView extends React.Component<PropsWithFormAndRouter, State> {
350349
});
351350
finishDatasetUpload(datastoreUrl, uploadInfo).then(
352351
async () => {
353-
trackAction("Upload dataset");
354352
Toast.success(messages["dataset.upload_success"]);
355353
let maybeError;
356354

frontend/javascripts/dashboard/advanced_dataset/dataset_table.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import type {
1414
} from "types/api_flow_types";
1515
import type { DatasetFilteringMode } from "dashboard/dataset_view";
1616
import { stringToColor } from "libs/format_utils";
17-
import { trackAction } from "oxalis/model/helpers/analytics";
1817
import CategorizationLabel from "oxalis/view/components/categorization_label";
1918
import DatasetActionView, {
2019
getDatasetActionContextMenu,
@@ -791,7 +790,6 @@ export function DatasetTags({
791790
};
792791
}
793792

794-
trackAction("Edit dataset tag");
795793
updateDataset(dataset, updater);
796794
};
797795

frontend/javascripts/dashboard/dataset/dataset_settings_view.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import {
3232
updateDatasetPartial,
3333
} from "admin/admin_rest_api";
3434
import { handleGenericError } from "libs/error_handling";
35-
import { trackAction } from "oxalis/model/helpers/analytics";
3635
import Toast from "libs/toast";
3736
import messages from "messages";
3837
import features from "features";
@@ -390,7 +389,6 @@ class DatasetSettingsView extends React.PureComponent<PropsWithFormAndRouter, St
390389
}
391390
}
392391

393-
trackAction(`Dataset ${verb}`);
394392
this.props.onComplete();
395393
};
396394

frontend/javascripts/dashboard/explorative_annotations_view.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ import Store from "oxalis/store";
6060
import Toast from "libs/toast";
6161
import * as Utils from "libs/utils";
6262
import messages from "messages";
63-
import { trackAction } from "oxalis/model/helpers/analytics";
6463
import TextWithDescription from "components/text_with_description";
6564
import { getVolumeDescriptors } from "oxalis/model/accessors/volumetracing_accessor";
6665
import { RenderToPortal } from "oxalis/view/layouting/portal_utils";
@@ -289,7 +288,6 @@ class ExplorativeAnnotationsView extends React.PureComponent<Props, State> {
289288
const newTracing = await editLockedState(tracing.id, tracing.typ, locked);
290289
Toast.success(messages["annotation.was_edited"]);
291290
this.updateTracingInLocalState(tracing, (_t) => newTracing);
292-
trackAction("Lock/Unlock explorative annotation");
293291
} catch (error) {
294292
handleGenericError(error as Error, "Could not update the annotation lock state.");
295293
}
@@ -475,7 +473,6 @@ class ExplorativeAnnotationsView extends React.PureComponent<Props, State> {
475473
editAnnotation(newAnnotation.id, newAnnotation.typ, {
476474
tags: newAnnotation.tags,
477475
});
478-
trackAction("Edit annotation tag");
479476
}
480477

481478
return newAnnotation;

frontend/javascripts/main.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import UnthrottledStore, { startSagas } from "oxalis/store";
66
import { message } from "antd";
77

88
import { getActiveUser, checkAnyOrganizationExists, getOrganization } from "admin/admin_rest_api";
9-
import { googleAnalyticsLogClicks } from "oxalis/model/helpers/analytics";
109
import { load as loadFeatureToggles } from "features";
1110
import { setActiveUserAction } from "oxalis/model/actions/user_actions";
1211
import { setHasOrganizationsAction, setThemeAction } from "oxalis/model/actions/ui_actions";
@@ -97,7 +96,6 @@ document.addEventListener("DOMContentLoaded", async () => {
9796
throwAssertions: false,
9897
});
9998
message.config({ top: 30 });
100-
document.addEventListener("click", googleAnalyticsLogClicks);
10199
checkBrowserFeatures();
102100
await Promise.all([loadFeatureToggles(), loadActiveUser(), loadHasOrganizations()]);
103101
await Promise.all([loadOrganization()]);

0 commit comments

Comments
 (0)