Category Management
Category Management is used to create and maintain category structures for fast browsing on home and category pages.
Entry Path
- Left navigation -> Category Management
Core Actions
- Create category: set name, color, and description.
- Edit category: update naming and display style.
- Bind books: add or remove books for each category.
- Pagination & filtering: handle large category sets efficiently.
- AI categorization: run one-click category assignment for a selected storage source.
AI Categorization
Entry Path
- Top section of Category Management: choose storage source, then click
Generate Preset Categories.
Flow
- Choose target storage source.
- Click
Generate Preset Categories. - Confirm task scope in the confirmation card and start.
Status Reflection
- Task status is authoritative on the server side.
- After page refresh, task state (
running/completed/failed) is restored from backend task info. - The page can show category totals, pending book count, last run time, and token usage (if available).
Limits
- Admin-only operation.
- Large libraries are processed asynchronously; check task list for progress and failures.
Technical Settings
1. Explicit Authorization Model
- Except admins, regular users can only view categories that are explicitly authorized and enabled (
enabled=1). - Authorization mappings are stored in
user_category_access.
2. Sorting Consistency
- All clients (Web/Flutter) use
sort_orderascending as primary sort key. - When
sort_orderis identical,id(descending) ornameis used as secondary fallback.
3. Backend Data Constraints
- Metadata table (
book_category): stores category metadata such as name, description, sort weight, and enabled state. - Relation table (
book_category_item): stores category-book mappings with optional custom order inside category. - Permission table (
user_category_access): stores per-user category visibility.
Notes
- Keep category names concise for better home-page readability.
- Deleting a category removes only category relations, not the underlying books.
- Bulk category-book operations may take several seconds for large sets.
