docs(#26): fix migration guide and README gaps #27

Merged
KofTwentyTwo merged 4 commits from feature/GH-26-migration-doc-gaps into develop 2026-10-12 10:57:02 +00:00
KofTwentyTwo commented 2026-10-09 23:27:18 +00:00 (Migrated from github.com)

Summary

Fixes the four documentation gaps qqq-all found adopting 1.0.0-RC.2 (QRun-IO/qqq-all#30).

  1. docs/MIGRATION-1.0.md gains a Permissions section naming quickSearchAdmin.hasAccess and .read/.write on quickSearchIndex, quickSearchIndexRun and quickSearchFailedEvent, what each covers, the READ_INSERT_EDIT_DELETE_PERMISSIONS alternative, the tableNamePrefix effect, and that search users need only the searched tables' read permission.
  2. It gains a Schema changes section: the five new quickSearchIndex columns, the searchableFieldsJson and quickSearchIndexRun.errorMessage changes from STRING to TEXT, the tableName unique key, the new quickSearchFailedEvent table, status values and minimum lengths (quickSearchIndex.status 13, quickSearchFailedEvent.status 16), and portable type guidance. The repo has no DDL, so the guide says so and does not give vendor DDL.
  3. allowPlaintextCredentials(true) becomes withAllowPlaintextCredentials(true).
  4. README badge, dependency snippet and "current release candidate" line move to 1.0.0-RC.2; the README upgrade summary mentions permissions and schema; the PRD status records RC.2 and drops #13 to #17 from the open list.

CHANGELOG, TODO and SESSION-STATE are unchanged.

How each fact was verified

  • Permission names: QuickSearchQBitConfig defaults (adminPermissionRules = HAS_ACCESS_PERMISSION with base name quickSearchAdmin; tablePermissionRules = READ_WRITE_PERMISSIONS, no base name), applied by QuickSearchAdminAppMetaDataProducer, QuickSearchProcessMetaDataHelper and QuickSearchTableMetaDataHelper. Name format and the insert/edit/delete to write mapping from PermissionsHelper, PrivatePermissionSubType and TablePermissionSubType in the qqq-backend-core 4.1.0-RC.1 jar. Cross-checked against infra/postgres/06-quick-search-permissions.sql in qqq-all#30. Core QueryAction, InsertAction and UpdateAction in 4.1.0-RC.1 contain no permission checks; InsertAction checks unique keys through UniqueKeyHelper.
  • Schema: 1.0 fields from QuickSearchTableMetaDataHelper (used by the three table producers), compared with the table definitions in QuickSearchQBitProducer at tags v0.1.0 and v0.2.0 (identical to each other). Status values from AbstractIndexingStep, QuickSearchFailedEvent and IndexEventAction; NEEDS_REINDEX is absent from v0.2.0. lastRunStatus format from AbstractIndexingStep.completeRunRecord; the 4,000 character error truncation from it, QuickSearchRecordChangeListener, BasepullIndexStep and FullReindexStep. Row recreation defaults from AbstractIndexingStep.ensureIndexRowExists. No .sql or DDL file is tracked in the repo.
  • Setter: QuickSearchQBitConfig.withAllowPlaintextCredentials(Boolean); no allowPlaintextCredentials(...) method exists.
  • ./mvnw -q compile passes.

Closes #26

## Summary Fixes the four documentation gaps qqq-all found adopting `1.0.0-RC.2` (QRun-IO/qqq-all#30). 1. `docs/MIGRATION-1.0.md` gains a Permissions section naming `quickSearchAdmin.hasAccess` and `.read`/`.write` on `quickSearchIndex`, `quickSearchIndexRun` and `quickSearchFailedEvent`, what each covers, the `READ_INSERT_EDIT_DELETE_PERMISSIONS` alternative, the `tableNamePrefix` effect, and that search users need only the searched tables' read permission. 2. It gains a Schema changes section: the five new `quickSearchIndex` columns, the `searchableFieldsJson` and `quickSearchIndexRun.errorMessage` changes from `STRING` to `TEXT`, the `tableName` unique key, the new `quickSearchFailedEvent` table, status values and minimum lengths (`quickSearchIndex.status` 13, `quickSearchFailedEvent.status` 16), and portable type guidance. The repo has no DDL, so the guide says so and does not give vendor DDL. 3. `allowPlaintextCredentials(true)` becomes `withAllowPlaintextCredentials(true)`. 4. README badge, dependency snippet and "current release candidate" line move to `1.0.0-RC.2`; the README upgrade summary mentions permissions and schema; the PRD status records RC.2 and drops #13 to #17 from the open list. CHANGELOG, TODO and SESSION-STATE are unchanged. ## How each fact was verified - Permission names: `QuickSearchQBitConfig` defaults (`adminPermissionRules` = `HAS_ACCESS_PERMISSION` with base name `quickSearchAdmin`; `tablePermissionRules` = `READ_WRITE_PERMISSIONS`, no base name), applied by `QuickSearchAdminAppMetaDataProducer`, `QuickSearchProcessMetaDataHelper` and `QuickSearchTableMetaDataHelper`. Name format and the insert/edit/delete to `write` mapping from `PermissionsHelper`, `PrivatePermissionSubType` and `TablePermissionSubType` in the qqq-backend-core 4.1.0-RC.1 jar. Cross-checked against `infra/postgres/06-quick-search-permissions.sql` in qqq-all#30. Core `QueryAction`, `InsertAction` and `UpdateAction` in 4.1.0-RC.1 contain no permission checks; `InsertAction` checks unique keys through `UniqueKeyHelper`. - Schema: 1.0 fields from `QuickSearchTableMetaDataHelper` (used by the three table producers), compared with the table definitions in `QuickSearchQBitProducer` at tags `v0.1.0` and `v0.2.0` (identical to each other). Status values from `AbstractIndexingStep`, `QuickSearchFailedEvent` and `IndexEventAction`; `NEEDS_REINDEX` is absent from `v0.2.0`. `lastRunStatus` format from `AbstractIndexingStep.completeRunRecord`; the 4,000 character error truncation from it, `QuickSearchRecordChangeListener`, `BasepullIndexStep` and `FullReindexStep`. Row recreation defaults from `AbstractIndexingStep.ensureIndexRowExists`. No `.sql` or DDL file is tracked in the repo. - Setter: `QuickSearchQBitConfig.withAllowPlaintextCredentials(Boolean)`; no `allowPlaintextCredentials(...)` method exists. - `./mvnw -q compile` passes. Closes #26
KofTwentyTwo commented 2026-10-12 10:27:52 +00:00 (Migrated from github.com)

Audit note (2026-10-12, AI-assisted): this PR moves the README badge and Getting started version to 1.0.0-RC.2, but Maven Central's newest is 1.1.0-RC.1 (develop is the 1.1 line). Consider naming both lines or the 1.1 RC. Adoption-section follow-up tracked in the new issue.

Audit note (2026-10-12, AI-assisted): this PR moves the README badge and Getting started version to `1.0.0-RC.2`, but Maven Central's newest is `1.1.0-RC.1` (develop is the 1.1 line). Consider naming both lines or the 1.1 RC. Adoption-section follow-up tracked in the new issue.
Sign in to join this conversation.