Skip to content

Omni CMS: add HTML signals (dom-only misses response-first detection) - #352

Open
danielserranoh wants to merge 1 commit into
HTTPArchive:mainfrom
danielserranoh:omnicms-response-first-signals
Open

Omni CMS: add HTML signals (dom-only misses response-first detection)#352
danielserranoh wants to merge 1 commit into
HTTPArchive:mainfrom
danielserranoh:omnicms-response-first-signals

Conversation

@danielserranoh

Copy link
Copy Markdown

Omni CMS (Modern Campus, formerly OU Campus) matches only via a dom selector (a[href*='a.cms.omniupdate.com/11/']). Response-first / non-headless consumers don't evaluate dom, so Omni CMS goes undetected even when the marker is present in the HTML.

This adds html patterns for the same signal (statically matchable):

  • a\.cms\.omniupdate\.com — the Omni CMS edit / last-published link host.
  • omniupdate\.com/XSL/Variables — the OmniUpdate ouc XSL namespace.

Test websites:

Assisted by Claude Code.

Omni CMS (Modern Campus, formerly OU Campus) matches only via a dom selector
(a[href*='a.cms.omniupdate.com/11/']). Response-first / non-headless consumers
don't evaluate dom, so Omni CMS goes undetected even when the marker is present.

Add html patterns for the same signal (statically matchable): the omniupdate
CMS link host and the OmniUpdate XSL namespace.

Verified on www.stonybrook.edu, www.fau.edu, www.aamu.edu, www.wilkes.edu.
Comment thread src/technologies/o.json
],
"description": "Omni CMS (formerly OU Campus) is a web content management system developed by Modern Campus. Modern Campus is a SaaS-based student lifecycle management software designed to manage continuing education and non-degree programs.",
"dom": "a[href*='a.cms.omniupdate.com/11/']",
"html": [

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure we need this since HTTP Archive only uses Wappalyzer with DOM detection.

Can you explain more why it’s needed?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right — for HTTP Archive's DOM-based detection the existing dom rule already fires, so the html patterns are redundant for that crawl. Two things prompted the PR:

  1. The existing dom selector is pinned to a specific OU Campus version: a[href*='a.cms.omniupdate.com/11/']. Installs served under a different path (other versions, or the omniupdate.com/XSL/Variables include) are missed even with DOM detection. If useful, I'd rather broaden the dom rule — e.g. a[href*='cms.omniupdate.com'] — since that's the change that actually improves detection here.
  2. The html form was aimed at response-first consumers of this dataset that match raw HTML without a headless browser and so can't evaluate dom rules (my use case is an internal fingerprint engine). I understand if that's out of scope for a set tuned to HTTP Archive's DOM crawl.

Happy to convert this to a broadened dom rule and drop the html additions — or close it if the response-first angle isn't something you want to carry here. Which would you prefer?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to broaden the DOM rule.

So you’re using this Wappalyzer code outside of HTTP Archive and that’s why you want to make the change? The HTML selector is deprecated and is known to be slower so don’t really want to spread usage of it much further. Saying that if it’s one these three extra ones I don’t think that’ll cause any issue. But I wouldn’t want to apply this more widely to all DOM selectors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants