dotCMS / dotCMS/core

Classify new unrecognized user agents as browsers or bots

Open
#35,654 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dotCMS : Analytics stale Team : Falcon Type : Task
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Description

The Content Analytics Event Manager service encounters user agent strings it cannot classify — they are neither recognized as known browsers nor flagged as bot traffic. A CSV file has been compiled with these unrecognized user agent strings. Each entry needs to be manually reviewed and classified, then incorporated into the service using the existing code pattern.

Classification Action
Browser Add to the Event Manager's internal browser allowlist / lookup map
Bot Add to the Event Manager's internal bot list so requests are marked as bot traffic

Note: The CSV file with the unrecognized user agents should be attached to or linked from this issue by the reporter. Future unrecognized agents not covered by this CSV are out of scope — a follow-up issue will define that policy.

Acceptance Criteria

  • All user agent strings from the CSV are manually reviewed and classified as "browser" or "bot" before implementation begins
  • User agents classified as "browser" are added to the Event Manager's internal browser allowlist/lookup map, and requests from those agents are no longer treated as unrecognized
  • User agents classified as "bot" are added to the Event Manager's internal bot list, and requests from those agents are marked as bot traffic
  • New entries follow the same data structure and code pattern used by existing recognized browsers and bots in the Event Manager
  • User agent strings already present in the existing recognized lists are not duplicated
  • All previously recognized browser and bot classifications remain unaffected after the change
  • Unit tests are added or updated to cover at least one newly added browser user agent and one newly added bot user agent

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked CSV and locating the Event Manager's existing browser allowlist, bot list, and related unit tests. Manually classify every CSV entry, follow the existing data structure without duplicates, and add coverage for at least one new browser and bot. Done means all entries are handled and existing classifications remain unaffected.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
analytics, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.