Skip to content

feat(bookstack): support syncing pages from a specific book#80

Closed
hexsm wants to merge 3 commits into
open-webui:mainfrom
hexsm:feature/bookstack-book-ids
Closed

feat(bookstack): support syncing pages from a specific book#80
hexsm wants to merge 3 commits into
open-webui:mainfrom
hexsm:feature/bookstack-book-ids

Conversation

@hexsm

@hexsm hexsm commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Adds optional BookStack page filtering by numeric book ID.

BookStack sources now support:

oikb sync bookstack: --kb-id <kb>     # all visible pages, unchanged behavior
oikb sync bookstack:12 --kb-id <kb>   # pages from BookStack book ID 12

Why

The BookStack connector previously synced all visible pages from the instance. This change allows syncing a specific BookStack book without relying on slugs, which can change over time.

Changes

  • Parse an optional numeric book ID from bookstack: sources.
  • Pass book_id into BookStackConnector.
  • Apply BookStack's filter[book_id] parameter when listing pages.
  • Keep bookstack: behavior unchanged for syncing all visible pages.
  • Reject invalid BookStack source values like bookstack:abc.
  • Document BookStack usage in README.md and docs/guide.md.
  • Add BookStack parser and request tests.

Validation

  • python -m pytest
    • 7 passed
  • python -m compileall -f src/oikb/connectors/bookstack.py src/oikb/cli.py tests/test_bookstack.py
  • Live BookStack check using local credentials:
  • bookstack: listed all visible pages.
  • bookstack:1 listed only pages from book ID 1.
  • Verified the BookStack API filter returns only pages matching the selected book_id.

@hexsm

hexsm commented Jul 16, 2026

Copy link
Copy Markdown
Author

Closing this in favor of #84.

@hexsm hexsm closed this Jul 16, 2026
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