Skip to content

docs: Use pages for search, files, import and collaboration; Build page for reports - #351

Merged
zhuangjianguo merged 1 commit into
mainfrom
claude/project-thread-jyyr1e
Oct 27, 2026
Merged

zhuangjianguo merged 1 commit into
mainfrom
claude/project-thread-jyyr1e

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Steedos · project thread
Fixes #346
Clause-②: no
Metadata-protocol: none

维护者速读

  • 改了什么:新增 Use 四页(搜索与命令面板、文件与附件、数据导入、记录协作:讨论/@提醒/字段历史/分享链接/公开表单)和 Build 一页(报表:汇总、矩阵、组合报表与下钻);仪表盘页改正"图表不能下钻"的旧说法并链到报表页;两个 meta.json 加入新页。
  • 为什么改:对照 objectstack 的 NORTH-STAR 与平台清单,终端用户每天用到的这几块在站内没有页面;每页用 MDX 注释列出所依据的清单项 id,下次对齐可直接比对。
  • 风险与回滚:纯英文内容新增,不动代码与译文;已退役的"个人保存报表/定时发送"和尚未渲染的报表 dateRange/exportOptions 刻意不写。回滚即 revert 本 PR。
  • 先看:content/docs/use/collaboration.mdx(分享链接与公开表单"什么永不暴露"的段落)、content/docs/build/reports.mdx(报表类型与下钻)、content/docs/build/interface/dashboards.mdx 的 Drill-down 一段。
  • 两分钟验证:部署预览打开 /docs/use/search 与 /docs/build/reports,左侧 Use 组出现 Searching / Importing data / Files and attachments / Collaborating on records,Build 组 Interface 下方出现 Reports。
  • 需要你做的:无,席位落地。

What changes

File Change
content/docs/use/search.mdx New. Global search, the ⌘K command palette, list and lookup search; matching rules, permission-consistent results, freshness, pinyin, the full search page, searchableFields for builders
content/docs/use/files.mdx New. Attachments tab and file fields; who may see, upload, delete, download; short-lived download links; the upload limit; the removed-file and pending-upload retention
content/docs/use/import.mdx New. The import wizard: upload (CSV/TSV/xlsx, paste, template, GBK detection), mapping, preview and validation, options, results, background jobs with cancel, history and undo; saved mappings and transforms for builders
content/docs/use/collaboration.mdx New. Record discussion, @mentions, reactions, edits, feed filters, tracked-field changes and the History tab, the Share entry, share links (gates, revoke, what is never exposed) and public forms
content/docs/build/reports.mdx New. Reports on datasets: summary, matrix, joined; runtimeFilter and order; embedded chart; drill-through; navigation, the admin Edit panel and draft-then-publish checks
content/docs/build/interface/dashboards.mdx Drill-down: chart widgets drill through too (the page said they render the aggregate only); links the reports page
content/docs/use/meta.json, content/docs/build/meta.json The new pages in the sidebar

Every behavioural sentence traces to a platform checklist item marked active (ids in each page's opening MDX comment) or to runtime/console code read at objectstack dc9d1ff8.

Tests

Content-only diff; no test files change. Gates below.

Acceptance notes

  • Scope as corrected by 6444793931. The ai-builder.mdx "Ask & Build" rewrite and the AI models page are not here; they stay with Cloud organization layer: write the organization, environments, plans & AI seats, credits, storage, domains, app install/publish and Cloud Connection pages — today 0 pages on this site #344 in the cloud lane.
  • Not written, by the card's own rule (checklist marks them unbuilt). Saved personal reports with ownership, and scheduled report delivery: dashboards.saved-report-ownership and dashboards.report-schedule-dispatch-delivery are retired (the saved-report stack was removed, objectstack #20102), and the spec refuses subscription / schedule on a report. The report dateRange and exportOptions keys (objectstack #26548) are also left out: the spec accepts them, but its changeset says the report page does not render them yet. reports.mdx records both in an editor's MDX comment.
  • MDX comment, not HTML comment. The card asks for checklist ids "in an HTML comment"; MDX does not accept HTML comments, so each page carries them in an MDX comment, which renders nothing and is stripped from the llms bodies (check-locale-surface confirms none leaks).
  • Merged rather than repeated. reports.mdx links to the dashboards page for datasets and for global date range and filters instead of restating them; the only edit to dashboards.mdx is the drill-down paragraph and one link row.
  • Locale sidebars. meta.LOCALE.json files are translation artifacts and are untouched, so localized sidebars list the new pages after the next translation pass; the pages already render in every locale through the English fallback.
  • Observations, not filed. (1) reference/rest-api.mdx calls the public-form routes "the only unauthenticated routes", but the share-link resolve route is unauthenticated too. (2) objectstack docs/NORTH-STAR.md still lists the two retired report items and "按时自己发出去" on its reports line. (3) In the console source, the share-link dialog is mounted only on the AI chat page, so a business record has no in-app way to mint a share link, and the landing page renders a non-conversation record as a raw JSON block; read in code, not reproduced live. collaboration.mdx therefore says links are created through the API and that the page shows the record's fields read-only.

Verification

All local gates ran at bbd4f1c, exit codes captured before any pipe.

Gates (ci.yml steps)
Gate Exit Verdict line
node apps/docs/scripts/gen-zh-hant.mjs --check 0 zh-Hant: 43 generated file(s) match the zh-Hans sources byte for byte
node .github/scripts/check-doc-samples.mjs 0 every ts/js block on 89 English page(s) parses with @objectstack/spec 17.7.0 · 103 pass (reports.mdx lines 59, 98, 136, 170 PASS)
pnpm turbo run type-check --continue 0 frontmatter valid on 202 pages (negative control refused, as it must be)
pnpm turbo run build 0 1 successful, 1 total (68 s under the verify lock)
pnpm turbo run test 0 11 self-test(s) passed
check-locale-surface.mjs 0 every advertised URL has a source file and every source file is advertised; no MDX comment in either llms consumer
check-positioning.mjs 0 4 copies equal their constants; brand right in 739 pages
check-search-locales.mjs 0 all 8 locales answer 200
check-translations.mjs 0 translations gate passed
check-translation-ownership.mjs --files 0 0 translation artifact(s) and 8 other file(s)
smoke-docs.mjs --base local next start preview 0 4 page(s) rendered, negative control demonstrated red, search answered in 8 locale(s)
Browser check (Chromium, local preview)

Desktop 1366×900 and mobile 390×844: /docs/use/search, /docs/use/files, /docs/use/import, /docs/use/collaboration, /docs/build/reports, /docs/build/interface/dashboards and /zh-Hans/docs/use/search each answer 200 with the expected h1, zero console errors, and no horizontal overflow (scrollWidth equals the viewport). The Use sidebar lists the four new pages and the Build sidebar lists Reports under Interface. Screenshots are in the project's docs-346/ folder.


Generated by Claude Code

🤖 Generated with Claude Code

https://claude.ai/code/session_01QsR2jT5SKrDgJSyFiCfHm7

…ge for reports

Four Use pages fill the end-user gaps measured against the platform
checklist: global search and the command palette, files and attachments,
the import wizard, and record discussions with share links and public
forms. A Build page covers summary, matrix and joined reports on
datasets. Each page names the checklist items it documents in an MDX
comment. The dashboards page now says chart widgets drill through, and
links the reports page.

Saved personal reports and scheduled delivery are not written: their
checklist items are retired and the platform refuses those keys.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsR2jT5SKrDgJSyFiCfHm7
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · 2026-10-27T15:00Z · session_01QsR2jTaZ2GeyfjANMwstiw · seat repo:docs.objectos.ai#1

  1. Shape. Draft PR against main, head bbd4f1c (one commit on d1d6a3e), 8 files +799/−5. First card line Fixes #346. Clause-②: no and Metadata-protocol: none match claim 6444854013. Not governed (no AGENTS.md, .claude/**, docs/adr/**, skills/**), under 3000 lines: Tier none.
  2. Premise and sources, seat spot-checks. The checklist ids the pages cite are present and active in objectstack docs/qa/platform-checklist/areas/*.json, e.g. search.pinyin-flag-both-sides, search.command-palette-navigation, search.console-global-search, search.global-search-skips-unreadable. The dashboards correction (chart widgets drill through) replaces a claim the old page made. The ai-builder rewrite is absent, as scope comment 6444793931 requires.
  3. Gates, check-runs at head bbd4f1c. build success (type-check with the frontmatter check, build, bundle budget, local workerd render smoke) · Ownership & freshness success · Node floor success · Deploy docs skipped (PR event). Dev-local at the same head: all ci.yml steps exit 0. Playwright desktop and mobile: 0 console errors.
  4. Accepted deviations. Checklist ids sit in MDX comments {/* */}, because MDX rejects HTML comments. Retired saved/scheduled reports and the unrendered report dateRange/exportOptions are left out with an editor note, per the card's "unbuilt is not written". Datasets are linked from dashboards.mdx, not moved. Locale meta.*.json files are untouched; the new pages render English in other locales until the translation pass (Translations after the restructure: retire the siblings of moved or merged pages in the same PRs, then run the translation pass zh-Hans first to full coverage (today 32 of 80 pages), other locales after the maintainer decides how many to keep #347).
  5. Open question answered. Keep the share-links section in use/collaboration.mdx. Its revocation and "never exposed" rules are server behaviour (access-security.share-link-*) and hold whatever console UI lands. The page says links are created through the API, which is accurate today.
  6. Out of scope. (a) reference/rest-api.mdx:100 calls public forms "the only unauthenticated routes", but share-link resolve is unauthenticated too: filed here as a docs card. (b) SharedRecordPage renders a non-chat shared record as JSON.stringify in a <pre> (ui/apps/console/src/pages/SharedRecordPage.tsx:345, seat-read): filed in objectstack for triage. (c) objectstack docs/NORTH-STAR.md still lists retired report items: governed text, noted here only. Landing: Tier none, so the seat lands it once the maintainer authorizes the merge, because merging publishes production. Squash pinned to bbd4f1c, after the previous main deploy smoke-checked green (d1d6a3e: green).

@zhuangjianguo
zhuangjianguo marked this pull request as ready for review October 27, 2026 22:30
@zhuangjianguo
zhuangjianguo added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit e13d97a Oct 27, 2026
4 checks 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

2 participants