Skip to content

Confluence: preserve page hierarchy for tree filtering - #107

Open
TobiasGoerke wants to merge 1 commit into
open-webui:mainfrom
TobiasGoerke:feat/confluence-hierarchical-paths
Open

Confluence: preserve page hierarchy for tree filtering#107
TobiasGoerke wants to merge 1 commit into
open-webui:mainfrom
TobiasGoerke:feat/confluence-hierarchical-paths

Conversation

@TobiasGoerke

@TobiasGoerke TobiasGoerke commented Aug 18, 2026

Copy link
Copy Markdown

Why

Confluence pages are currently synchronized using only their page titles. This loses the page hierarchy and makes it impossible to use existing include/exclude filters to select a page tree.

For example, users cannot reliably select only a subtree without synchronizing the entire space.

What

Add an optional hierarchical structure mode:

confluence:ABC?structure=hierarchical

In this mode, page paths include their full Confluence hierarchy:

Knowledge Base and FAQ/FAQ - Using OpenCode.txt

The root page itself is represented as:

Knowledge Base and FAQ.txt

Existing filters can select a subtree:

source: "confluence:ABC?structure=hierarchical"
filter:
  include:
    - "Knowledge Base and FAQ/**"

The default flat mode remains unchanged.
Thus, there is full backwards compatibility.

Changes

  • Add structure=hierarchical source configuration.
  • Build paths from Confluence page parentId relationships.
  • Resolve non-numeric space keys to numeric Confluence space IDs.
  • Keep page content lookup correct for hierarchical paths.
  • Reject ambiguous page paths instead of syncing the wrong page.
  • Add mocked tests for parsing, both modes, filtering, page reads, key resolution, collisions, and repeated manifest builds.
  • Update the Confluence documentation.

Verification

  • 11 tests passed.
  • Python compilation passed.
  • git diff --check passed.

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.

1 participant