From 4c93e10cba561edee321f0dfb6a5f8a0c0210fdc Mon Sep 17 00:00:00 2001 From: Steedos Date: Thu, 29 Oct 2026 10:17:59 +0000 Subject: [PATCH] docs(i18n): translate the entry path into ja (index, why, start, editions, use) Phase 1 of the other-locale plan. Adds ja translations of the 19 entry-path pages (index, why, start/*, editions/*, use/*) and the ja sidebar labels for start/ and editions/. Every heading keeps its English id, fences match the English byte for byte, terms follow the glossary's ja column, and each page carries a --stamp. check-translations: ja 0 stale, 79 missing (was 98). Fixes #386 Claude-Session: https://claude.ai/code/session_01QsR2jRsjbApbf83iyTDDXm Co-Authored-By: Claude --- content/docs/editions/compare.ja.mdx | 62 ++++ content/docs/editions/license.ja.mdx | 118 ++++++++ content/docs/editions/meta.ja.json | 5 + content/docs/editions/public-preview.ja.mdx | 26 ++ content/docs/index.ja.mdx | 87 ++++++ content/docs/start/cloud.ja.mdx | 45 +++ content/docs/start/community.ja.mdx | 296 ++++++++++++++++++++ content/docs/start/enterprise.ja.mdx | 30 ++ content/docs/start/meta.ja.json | 5 + content/docs/use/approvals.ja.mdx | 76 +++++ content/docs/use/collaboration.ja.mdx | 122 ++++++++ content/docs/use/dashboards.ja.mdx | 71 +++++ content/docs/use/files.ja.mdx | 94 +++++++ content/docs/use/import.ja.mdx | 125 +++++++++ content/docs/use/index.ja.mdx | 94 +++++++ content/docs/use/notifications.ja.mdx | 68 +++++ content/docs/use/profile.ja.mdx | 78 ++++++ content/docs/use/records.ja.mdx | 85 ++++++ content/docs/use/search.ja.mdx | 102 +++++++ content/docs/use/views.ja.mdx | 90 ++++++ content/docs/why.ja.mdx | 124 ++++++++ 21 files changed, 1803 insertions(+) create mode 100644 content/docs/editions/compare.ja.mdx create mode 100644 content/docs/editions/license.ja.mdx create mode 100644 content/docs/editions/meta.ja.json create mode 100644 content/docs/editions/public-preview.ja.mdx create mode 100644 content/docs/index.ja.mdx create mode 100644 content/docs/start/cloud.ja.mdx create mode 100644 content/docs/start/community.ja.mdx create mode 100644 content/docs/start/enterprise.ja.mdx create mode 100644 content/docs/start/meta.ja.json create mode 100644 content/docs/use/approvals.ja.mdx create mode 100644 content/docs/use/collaboration.ja.mdx create mode 100644 content/docs/use/dashboards.ja.mdx create mode 100644 content/docs/use/files.ja.mdx create mode 100644 content/docs/use/import.ja.mdx create mode 100644 content/docs/use/index.ja.mdx create mode 100644 content/docs/use/notifications.ja.mdx create mode 100644 content/docs/use/profile.ja.mdx create mode 100644 content/docs/use/records.ja.mdx create mode 100644 content/docs/use/search.ja.mdx create mode 100644 content/docs/use/views.ja.mdx create mode 100644 content/docs/why.ja.mdx diff --git a/content/docs/editions/compare.ja.mdx b/content/docs/editions/compare.ja.mdx new file mode 100644 index 00000000..bfcf0726 --- /dev/null +++ b/content/docs/editions/compare.ja.mdx @@ -0,0 +1,62 @@ +--- +title: エディションの比較 +seoTitle: "ObjectOS エディションの比較:Community、Free、Team、Enterprise" +description: ObjectOS の各エディションとプランに含まれるものを 1 行ずつ。Community、Cloud Free、Cloud Team、Enterprise、そして各違いがどこで強制されるか。 +editions: [community, cloud, enterprise] +translation: + source_sha: 453d01cdf9083450d82f8221495bfac52b798f6ccb9ac8ffbbc5796920086128 + guide_rev: 1 + mode: auto +--- + +ObjectOS は 3 つのエディションを持つひとつの製品です。**ObjectOS Community** は自分で実行するオープンソースのランタイムです。**ObjectOS Cloud** は同じ製品をあなたのためにホストしたもので、**Free** と **Team** のプランがあります。**ObjectOS Enterprise** は自社のインフラストラクチャ上で実行するライセンス制の製品で、**Business** と**Business Self-Managed** はその下の契約オプションです。料金と契約は[ライセンスと料金](/docs/editions/license)にあります。このページは、それぞれが何を違う形で行うかを説明します。 + +このドキュメントのすべてのページは、タイトルの下にエディションバッジの行を持ち、適用されるエディションを示します。サイドバーは、すべてのエディション向けではないページとグループに同じアイコンで印を付けます。 + +## 比較表 [#the-matrix] + +| | **Community** | **Cloud Free** | **Cloud Team** | **Enterprise** | +|---|---|---|---|---| +| 提供形態 | セルフマネージド | ホスト型 | ホスト型 | セルフマネージド | +| 料金 | 無料(Apache-2.0) | 無料 | $24 / AI シート / 月 | 契約による | +| ファイルストレージ | 自前([ストレージ](/docs/configure/storage)) | 環境ごとに 1 GB | 環境ごとに 20 GB | 自前([ストレージ](/docs/configure/storage)) | +| 開発環境 | デプロイした数だけ | —(本番のみ) | 2 つ、さらに AI シートごとに 1 つ | デプロイした数だけ | +| MCP リクエスト | デプロイで設定 | 20 / 分、1,000 / 日 | 120 / 分、1 日の上限なし | デプロイで設定 | +| カスタムドメイン | 自前のホスト | — | ✓ | 自前のホスト | +| レコードレベルおよびフィールドレベルのセキュリティ | ✓ | — | ✓ | ✓ | +| UI 内の AI(AI Builder、「データに質問する」) | MCP のみ:モデルは持ち込み | お試し | ✓ | ✓ | +| AI ガバナンス(アクションの監査、ガードレール、権限のスコープ設定) | — | — | — | ✓ | +| 自社の ID プロバイダーによるシングルサインオン | ✓([認証](/docs/configure/authentication)) | — | — | ✓ | +| SCIM | — | — | — | ✓ | +| クラスタリング / 高可用性 | — | — | — | ✓ | +| ひとつのデプロイ上の複数の組織 | — | — | — | ✓ | +| エアギャップ運用 | — | — | — | ✓ | +| サポート | コミュニティ | コミュニティ | スタンダード | SLA + 専任 | + +ObjectOS Cloud では、シングルサインオンと AI ガバナンスは **Business**、すなわちホスト型サービス上の ObjectOS Enterprise の契約オプションに含まれます。セルフマネージドのデプロイでは、Community と Enterprise は同じランタイムを実行します。Community 列にあるものはすべて Enterprise 列にもあります。 + +## 各違いがどこで強制されるか [#where-each-difference-is-enforced] + +比較表には、製品が強制する違いだけを載せています。以下は、このドキュメントですでに詳しく説明しているものです。 + +- **ライセンスが、セルフマネージドのデプロイが何であるかを決めます。** ライセンスがない場合、単一組織のデプロイは Community の動作で実行されます。オープンな MCP サーバーで、AI は持ち込みです。ライセンスがある場合、AI Builder と「データに質問する」が自社のインフラストラクチャ上で利用可能になります。[AI サービス](/docs/configure/ai)を参照してください。 +- **ひとつのデプロイ上の複数の組織にはライセンスが必要です。** ライセンスなしのマルチ組織の体制は起動時に拒否され、ランタイムはトラフィックを処理しません。[ランタイム設定](/docs/configure/runtime)と[トラブルシューティング](/docs/operate/troubleshooting)を参照してください。 +- **エアギャップ運用はライセンスモードです。** 通常のライセンスはコントロールプレーンに対してオンラインで検証されます。エアギャップライセンスはローカルで検証され、デプロイはコントロールプレーンがないことも宣言しなければなりません。機能し得ない組み合わせは起動時に拒否されます。[エアギャップデプロイ](/docs/deploy/air-gapped)を参照してください。 +- **ObjectOS Cloud では、プランは環境ごとに強制されます。** 開発環境は Free では拒否されます(`403 DEV_ENV_PLAN_LOCKED`)。容量が満杯の環境は添付ファイルのアップロードと一括インポートを拒否しますが、単一レコードの書き込み、読み取り、エクスポートは決して拒否しません(`403 STORAGE_LIMIT_REACHED`、80% から警告)。MCP エンドポイントはプランのリクエスト上限を超えると `429` を返します。[環境](/docs/cloud/environments)と[ストレージと上限](/docs/cloud/storage-and-limits)を参照してください。 +- **ライセンスが失効してもランタイムは決して停止しません。** Business Self-Managed は有料機能をオフにし、データとランタイムは動作し続けます。フルの Enterprise デプロイは最後に支払ったバージョンを維持します。[ライセンスと料金](/docs/editions/license#faq)を参照してください。 + +## このページはどのエディション向けか [#which-edition-is-this-page-for] + +| バッジ | 意味 | +|---|---| +| Community | ObjectOS Community を自分で実行する場合に当てはまる | +| Cloud | ObjectOS Cloud の Free および Team プランで当てはまる | +| Enterprise | ライセンスを受けたセルフマネージドの ObjectOS Enterprise デプロイで当てはまる | + +デプロイと運用は、2 つのセルフマネージドのエディション、Community と Enterprise 向けです。ObjectOS Cloud では、私たちがデプロイを運用します。 + +## 次へ [#next] + +- [開始](/docs/start/cloud):3 つの入り口。Cloud、Community、Enterprise。 +- [ライセンスと料金](/docs/editions/license):料金、契約、オープンソースライセンス。 +- [パブリックプレビュー](/docs/editions/public-preview):ObjectOS Cloud の現在の段階が、データと連携にとって何を意味するか。 diff --git a/content/docs/editions/license.ja.mdx b/content/docs/editions/license.ja.mdx new file mode 100644 index 00000000..7cb56e42 --- /dev/null +++ b/content/docs/editions/license.ja.mdx @@ -0,0 +1,118 @@ +--- +title: ライセンスと料金 +description: ObjectOS は 3 つのエディションを持つひとつの製品です。Community(オープンソース、無料)、Cloud、Enterprise。それぞれのライセンス形態と、ObjectStack フレームワークとの関係を説明します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 8214fa1bad828f1ed43938ca72f4a791acb69e4bdb82a1e015eec4e78d2d1128 + guide_rev: 1 + mode: auto +--- + +## ひとつの製品、3 つのエディション [#one-product-three-editions] + +ObjectOS は **ObjectStack アプリケーションの公式ランタイム環境**で、3 つのエディションがあります。**ObjectOS Community**(オープンソース、セルフホスト、無料)、**ObjectOS Cloud**(私たちが運用)、**ObjectOS Enterprise**(商用ライセンスのもとであなたが運用)です。ObjectStack は、3 つのエディションが実行するプロトコル、SDK、CLI、フレームワークの名前です。 + +{/* + Naming, decided under #79 and re-confirmed on #107: "Console UI" here and in + the Apache-2.0 list further down names the *component* — the shipped browser + bundle, the `@objectstack/console` package, the same spelling architecture.mdx + and configure/system-settings.mdx were deliberately kept at. #79 retired + "Console" as the name of the end-user surface (a reader opens ObjectOS, not + "the Console") but kept the names of things the product ships, and a license + enumerates artifacts rather than surfaces. Both occurrences on this page are + therefore deliberate — do not rewrite them to "the UI" or to "ObjectOS". +*/} + +オープンソースの部分には 2 つの名前と 1 つのライセンスがあります。**[ObjectStack フレームワーク](https://github.com/objectstack-ai/objectstack)**(Apache-2.0)はプロトコル、カーネル、SDK、CLI です。**ObjectOS Community** はそこから構築されたオープンソースのランタイムと Console UI です。本番用のランタイムイメージ、MCP サーバー、権限と共有、監査、あらゆるプロトコル機能など、**独自のアプリケーションを構築、実行、セルフホスト**するために必要なものすべてが無料で、開発と本番の間に機能の制限はありません。そのコードは同じ objectstack リポジトリにあります。ObjectOS Cloud と ObjectOS Enterprise は、その仕組みの上に**組み込みの AI** と**公式に運用 / サポートされる**プラットフォームが欲しいときに購入するものです。 + +## エディション [#editions] + +ObjectOS Community は無料です。2 つの商用エディションには、ひとつの料金表と 2 つの提供形態があり、**AI シート**が唯一の課金単位です。 + +| | **Community** | **Free** | **Team** | **Enterprise** | +|---|---|---|---|---| +| エディション | ObjectOS Community | ObjectOS Cloud | ObjectOS Cloud | ObjectOS Enterprise | +| 提供形態 | **セルフマネージド** | クラウド | クラウド | **セルフマネージド(プライベートデプロイ)** | +| 料金 | **無料**(Apache-2.0) | **無料** | **$24** / AI シート / 月 | 個別見積もり(ボリューム):[営業にお問い合わせください](mailto:sales@objectstack.ai) | +| UI 内の AI(AI Builder +「データに質問する」) | MCP のみ(モデルは持ち込み) | お試し | ✓ | ✓ | +| AI ガバナンス(アクションの監査、ガードレール、権限のスコープ設定) | — | — | — | ✓ | +| クラスタリング / HA、マルチ組織のセルフホスト、エアギャップ、SCIM | — | — | — | ✓ | +| サポート | コミュニティ | コミュニティ | スタンダード | SLA + 専任 | + +Team とフルのプライベートデプロイの間には、**ObjectOS Enterprise の下の 2 つの契約オプション**があり、料金はこれまでどおりです。**Business**(ObjectOS Cloud 上の SSO と AI ガバナンス、**$54** / AI シート / 月、年額払いでは $45 / AI シート / 月。優先サポート)と **Business Self-Managed**(シングルノードのエントリーオプション、**$540** / AI シート / 年)です。どちらも契約により販売されます。[営業にお問い合わせください](mailto:sales@objectstack.ai)。 + +**無料で**セルフホストしたいですか?それが **ObjectOS Community** です(MCP のみの AI:モデルは持ち込み)。下の [ObjectOS Community](#objectos-community) を参照してください。 + +**オープンな仕組み、クローズドなインテリジェンス。** データをモデル化しアプリを実行するために必要なものはすべてオープンソースです(ObjectStack フレームワーク上の ObjectOS Community)。Cloud と Enterprise は、その上に*組み込みのインテリジェンス*(製品内の AI Builder と「データに質問する」アシスタント。ガバナンスと監査付き)を重ね、さらに運用のスケールと公式サポートを加えます。 + +**支払うのは AI シートだけです。** 課金されるシートは **AI シート**だけです。閲覧者、AI を使わないアプリユーザー、MCP 上で構築する開発者は無料で、ユーザーごとのシート課金はありません(ユーザーあたり $150〜300 の既存製品とは明確に対照的です)。 + +## クラウドかセルフマネージドか [#cloud-or-self-managed] + +セルフマネージドの ObjectOS は、**ObjectOS Community**(無料)または **ObjectOS Enterprise**(ライセンス制)です。Cloud は Free と Team で、Team より上はすべて Enterprise の契約です。 + +- **Cloud(Free / Team)**:フルホスト型、セルフサービス。料金にはホスティングと十分な月間 AI 利用枠が含まれます(モデルは私たちが実行します)。 +- **Enterprise**:契約により販売されるライセンス制の ObjectOS で、3 つの形があります。 + - **Business**:ObjectOS Cloud 上の契約オプション。ホスト型サービス上の SSO / SAML と AI ガバナンス(アクションの監査、ガードレール、権限のスコープ設定)、$54 / AI シート / 月、または年額払いで $45 / AI シート / 月、優先サポート。 + - **Business Self-Managed**:シングルノードのエントリーオプション。Business プランを **10〜25 AI シート**向けの**シングルノード Docker ライセンス**として提供します($540/AI シート/年、年額)。自社のインフラストラクチャ上で UI 内の AI と AI ガバナンスを利用でき、**モデル / キーは持ち込み**です(LLM のコストは自分で支払います。プラットフォームの AI 請求や従量課金はありません)。カード払い、スタンダードサポート。ライセンスが失効しても、ランタイムは動作し続け、データはそのまま残ります。有料機能がオフになるだけです(使えなくなることは決してありません)。 + - **フルのプライベートデプロイ**:それを超えるすべてのもの。クラスタリング / HA / マルチノード、マルチ組織のセルフホスト、データレジデンシーと**エアギャップ**運用、SCIM と ID ライフサイクル、コンプライアンスの証明、SLA と専任サポート、オフライン / 請求書払い。複数年の価格固定オプション付きの**年間ライセンス**として販売されます。更新しない場合、デプロイは**最後に支払ったバージョンを永続的に維持**します(失うのはアップデートとサポートであり、システムやデータではありません)。料金はボリュームベースです。[営業にお問い合わせください](mailto:sales@objectstack.ai)。 + +**ノードごとの課金はありません**。クラスタリング / スケールは Enterprise に含まれます。 + +## それぞれが適するとき [#when-you-might-want-each] + +| シナリオ | 選ぶもの | +|---|---| +| プラットフォームを**ホストして運用してほしい** | ObjectOS Cloud(Free → Team) | +| ホスト型サービスで **SSO と AI ガバナンス**が必要 | **Business**、ObjectOS Cloud 上の ObjectOS Enterprise の契約オプション | +| **自社のシングルノード**で実行しなければならず、製品内の AI が欲しい、25 AI シート以下 | **Business Self-Managed**、ObjectOS Enterprise の契約オプション(シングルノードのエントリー) | +| **クラスタリング / HA**、**マルチ組織**、**エアギャップ**、**SCIM**、コンプライアンスの証明、SLA、オフライン払いが必要 | **ObjectOS Enterprise**、フルのプライベートデプロイ | +| ObjectOS Community をセルフホストしているが、**商用契約付きのサポートされたディストリビューション**(SLA、セキュリティパッチの優先対応、指名エスカレーション)が必要 | **ObjectOS Runtime Subscription**:[営業にお問い合わせください](mailto:sales@objectstack.ai) | +| **無料のセルフホスト**で、MCP 経由で AI を持ち込みたい | **ObjectOS Community**(オープンソース) | +| ObjectOS または ObjectStack の名前で **OEM / 再配布**の権利が必要 | 商用契約:[営業にお問い合わせください](mailto:sales@objectstack.ai) | + +## ObjectOS Community [#objectos-community] + +**ObjectOS Community**(ランタイムイメージと Console UI)と、その土台である **ObjectStack フレームワーク**は、[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) のもとでライセンスされています。コピーレフトなし、明示的な特許許諾、永久に無料。シートも、利用ティアも、ライセンスサーバーも、キーも、テレメトリもありません。ノート PC、自社のサーバー、顧客のサーバー、1000 ポッドのクラスターのどこで実行しても、ライセンスは同じです。そこでの AI の経路はオープンな **MCP サーバー**です。自分の Claude Code(または任意の MCP クライアント)をデプロイに向ければ、自分のモデルでデータをクエリし操作できます。 + +Apache-2.0 であるもの(objectstack リポジトリ内):ランタイムイメージ、すべての`@objectstack/*` npm パッケージ(ランタイム、プラグイン、サービス、ドライバー、アダプター、CLI、クライアント SDK)、templates リポジトリ、そして Console UI(それが提供する Account アプリを含む)。ドキュメントは CC-BY-4.0 です。 + +全文:[LICENSE](https://github.com/objectstack-ai/objectstack/blob/main/LICENSE) + +## 商標 [#trademarks] + +「ObjectOS」と ObjectOS のロゴは**商標**であり、どのコードライセンスの対象でもありません。自社の製品が ObjectOS / ObjectStack の*上に構築されている*、または*互換性がある*と事実に即して述べることはできます。自社の製品名、会社名、ドメイン名にこれらの名前やロゴを使うには書面による許可が必要です。[TRADEMARK.md](https://github.com/objectstack-ai/docs.objectos.ai/blob/main/TRADEMARK.md) を参照してください。 + +## サードパーティのコンポーネント [#third-party-components] + +ObjectOS は ObjectStack フレームワークと、いくつかの上流のオープンソースプロジェクト(Node.js、Hono、Zod、Better Auth、AI SDK など)の上に構築されています。それぞれに独自のライセンスが付属し、すべて商用利用と互換性のある Apache-2.0、MIT、BSD 系の寛容なライセンスです。完全な一覧は、各リリースとともに公開される SBOM を参照してください。 + +## よくある質問 [#faq] + +### ObjectOS はオープンソースですか? [#is-objectos-open-source] + +**ObjectOS Community** はオープンソースです。ランタイムと Console は Apache-2.0 で無料、そのもととなる ObjectStack フレームワークと並んで [objectstack リポジトリ](https://github.com/objectstack-ai/objectstack)でオープンに開発されています。**ObjectOS Cloud**と **ObjectOS Enterprise** は商用エディションで、同じ仕組みの上に組み込みの AI、ホスティングと運用、SSO、サポートを加えたものです。 + +### 顧客に販売するクローズドソースの SaaS で ObjectStack を使えますか? [#can-i-use-objectstack-in-a-closed-source-saas-i-sell-to-my-customers] + +はい。Apache-2.0 にはコピーレフトもロイヤリティもありません。コードを共有する必要はなく、製品が利益を上げても支払うものはありません。 + +### 支払いなしで ObjectOS をセルフホストできますか? [#can-i-self-host-objectos-without-paying] + +はい。それが **ObjectOS Community** です。同じオープンな仕組みをセルフホストし、AI は MCP のみ(モデルは持ち込み)です。*ライセンス制*のセルフマネージドエディションは ObjectOS Enterprise で、その 2 つのオプション(シングルノードの Business Self-Managed、またはフルの Enterprise デプロイ)はどちらも、製品内の AI、AI ガバナンス、商用サポートを追加します。 + +### 更新しないとソフトウェアは動かなくなりますか? [#does-the-software-stop-working-if-i-dont-renew] + +使えなくなることは決してありません。Business Self-Managed は無料の仕組みの動作に戻ります(有料機能はオフになり、データとランタイムは動作し続けます)。フルの Enterprise デプロイは**最後に支払ったバージョンを永続的に**維持します。失うのはアップデート、新しい AI 機能、サポートであり、システムではありません。 + +### ObjectOS は外部に通信しますか? [#does-objectos-phone-home] + +ObjectOS Enterprise はライセンスをオンラインで検証します。エアギャップの Enterprise ライセンスはオフラインで検証します。ObjectOS Community にはテレメトリも、ライセンスチェックも、アップデートの確認通信もありません。 + +### ObjectOS Community に契約上の保証が欲しい場合は? [#what-if-i-want-a-contractual-warranty-on-objectos-community] + +それが **ObjectOS Runtime Subscription** です。ObjectOS Community に対するサポート契約(公式ディストリビューション、SLA、セキュリティパッチの優先対応)で、機能の違いはまったくありません。[sales@objectstack.ai](mailto:sales@objectstack.ai) にお問い合わせください。 + +### ObjectOS Community とフレームワークはずっと無料ですか? [#will-objectos-community-and-the-framework-always-be-free] + +はい。Apache-2.0 の許諾は取り消し不能であり、すでにリリースされたものはすべてリリース時のライセンスのままです。 diff --git a/content/docs/editions/meta.ja.json b/content/docs/editions/meta.ja.json new file mode 100644 index 00000000..df73148b --- /dev/null +++ b/content/docs/editions/meta.ja.json @@ -0,0 +1,5 @@ +{ + "title": "エディション", + "defaultOpen": false, + "pages": ["compare", "license", "public-preview"] +} diff --git a/content/docs/editions/public-preview.ja.mdx b/content/docs/editions/public-preview.ja.mdx new file mode 100644 index 00000000..60043f4d --- /dev/null +++ b/content/docs/editions/public-preview.ja.mdx @@ -0,0 +1,26 @@ +--- +title: パブリックプレビュー +seoTitle: "ObjectOS Cloud パブリックプレビュー:その意味" +description: ObjectOS Cloud はパブリックプレビュー段階です。データは保持され、API はまだ変更される可能性があり、SLA はまだありません。 +editions: [cloud] +translation: + source_sha: cd4762a38174841caa9a60deee0bb14fead010fe52bcf440543efe070cb2bcb2 + guide_rev: 1 + mode: auto +--- + +ObjectOS Cloud は**パブリックプレビュー**段階です。今日からサインアップし、実際のアプリを構築して実行できます。この段階の間は、次の 3 つが当てはまります。 + +| | パブリックプレビュー中 | +|---|---| +| **データ** | 永続的です。構築したものと保存したレコードは保持されます。プレビューは消去されるサンドボックスではありません。 | +| **API** | 変更される可能性があります。一般提供の前に、エンドポイント、パラメーター、レスポンスの形がリリース間で変わることがあります。 | +| **サービスレベル** | SLA はまだありません。公開されるまで、稼働率の約束もサービスクレジットもありません。 | + +## それがあなたにとって意味すること [#what-that-means-for-you] + +- **その上に構築してください。** アプリとそのデータは引き継がれます。プレビューが終わっても最初からやり直すことはありません。 +- **連携するものは固定してください。** 他のシステムが [REST API](/docs/reference/rest-api) や [MCP](/docs/configure/mcp) 経由で ObjectOS Cloud を呼び出す場合は、API が変わったときにその連携を見直すことを想定し、[変更履歴](/docs/resources/changelog)を確認してください。 +- **今すぐ SLA が必要ですか?** ObjectOS を自分で実行してください。**ObjectOS Enterprise** には契約のもとで SLA と専任サポートが付きます。[エディションの比較](/docs/editions/compare)と[ライセンスと料金](/docs/editions/license)を参照してください。 + +パブリックプレビューは ObjectOS Cloud だけの段階です。自分でデプロイして[アップグレード](/docs/operate/upgrade)する ObjectOS Community や ObjectOS Enterprise については何も意味しません。 diff --git a/content/docs/index.ja.mdx b/content/docs/index.ja.mdx new file mode 100644 index 00000000..baaf9d33 --- /dev/null +++ b/content/docs/index.ja.mdx @@ -0,0 +1,87 @@ +--- +title: はじめに +seoTitle: "ドキュメント:開始、構築、デプロイ、運用" +description: "ObjectOS は ObjectStack 上に構築された商用ランタイム環境で、ホスト型(ObjectOS Cloud)またはセルフマネージド(ObjectOS Enterprise)で動作します。オントロジーはあなたのものです。" +editions: [community, cloud, enterprise] +translation: + source_sha: 0347fa621f4342212be72ecb78497ccea72ca3490d850f45dc5b91549d81cf22 + guide_rev: 1 + mode: auto +--- + +オントロジーこそがソフトウェアです。実行可能なひとつのビジネスオントロジー。AI が書き、ランタイムが実行し、エージェントが操作し、あなたが所有します。同じループをブラウザ上のホスト型で、何もインストールせずに使いたいですか?それが ObjectOS、ObjectStack 上に構築された商用ランタイム環境です。ObjectOS は、何もインストールせずにブラウザ上のホスト型で動作するか(ObjectOS Cloud)、あなた自身のインフラストラクチャ上でセルフマネージドで動作し(ObjectOS Enterprise)、どちらのエディションでもオントロジーをエクスポートして、オープンソースの ObjectStack ランタイムで実行できます。 + +ビジネスに必要なもの(ヘルプデスク、承認フロー、CRM)を組み込みの [AI Builder](/docs/build/ai-builder) に説明するか、テンプレートをインストールすると、それが書いたオントロジーは即座に稼働します。REST API、生成された画面、認証、RBAC、監査ログ、ファイルストレージ、バックグラウンドジョブ、Webhook、そしてエージェントが呼び出せる MCP ツールとして公開されたすべてのオブジェクトです。各変更は小さく読みやすい差分で、実行前に人が承認します。 + +オープンソース(Apache-2.0)の [ObjectStack](https://github.com/objectstack-ai/objectstack) スタック、すなわちプロトコル、カーネル、CLI、本番ランタイムは、オントロジーを実行するものであり、ObjectOS の土台です。ObjectOS 上で構築したものはすべて通常の ObjectStack メタデータなので、構造上、そのランタイムへ移植できます。 + +## 開始 [#start] + +| やりたいこと | すること | +|---|---| +| ObjectOS を、何もインストールせずに | **ObjectOS Cloud**、あなたのためのホスト型です。最初のアプリを構築するには Free プランで十分です。[ObjectOS Cloud で始める](/docs/start/cloud)を参照してください | +| ObjectOS を、自社のインフラストラクチャ上でライセンスを受けて | **ObjectOS Enterprise** は、シングルノードの Business Self-Managed オプション以上で、ライセンスされた Enterprise イメージをあなたのサーバー上で実行します。[ObjectOS Enterprise で始める](/docs/start/enterprise)を参照してください | +| ObjectOS を、自分のマシン上で無料で | **ObjectOS Community** はオープンソースのランタイムです。`npm i -g @objectstack/cli && os start` で SQLite データベースとともに設定なしで起動します。[ObjectOS Community をローカルで実行する](/docs/start/community)を参照してください | + +その後、ObjectOS Cloud と ObjectOS Enterprise は同じ場所へ導きます。サインインして、次のことができます。 + +- **AI Builder と対話する**:*「サポートチケットを優先度と担当者付きで管理したい」*。AI Builder があなたの[オントロジー](/docs/ontology)、つまりオブジェクトとそのフィールドを、あなたが承認する小さな差分として書くのを見届けます。[構築 → AI Builder](/docs/build/ai-builder) を参照してください。 +- **組み込みのマーケットプレイスからテンプレートをインストールする**(Todo、Contracts、Helpdesk など)と、ワンクリックで本物のアプリが手に入ります。 +- **[テンプレート](/docs/build/templates)をフォークする**と、TypeScript ソースを自分の管理下に置けます。同じメタデータを、自分のリポジトリでコーディングエージェントとともに作成します。 + +## なぜ …… ではなく ObjectOS なのか [#why-objectos-instead-of-] + +| 今使っているもの | 課題 | ObjectOS が提供するもの | +|---|---|---| +| **Retool / Appsmith** | UI ビルダーは優れているが、データは彼らのクラウドにあり、料金はユーザー数に比例して増える | ホスト型(ObjectOS Cloud)またはあなたのネットワーク内(ObjectOS Enterprise)。オープンソースの ObjectStack(Apache-2.0)上に構築されているため、オントロジーは自由にエクスポートできます。シート課金なし、AI シートのみ | +| **Supabase / Firebase** | BaaS は速いがベンダーロックイン。設計上マルチテナント SaaS | 同じ開発体験(自動 API、認証、ストレージ)ですが、定義はあなたのものです。エクスポートしてオープンな ObjectStack ランタイムで実行するか、自社のデータベース上で ObjectOS Enterprise を実行します | +| **Salesforce / NetSuite** | 強力なプラットフォームだが、カスタマイズは苦痛で、シート単価は目が飛び出るほど高い | 馴染みのある語彙(オブジェクト、フィールド、権限セット、共有ルール)ですが、定義は AI が書き、エージェントが操作し、Apache-2.0 ランタイムへエクスポートできるオープンなオントロジーです。ホスト型でもセルフマネージドでも、シート課金なし。閲覧者と AI を使わないユーザーは無料です | +| **自前で構築(Next + Prisma + NextAuth)** | RBAC、監査、ファイルアップロード、設定、Webhook、ジョブを毎回作り直す | 本来のビジネスロジックを出荷できます。プラットフォームの配管はすでに揃っています | + +## 標準で得られるもの [#what-you-get-out-of-the-box] + +| サーフェス | 内容 | +|---|---| +| **自動 REST API** | 宣言したすべてのオブジェクトに、フィルター/ソート/ページネーション付きの `/api/v1/data/` が用意されます | +| **UI**(`/_console/`) | 生成された画面:レコードの閲覧と編集、そしてユーザー/ロール/権限セットの管理、監査ログ、セッション、API キー、設定の確認を行う **Setup** | +| **Account**([UI 内](/docs/resources/glossary#surface)) | ログイン、登録、パスワードリセット、OAuth、OIDC/SSO、パスキー、2FA | +| **MCP サーバー**(`/api/v1/mcp`) | デフォルトで有効:すべてのオブジェクトがツールであり、AI に公開したすべてのアクションもツールです。エージェントはユーザーとして、そのユーザーの権限のもとで接続します。[AI ツールを接続する(MCP)](/docs/configure/mcp)を参照してください | +| **20 以上のプラグイン** | RBAC + 行レベルセキュリティ、監査、ファイルストレージ、キュー、ジョブ、メール、AI、Webhook。宣言的で、必要に応じて有効化 | + +## あなたの手元に残るもの [#what-stays-yours] + +どちらのエディションでも、オントロジーはあなたのものです。オブジェクト、フィールド、リレーション、アクション、権限、フロー、エージェント定義は通常の ObjectStack メタデータであり、エクスポートしてオープンソースの ObjectStack ランタイムで実行できます。**ObjectOS Enterprise** では、それ以外のものもすべてあなたの手元に残ります。[データレジデンシー](/docs/reference/security#data-residency)には、データの各分類について、どこに保存され、ネットワークの外に出るかどうかが記載されています。 + +セルフマネージドの ObjectOS はライセンスをオンラインで検証します。Enterprise のエアギャップライセンスはオフラインで検証します。したがって、インターネットにアクセスできないネットワークは Enterprise の正式なデプロイ先です。[エアギャップ](/docs/deploy/air-gapped)を参照してください。 + +## ドキュメントを探す [#find-your-docs] + +このドキュメントは 4 種類の読者を対象としています。ObjectOS の使い方に合ったセクションから始めてください。 + +| あなたは …… | やりたいこと | ここから | +|---|---|---| +| **日常的なユーザー** | アプリで作業する:レコード、ビュー、ダッシュボード、承認 | [使い方](/docs/use) | +| **ビルダー** | アプリを作成する:データモデル、インターフェース、自動化、AI エージェント | [構築](/docs/build) | +| **管理者** | プラットフォームを運用する:ユーザー、権限、設定、デプロイ | [設定](/docs/configure)、[デプロイ](/docs/deploy)、[運用](/docs/operate/production) | +| **エージェント、またはそれを接続する人** | MCP 経由でアプリを操作する:レコードの読み書き、AI に公開されたアクションの実行。ユーザーの権限のもとで | [AI ツールを接続する(MCP)](/docs/configure/mcp) | + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| 何もインストールせずに始める | [ObjectOS Cloud で始める](/docs/start/cloud) | +| 実際に動くところを見る | [ObjectOS Community をローカルで実行する](/docs/start/community) | +| 各エディションに含まれるものを比較する | [エディションの比較](/docs/editions/compare) | +| 中身を理解する | [アーキテクチャ](/docs/architecture) | +| Docker で実行する | [Docker](/docs/deploy/docker) | +| Kubernetes にデプロイする | [Kubernetes](/docs/deploy/kubernetes) | +| Postgres / 自社の DB に接続する | [ランタイム設定](/docs/configure/runtime) | +| SSO を設定する | [認証](/docs/configure/authentication) | +| 誰が何を見られるかを制限する | [権限](/docs/configure/permissions) | +| 別のサービスから呼び出す | [API アクセス](/docs/configure/api-access) | +| 他のシステムにイベントを送る | [Webhook](/docs/configure/webhooks) | +| 本番に移行する | [本番環境への準備](/docs/operate/production) | + +## ライセンスと料金 [#license--pricing] + +ObjectOS は **3 つのエディションを持つひとつの製品**です。**ObjectOS Community**、すなわち Apache-2.0 の **[ObjectStack フレームワーク](https://github.com/objectstack-ai/objectstack)** 上に構築されたオープンソースのランタイムと Console は、商用製品での利用、組み込み、セルフホストが無料で、シート単価もライセンスサーバーもありません。**ObjectOS Cloud** と **ObjectOS Enterprise** は、UI に組み込まれた AI、ガバナンス、公式の運用を追加し、料金は **AI シートのみ**です(閲覧者と AI を使わないユーザーは無料)。「年額 5 万ドルから」はありません。[ライセンスと料金](/docs/editions/license)を参照してください。 diff --git a/content/docs/start/cloud.ja.mdx b/content/docs/start/cloud.ja.mdx new file mode 100644 index 00000000..7086f29a --- /dev/null +++ b/content/docs/start/cloud.ja.mdx @@ -0,0 +1,45 @@ +--- +title: ObjectOS Cloud で始める +seoTitle: "ObjectOS Cloud で始める:サインアップして最初のアプリを構築する" +description: あなたのためにホストされる ObjectOS、インストールするものは何もありません。サインアップし、組織に名前を付け、その本番環境を作成し、最初のアプリを構築してチームを招待します。 +editions: [cloud] +translation: + source_sha: f83df72638808eeefa3a77e192b7ec0158e83be9e366f36a3d9c7fd74b8fedf5 + guide_rev: 1 + mode: auto +--- + +**ObjectOS Cloud** は、あなたのためにホストされ運用される ObjectOS です。作業はブラウザで行い、インストールやデプロイするものは何もありません。**Free** プランで最初のアプリを構築するには十分です。ObjectOS Cloud は[パブリックプレビュー](/docs/editions/public-preview)段階です。 + +自分のマシン上で使いたいですか?それは [ObjectOS Community](/docs/start/community) です。自社のインフラストラクチャ上で、ライセンスを受けて使いたいなら、[ObjectOS Enterprise](/docs/start/enterprise) です。 + +## 1. サインアップする [#1-sign-up] + +[www.objectos.ai](https://www.objectos.ai) から始めて、アカウントを作成します。 + +## 2. 組織を作成する [#2-create-your-organization] + +組織は、チームが共有するワークスペースです。そのアプリ、そのデータ、そのメンバーです。名前と **slug**(ObjectOS が組織を指すのに使う短い識別子)を付けます。 + +## 3. 本番環境を作成する [#3-create-the-production-environment] + +組織はアプリを環境の中で実行します。組織の**本番環境**を作成してください。最初のアプリはそこに置かれます。Free プランでは、本番が唯一の環境です。[環境](/docs/cloud/environments)を参照してください。 + +## 4. 最初のアプリを構築する [#4-build-your-first-app] + +方法は 2 つあり、両方を使えます。 + +- **[AI Builder](/docs/build/ai-builder) に説明する**:*「サポートチケットを優先度と担当者付きで管理したい」*。AI Builder はオブジェクト、フィールド、ビューを、実行前にあなたが承認する変更として提案します。 +- **[テンプレート](/docs/build/templates)をインストールして**、動作するアプリから始めます。 + +開発者にはさらに 2 つの道があります。ソースで構築して[パッケージ](/docs/build/packages#two-developer-routes-on-objectos-cloud)を公開するか、自分のエージェントに [MCP](/docs/configure/mcp#build-with-an-agent) 経由で、人が公開するドラフトとして構築させます。どちらの場合も、結果は通常の ObjectStack メタデータです。REST API、生成された画面、権限、監査がそれに付いてきます。次に追加できるものすべては[構築](/docs/build)を参照してください。 + +## 5. チームを招待する [#5-invite-your-team] + +アプリを使う人を招待します。課金されるのは **AI シート**だけです。閲覧者と、製品内の AI を使わずにアプリを使う人は無料です。招待とロールについては[組織とメンバー](/docs/cloud/organization)、環境内のアクセスについては[ユーザー](/docs/configure/users)、誰が何を見られるかについては[権限](/docs/configure/permissions)を参照してください。 + +## 次へ [#next] + +- [ObjectOS を使う](/docs/use):チームがサインインしたときに目にするもの。 +- [AI ツールを接続する(MCP)](/docs/configure/mcp):エージェントにユーザーの権限のもとでアプリを操作させます。 +- [エディションの比較](/docs/editions/compare):Free と Team それぞれに含まれるもの。 diff --git a/content/docs/start/community.ja.mdx b/content/docs/start/community.ja.mdx new file mode 100644 index 00000000..450a8c0d --- /dev/null +++ b/content/docs/start/community.ja.mdx @@ -0,0 +1,296 @@ +--- +title: ObjectOS Community をローカルで実行する +seoTitle: "os start または os init で ObjectOS Community をローカルで実行する" +description: "オープンソースのランタイムである ObjectOS Community で、ゼロから動作するアプリまで。ひとつの CLI、ひとつのコマンドで、アカウントも Docker も不要です。" +editions: [community] +translation: + source_sha: 830910eec853d34ebcd2357928eec4e753013766473391a72b60214c2479ce9e + guide_rev: 1 + mode: auto +--- + +**ObjectOS Community** は ObjectOS のオープンソースエディションです。ランタイムとその UI で、Apache-2.0 の ObjectStack フレームワーク上に構築され、どこでも無料で実行できます。このページでは、ひとつの CLI とひとつのコマンドで自分のマシン上に起動します。ここではアカウントもライセンスも Docker も必要ありません。 + +他の 2 つの入り口にはそれぞれ専用のページがあります。何もインストールせずにホスト型で使いたいなら [ObjectOS Cloud で始める](/docs/start/cloud)、自社のインフラストラクチャ上でライセンス制のエディションを使うなら [ObjectOS Enterprise で始める](/docs/start/enterprise)を参照してください。ここで構築したものは通常の ObjectStack メタデータなので、すべてのエディションで動作します。 + +オープンなランタイムを起動する方法は、何をしているかによって 2 つあります。 + +| あなたは …… | ここから | +|---|---| +| オープンなランタイムを初めて試す、または本番で実行する | [パス A:`os start`](#path-a--os-start-operator--first-time-evaluator) | +| コードでアプリを構築またはカスタマイズする | [パス B:`os init`](#path-b--os-init-developer) | + +どちらも UI 付きの稼働中のサーバーを生成します。アカウントのサインイン、登録、セルフサービスはその UI 内のルートであり、別のサーフェスではありません。違いは、ソースファイルをスキャフォールドするかどうかです。 + +## 前提条件 [#prerequisites] + +- **Node.js 22 以降**:`node --version` +- ターミナル + +それだけです。Docker も、データベースも、アカウント登録も不要です。 + +--- + +## パス A:`os start`(運用担当者 / 初めての評価者) [#path-a--os-start-operator--first-time-evaluator] + +CLI をグローバルにインストールしてから実行します。 + +```bash +npm i -g @objectstack/cli +os start +``` + +次のように表示されます。 + +```text +◆ ObjectStack +──────────────────────────────────────── +🏠 Home: ~/.objectstack +📦 Artifact: none (empty kernel — install apps via the Console marketplace) +🗄️ Database: file:~/.objectstack/data/objectstack.db +🎯 Environment: env_local + → Starting server... + + ✓ Server is ready + + ➜ API: http://localhost:3000/ + ➜ Console: http://localhost:3000/_console/ + ➜ MCP: http://localhost:3000/api/v1/mcp + connect an AI client (Claude Code, Cursor, …) · skill: http://localhost:3000/api/v1/mcp/skill + + Mode: production + Driver: SqlDriver(better-sqlite3) → ~/.objectstack/data/objectstack.db + Tenancy: single + Plugins: 32 loaded + + Press Ctrl+C to stop +``` + +それだけです。オープンソースのランタイムである ObjectOS Community が動作しています。ObjectOS Cloud と ObjectOS Enterprise がその上に何を追加するかは、[エディションの比較](/docs/editions/compare)を参照してください。 + +上のブロックは、`@objectstack/cli` 17.7.0 が空のカーネルを起動したときの出力を書き写したものです。ホームパスは `~/…` と表示していますが、CLI は展開したパスを表示します。実際の起動では、サーバーの起動前に `No objectstack.config.ts or artifact found` の行も表示され、さらに起動時の注意事項(ローカルストレージドライバー、開発用の暗号鍵、起動診断)と読み込まれたプラグイン名の完全な一覧も表示されます。どちらも環境によって異なります。 + +### 何が動いているか [#whats-running] + +| URL | 内容 | +|---|---| +| http://localhost:3000/_console/register | 最初のアカウントを作成する | +| http://localhost:3000/_console/ | 生成された UI と **アプリマーケットプレイス** | +| http://localhost:3000/_console/apps/setup | **Setup**:ユーザー、ロール、監査ログ、設定 | +| http://localhost:3000/api/v1/health | Liveness:プロセスが起動しているか | +| http://localhost:3000/api/v1/ready | Readiness:起動していて、**かつ**データを提供しているか | + +ランタイムは**空のカーネル**で起動します。オブジェクトもアプリもなく、マーケットプレイスが公開されているので、出来合いのアプリを数秒でインストールできます。 + +ここではどちらのプローブも 200 を返し、ローカルではそれをつなぐ先もありません。しかし両者は交換可能ではないので、デプロイする前にどちらがどちらかを知っておく価値があります。Liveness はプロセスが実行中であることだけを報告するため、データベースが停止している間もずっと正常のままです。Readiness は、データドライバーが応答しなくなった時点で **503** を返します。どのプローブをどこに使うかは [Docker](/docs/deploy/docker) と [Kubernetes](/docs/deploy/kubernetes)で説明しています。 + +### チャットで構築する:AI Builder [#build-by-chat--the-ai-builder] + +製品内の AI Builder は ObjectOS のものです。ObjectOS Cloud と ObjectOS Enterprise に含まれ、今起動したオープンなランタイムには含まれません。オープンなランタイムの AI 経路は、バナーに表示された MCP エンドポイント(`http://localhost:3000/api/v1/mcp`。Claude Code や任意の MCP クライアントをそこに向けます)です。ObjectOS では、サインインしたら AI アシスタント(右上のきらめきアイコン)を開き、必要なものを説明します。 + +> *「顧客サポートのチケットを管理したい。各チケットには件名、説明、優先度(low/medium/high/urgent)、ステータス、担当者がある。ステータスでグループ化したカンバンビューを追加して。」* + +AI が計画を提案し、あなたが承認すると、メタデータが稼働します。REST エンドポイント、生成されたビュー、監査ログのエントリ、権限によるゲートです。ファイルの編集も再起動もありません。語彙の全体は [構築 → AI Builder](/docs/build/ai-builder)を参照してください。 + +> **IDE で手書きしていますか?** `npx skills add objectstack-ai/objectstack/skills`を実行すると、Claude Code / Cursor / Copilot / Codex に、ObjectStack メタデータ(ObjectOS が実行するオントロジー)を実際の Zod スキーマに沿って作成する方法を教えられます。[構築 → IDE スキル](/docs/build/ai-skills)を参照してください。 + +### マーケットプレイスからアプリをインストールする [#install-an-app-from-the-marketplace] + +**http://localhost:3000/_console/** を開き、サインインして、アプリを選びます。 + +| アプリ | 得られるもの | +|---|---| +| Todo | 汎用のタスク & プロジェクト管理 | +| Contracts | AI による抽出付きの契約ライフサイクル | +| Procurement | ベンダー、発注書、3 点照合 | +| Compliance | SOC 2 / ISO 27001 の統制 + 証跡 | +| Helpdesk | AI ファーストのカスタマーサポート | +| Content | 編集カレンダー + チャネル ROI | +| HR | 名簿、組織図、休暇 | + +インストール → 再読み込み → そこにあります。オブジェクト、ビュー、権限、シードデータ付きです。再起動は不要です。 + +### よく使うフラグ [#common-flags] + +```bash +os start --port 3200 # different port +os start --database postgres://... # external database +os start --auth-secret "$(openssl rand -hex 32)" # enable auth in /api/v1/auth/* +os start --home /var/lib/objectos # persistent home (production) +``` + +すべてのオプションは[ランタイム設定](/docs/configure/runtime)を、本番向けの構成は [Docker](/docs/deploy/docker) を参照してください。 + +--- + +## パス B:`os init`(開発者) [#path-b--os-init-developer] + +独自のデータモデル、ビュー、フローを定義するために TypeScript を書くときに使います。 + +```bash +npx @objectstack/cli init my-app -t app --install +cd my-app +pnpm dev +``` + +次のように表示されます。 + +```text +◆ Development Mode +──────────────────────────────────────── +📂 Config: my-app/objectstack.config.ts + → Compiling objectstack.config.ts → dist/objectstack.json... + +◆ Compile +──────────────────────────────────────── + ✓ Build complete (312ms) + + Data: 1 Objects 3 Fields + UI: 0 Apps + Logic: 0 Flows + Security: 0 Positions 0 Permissions + Runtime: 0 plugins + + Artifact: my-app/dist/objectstack.json (2.2 KB) + + → Starting dev server (local mode)... +🎯 Environment ID: env_local +📦 Artifact: dist/objectstack.json +🗄️ Database: file:my-app/.objectstack/data/objectstack.db + 👁 watching objectstack.config.ts, src — rebuild + restart on change + + ✓ Server is ready + + ➜ API: http://localhost:3000/ + ➜ Console: http://localhost:3000/_console/ + ➜ MCP: http://localhost:3000/api/v1/mcp + connect an AI client (Claude Code, Cursor, …) · skill: http://localhost:3000/api/v1/mcp/skill + + 🔑 Dev admin: admin@objectos.ai / admin123 + seeded on empty DB · dev only — do not use in production + platform admin — Setup, Studio and every record, but NO app-declared capability, so + an app that gates navigation on requiredPermissions may show it an empty menu; grant + it a permission set under Setup → Users, or sign in as an account your app seeds + + Artifact: dist/objectstack.json + Mode: development + Driver: SqlDriver(better-sqlite3) → my-app/.objectstack/data/objectstack.db + Tenancy: single + Plugins: 38 loaded + + Press Ctrl+C to stop +``` + +上のブロックは、`@objectstack/cli` 17.7.0 で作成したスキャフォールド上で `pnpm dev` を実行したときの出力を書き写したものです。プロジェクトパスは `my-app/…` と表示していますが、CLI は展開したパスを表示します。また `Build complete` の時間は書き写したマシンが計測した値なので、あなたの環境では異なります。実際の実行では、ブロックの上に pnpm のスクリプトヘッダー、ステップごとのコンパイル進捗、起動時の注意事項(設定の読み込み、開発用のシークレットフィールド暗号化)、読み込まれたプラグイン名の完全な一覧、起動診断、MCP 接続の末尾メッセージも表示されます。その末尾メッセージは別のプロセスが出力するため、通常はバナーの途中に入り込み、しばしば 1 行ずつ交互に混ざります。 + +開発サーバーはポート **3000** を要求することに注意してください。これは `os start` と同じポートです。そのポートが使用中の場合は、次の空きポートにバインドし、そのことを表示します。`↪ server bound to port 3001 (requested 3000)`。 + +### 独自のオブジェクトを追加する [#add-your-own-object] + +追加するすべてのオブジェクトは、プロジェクトの名前空間を持ちます。`os init` はそれをプロジェクト名から導出し(`my-app` → `my_app`)、`objectstack.config.ts` に `manifest.namespace` として書き込んだので、タスクオブジェクトは`my_app_task` です。コンパイルは素の `task` を`Rename it to 'my_app_task' (namespace = 'my_app')` で拒否し、次のルールを示します。``Every object.name must be `${manifest.namespace}_${shortName}`.`` + +`src/objects/task.object.ts` を作成します。 + +```ts +// src/objects/task.object.ts +import { ObjectSchema, Field } from '@objectstack/spec/data'; + +const task = ObjectSchema.create({ + name: 'my_app_task', + label: 'Task', + fields: { + subject: Field.text({ label: 'Subject', required: true, maxLength: 200 }), + done: Field.boolean({ label: 'Done', defaultValue: false }), + due: Field.date({ label: 'Due' }), + assignee: Field.lookup('sys_user', { label: 'Assignee' }), + }, + // Org-wide default: who sees records they don't own. Required — the + // compile refuses an object that declares none. + sharingModel: 'private', +}); + +export default task; +``` + +次に、それを `src/objects/index.ts` からエクスポートします。`objectstack.config.ts` は各ディレクトリをその `index.ts` バレル経由で読み込むため、バレルがエクスポートしないファイルは読み込まれません。サンプルオブジェクトの行の下に次の行を追加します。`export { default as task } from './task.object';` + +`npx objectstack generate object task` は、ファイルのスタブと同じバレルの行を書き込みます。 + +保存します。開発サーバーは再コンパイルし、`✚ new object(s): my_app_task — table & seeds sync on restart` を表示して、新しいビルドで自分自身を再起動します。書くべきマイグレーションも、実行すべき再起動もありません。`✗ compile failed` だけが表示された場合は、`pnpm build` を実行して原因を確認してください。これで次のものが手に入ります。 + +- **`/api/v1/data/my_app_task`**:作成、読み取り、更新、削除を、フィルター、ソート、ページネーション付きで([REST API](/docs/reference/rest-api))。サインインした呼び出し元にのみ応答するので、まず開発用管理者としてサインインしてください(下記)。 +- **生成された一覧、フォーム、レコードページ**:スキャフォールドはまだアプリを宣言していないため、Console 内にそれらへのリンクはありません。`http://localhost:3000/_console/apps/setup/my_app_task` を開いてください。 +- **権限セットエディターの Task 行**:Setup → Permission Sets でセットを開き、*Design in Studio* を選びます。そのセットに対する作成、読み取り、編集、削除です。 +- **監査ログのエントリ**:作成、更新、削除のそれぞれが、Setup → Audit Logs に一覧表示されます。 + +```bash +curl -c cookies.txt -H 'Content-Type: application/json' \ + -d '{"email":"admin@objectos.ai","password":"admin123"}' \ + http://localhost:3000/api/v1/auth/sign-in/email +curl -b cookies.txt -H 'Content-Type: application/json' \ + -d '{"subject":"Try the API"}' \ + http://localhost:3000/api/v1/data/my_app_task +curl -b cookies.txt http://localhost:3000/api/v1/data/my_app_task +``` + +### プロジェクトの構成 [#project-layout] + +```text +my-app/ +├── objectstack.config.ts # defineStack(): manifest + one key per barrel +├── src/ # one index.ts barrel per directory +│ ├── actions/ +│ ├── apps/ +│ ├── dashboards/ +│ ├── flows/ +│ ├── objects/ # index.ts + my_app_item.object.ts, the sample object +│ ├── picklists/ +│ ├── skills/ +│ └── views/ +├── dist/ +│ └── objectstack.json # Compiled artifact (regenerated on save) +├── .objectstack/ # Local SQLite databases (pnpm dev creates them) +├── package.json +├── pnpm-workspace.yaml +└── tsconfig.json +``` + +`os init` は `.gitignore` とインストーラーのロックファイルも書き込みます。 + +`dist/objectstack.json` が本番に出荷するものです。これをランタイム(オープンな ObjectStack イメージ、または ObjectOS Enterprise のデプロイ)にマウントすると、それがあなたのアプリになります。 + +### テンプレートから始める [#or-start-from-a-template] + +本番向けのスターターは [github.com/objectstack-ai/templates](https://github.com/objectstack-ai/templates) にあります。 + +```bash +git clone https://github.com/objectstack-ai/templates.git +cd templates/packages/todo +pnpm install +pnpm dev # http://localhost:4002 +``` + +各テンプレートは 2500 行未満で、一度に読み通せ、単体で動作します。 + +--- + +## 標準で読み込まれるもの [#whats-loaded-out-of-the-box] + +どちらのパスでも、次のプラグインが自動的に読み込まれます。 + +> HTTP サーバー、REST API、Dispatcher、MCP サーバー、Auth、Security(RBAC + RLS + FLS)、Audit、Sharing、プラットフォームオブジェクト、Metadata、ObjectQL、デフォルトのデータソースと外部データソースおよびデータソース管理のサービス、Queue、Jobs、Cache、Settings、Email、SMS、Messaging、Storage、Analytics、外部検証、Marketplace、パッケージ管理、マイグレーションの復旧、Setup と Account のアプリ、そして Console UI。 + +パス B では、スキャフォールドの `objectstack.config.ts` が`requires: ['automation', 'triggers']` を宣言しているため、自動化サービスに加えて、レコード変更、スケジュール、相対時間、受信 HTTP/Webhook のフロートリガーも読み込まれます。また、`pnpm dev` が開発モードで実行されるため、専用のテレメトリデータソース(データベースの隣にある 2 つ目の SQLite ファイル)も開きます。 + +どれもインポートしたり配線したりする必要はありません。上の一覧は何も宣言していなくても読み込まれ、自動化サービスとフロートリガーは何かがそれを必要と宣言すると有効になり、開発モードはテレメトリデータソースを追加します。 + +## 次のステップ [#next-steps] + +| 次にすること | 読むもの | +|---|---| +| Docker で実行する(本番向けの構成) | [Docker](/docs/deploy/docker) | +| SQLite の代わりに Postgres を使う | [ランタイム設定](/docs/configure/runtime) | +| Google / Okta / Entra のログインを追加する | [認証](/docs/configure/authentication) | +| 誰が何をできるかを制限する | [権限](/docs/configure/permissions) | +| Slack / Zapier / 自社のサービスにイベントを送る | [Webhook](/docs/configure/webhooks) | +| 本番にデプロイする | [本番環境への準備](/docs/operate/production) | diff --git a/content/docs/start/enterprise.ja.mdx b/content/docs/start/enterprise.ja.mdx new file mode 100644 index 00000000..f8538773 --- /dev/null +++ b/content/docs/start/enterprise.ja.mdx @@ -0,0 +1,30 @@ +--- +title: ObjectOS Enterprise で始める +seoTitle: "ObjectOS Enterprise で始める:ライセンス制、セルフマネージド" +description: ObjectOS Enterprise は、自社のインフラストラクチャ上で実行するライセンス制のエディションです。ライセンスの入手方法と、デプロイガイドの出発点を説明します。 +editions: [enterprise] +translation: + source_sha: 65aa2affdd32ca612f967daaffd1275dc3cb60a61e72bd88b99c97ee9c0f11f2 + guide_rev: 1 + mode: auto +--- + +**ObjectOS Enterprise** は、商用ライセンスのもとで、あなたが運用するインフラストラクチャ上で動作する ObjectOS です。製品内の AI、AI ガバナンス、公式のサポートを自社のサーバー上で利用でき、フルのプライベートデプロイでは、クラスタリング、ひとつのデプロイ上の複数の組織、SCIM、エアギャップ運用も利用できます。完全な一覧は[エディションの比較](/docs/editions/compare)を、シングルノードの **Business Self-Managed** 以上の契約オプションは[ライセンスと料金](/docs/editions/license)を参照してください。 + +## 1. ライセンスを入手する [#1-get-a-license] + +ObjectOS Enterprise は契約により販売されます。[営業にお問い合わせください](mailto:sales@objectstack.ai)。ライセンスにはライセンスされた Enterprise イメージのレジストリ認証情報が付属し、各リリースのリリースノートには実行すべき正確なイメージダイジェストが記載されています。 + +## 2. デプロイする [#2-deploy] + +デプロイガイドは[デプロイ](/docs/deploy)から始まり、すべてのデプロイが行う 3 つの判断を順に説明します。その後、構成を選びます。 + +- [Docker](/docs/deploy/docker):サポートされる構成。プル、検証、ライセンス、実行、スケール、アップグレード。 +- [Kubernetes](/docs/deploy/kubernetes):どのオーケストレーターも保持しなければならない特性。 +- [エアギャップ](/docs/deploy/air-gapped):ライセンスモードとしてのエアギャップと、起動時に拒否される組み合わせ。 + +## 3. 運用する [#3-operate] + +[本番環境への準備](/docs/operate/production)は、本番稼働前のチェックリストです。そこから先のバックアップ、アップグレード、可観測性、監査ログは[運用](/docs/operate)で扱います。 + +購入前に評価したいですか?[ObjectOS Community](/docs/start/community) は同じランタイムを無料で実行し、その上で構築したものは通常の ObjectStack メタデータなので、そのまま Enterprise に移行できます。 diff --git a/content/docs/start/meta.ja.json b/content/docs/start/meta.ja.json new file mode 100644 index 00000000..5c8508c5 --- /dev/null +++ b/content/docs/start/meta.ja.json @@ -0,0 +1,5 @@ +{ + "title": "開始", + "defaultOpen": false, + "pages": ["cloud", "community", "enterprise"] +} diff --git a/content/docs/use/approvals.ja.mdx b/content/docs/use/approvals.ja.mdx new file mode 100644 index 00000000..bf28ea37 --- /dev/null +++ b/content/docs/use/approvals.ja.mdx @@ -0,0 +1,76 @@ +--- +title: 承認 +seoTitle: "承認の受信トレイ:申請、レビュー、リクエストの追跡" +description: レコードを承認に回し、自分に割り当てられたリクエストに対応し、すべての承認の状況を常に把握します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 2e66606b534686f5a7d8944dc432440b441ef36a02de56101bfa89b2627a1ce3 + guide_rev: 1 + mode: auto +--- + +一部のレコードは、先に進む前に承認が必要です。上限を超える経費、値引き、休暇申請などです。そのような場合、ObjectOS は**承認リクエスト**を作成します。これはシステムが管理する稼働中のレコードで、その 1 回の申請を、送信された瞬間から誰かが承認または却下するまで追跡します。これらの追跡用レコードを自分で作成したり編集したりすることはありません。判断が下されるたびに、システムが最新の状態に保ちます。 + +このページでは、プロセスの両側を扱います。何かを承認に回すことと、自分を待っているリクエストに対応することです。 + +## 承認の受信トレイ [#your-approval-inbox] + +承認に関するものはすべて、ひとつの場所にあります:**Account → Inbox → Approvals**。**Account** アプリを開き(全員が利用できます)、左のサイドバーで **Inbox** を展開して、**Approvals** を選びます。 + +リストの上部にはビューのタブがあり、同じ受信トレイを 4 つの切り口で見られます。 + +| ビューのタブ | 表示内容 | +|---|---| +| **My Pending** | *あなた*の判断を待っているリクエスト。これがあなたの ToDo リストです。 | +| **I Submitted** | あなたが承認に回したリクエスト。自分の申請の状況はここで確認します。 | +| **Completed** | 判断が下された(承認または却下された)リクエスト。 | +| **All** | あなたが見られるすべての承認リクエスト。どれが見られるかは下で説明します。 | + +あなたを待っているものが何もないとき、**My Pending** には空の状態 *"No pending approvals — You're all caught up."* が表示されます。一日の終わりに見たい画面です。 + +**見えるのは、自分が関わっているリクエストです。** リクエストが見えるのは、それを申請した人、現在それが待っている相手(直接、または保持しているポジションを通じて)、そしてすでに判断またはコメントした人です。管理者はすべてのリクエストを見られます。レコードを開けるだけでは不十分です。レコードを読み取れても承認に関わっていない同僚には、そのリクエスト、コメント、添付ファイルは見えません。 + +> **ヒント:** Approvals の受信トレイをブックマークするか、ホームページの **Needs your attention** の一覧をちらっと見てください。保留中の承認はそこにも、待っている時間とともに表示されます。 + +## 承認リクエストとは [#what-an-approval-request-is] + +| これは…… | これではない…… | +|---|---| +| 申請ごとに追跡される稼働中のインスタンス。承認に回したレコード 1 件につきリクエスト 1 件 | レコード自体のコピー | +| システム管理。判断が下されるにつれて自動的に作成、更新、クローズされる | 手で編集するもの | +| 監査証跡。誰が申請し、誰が割り当てられ、何がいつ決まったか | 消えてしまう一度きりの通知 | + +各申請がそれぞれのリクエストを持つため、却下後にレコードを再申請すると、新しいリクエストが始まります。古いリクエストは履歴として **Completed** に残ります。 + +## リクエストに対応する [#acting-on-a-request] + +リクエストがあなたに回されると、2 つのことが起こります。 + +1. **通知が届きます**:トップバーのベルに未読のバッジが表示され、その項目がホームページの **Needs your attention** と **Account → Inbox → Notifications** に表示されます。 +2. **レコードにあなた向けの承認アクションが表示されます**:該当するレコードを開くと、レコードアクションとして **Approve** と **Reject** が表示されます。これらのボタンは割り当てられた承認者にだけ表示され、レコードを見ている他の人には表示されません。 + +| するには | 方法 | +|---|---| +| 自分を待っているものを確認する | **Account → Inbox → Approvals** → **My Pending**、またはベル / **Needs your attention** | +| 詳細を確認する | リクエストからレコードを開き、他のレコードと同じようにハイライトとフィールドセクションを読みます | +| 判断する | **Approve** または **Reject** のレコードアクションを使います | +| 処理されたことを確認する | リクエストが **Completed** に移り、申請者に通知されます | + +> **ヒント:** リクエストだけでなく、レコードを読んでください。承認リクエストは、何かに判断が必要だという*こと*を伝えます。承認す*べきかどうか*を伝えるのはレコード自体です。 + +## 保留中にロックされるレコード [#records-locked-while-pending] + +承認の設定によっては、リクエストが保留中の間、レコードが**ロック**されることがあります。判断が下されるまでフィールドを編集できません。これは承認者を守るためです。承認するものは申請されたものとまったく同じで、その間にこっそり編集されることはありません。ロックされたレコードを変更する必要がある場合は、承認者に却下してもらい(またはアプリが許す場合は取り下げ)、変更を加えてから再申請してください。 + +## アプリが提供するレビューキュー [#app-provided-review-queues] + +一部のアプリは、独自に整理した**レビューキューのページ**を追加します。たとえば、アプリのナビゲーションにある「Approvals」ページで、そのチームに関係する項目だけを、あらかじめフィルターした状態で処理できるように表示します。あればそれを使ってください。中身は同じリクエストで、より使いやすい見せ方にすぎません。**Account → Inbox → Approvals** の受信トレイは、常にすべてがひとつの場所にある完全なビューです。 + +## 次に進む [#where-to-go-next] + +| 次にすること | 読むもの | +|---|---| +| 日常的なユーザーとして ObjectOS を見て回る | [ObjectOS を使う](/docs/use) | +| 承認するレコードを操作する | [レコード](/docs/use/records) | +| 自分に回されたその他すべてを把握する | [通知](/docs/use/notifications) | +| 承認者と同じようにリストを切り分ける | [ビュー](/docs/use/views) | diff --git a/content/docs/use/collaboration.ja.mdx b/content/docs/use/collaboration.ja.mdx new file mode 100644 index 00000000..ae83fe16 --- /dev/null +++ b/content/docs/use/collaboration.ja.mdx @@ -0,0 +1,122 @@ +--- +title: レコードでのコラボレーション +seoTitle: "レコードのディスカッション、@メンション、履歴、共有リンク、公開フォーム" +description: チームとレコードについて話し合い、人を @メンションし、何が誰によって変更されたかを確認します。そして共有リンクと公開フォームが外部の人に何を開くかを説明します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 6f006fa86f045c560def736d420ace4826af5c3751a280f581b2c7d8bbc2d102 + guide_rev: 1 + mode: auto +--- + +{/* + Platform checklist items this page documents (objectstack + docs/qa/platform-checklist/areas/records-forms.json and access-security.json): + records-forms.record-discussion-mentions, + records-forms.comment-reactions-and-edit-stamps, + records-forms.field-history-tracking, + access-security.share-link-capability-tokens, + access-security.share-link-landing-page, + access-security.share-link-combined-gates, + access-security.public-form-intake, + access-security.public-form-withdrawal-layers. +*/} + +レコードに関する作業がひとりで完結することはめったにありません。すべてのレコードページは、そのレコードについての会話と、何が変わったかの記録を持てます。さらにアプリがそのように設定されていれば、サインインしない人にレコードを見せたり、その人からデータを集めたりする方法も持てます。 + +## ディスカッション [#the-discussion] + +レコードページのタブの下には **Discussion** があります。コメントとレコードのアクティビティがひとつのフィードに古い順で並びます(ビルダーがディスカッションを有効にしたオブジェクトに表示されます)。 + +| できること | 方法 | +|---|---| +| コメントする | **Write a comment…** に入力し、**Send** を押すか `Ctrl+Enter` を押します。太字、斜体、リスト、インラインコードはツールバーにあり、**Preview** もあります | +| 誰かをメンションする | `@` を入力し、候補から人を選びます(または **Mention someone**) | +| 返信する | コメントの下に返信して、スレッドをまとめます | +| リアクションする | コメントに絵文字のリアクションを追加します | +| 編集または削除する | 自分のコメントのみ。編集されたコメントには **(edited)** の印が付きます。この印はサーバーが付けるので、隠すことはできません | +| レコードをフォローする | **Subscribe to notifications** で、このレコードの更新を受け取ります | + +コメントは送信した瞬間に表示され、その後、重複することなく保存されたコピーに置き換わります。 + +### フィードを絞り込む [#filtering-the-feed] + +フィードには、コメントとレコードのアクティビティが混在しています。フィルターで絞り込めます。 + +| フィルター | 表示内容 | +|---|---| +| **All Activity** | すべて | +| **Comments Only** | コメントと返信 | +| **Field Changes** | レコードのフィールドへの編集 | +| **Tasks Only** | タスクのエントリ | + +フィルターの結果が空なら、レコードにその種類のものがまだないというだけです。 + +## @メンション [#mentions] + +誰かを `@mention` すると、その人のベルに、コメントのプレビューとレコードへの直接リンク付きの通知が届きます。 + +メンションがディスカッション自体より遠くに届くことはありません。通知されるのは、その人がレコードとコメントを読み取れる場合だけです。誰かをメンションしても、その人にアクセス権が**与えられるわけではありません**。コメントの作成者は自分自身のメンションについて通知されず、メンションされていない人も通知されません。 + +## 何が変わり、誰が変えたか [#what-changed-and-who-changed-it] + +| 場所 | 表示内容 | +|---|---| +| ディスカッションのフィード | アプリのビルダーが追跡対象に選んだフィールドについて、**Industry: Technology → Finance** のような行。フォームで見るラベルを使います | +| **History** タブ | レコードの完全な変更履歴。ビルダーが履歴の追跡を有効にしたオブジェクトに表示されます | + +追跡されていないフィールドへの変更には、フィードで変更前後の行が表示されません。 + +## チームとレコードを共有する [#sharing-a-record-with-your-team] + +レコードの `⋯` メニューにある **Share** は、レコードのアドレスをコピーします(またはデバイスの共有シートを開きます)。何かを許可するわけではありません。それを開く人には、引き続きレコードへのアクセス権が必要です。[権限](/docs/configure/permissions)を参照してください。 + +## 共有リンク:リンクを知っている全員 [#share-links-anyone-with-the-link] + +アプリのビルダーが公開共有を有効にしたオブジェクトでは、レコードは**共有リンク**も持てます。アカウントを持たない人や、アカウントはあってもレコードへのアクセス権がない人に、その 1 件のレコードを見せるリンクです。 + +共有リンクは、そのレコードを見られる人が API(`POST /api/v1/share-links`)を通じて 1 件のレコードに対して作成します。各リンクは独自の制限を持てます。 + +| 制限 | 効果 | +|---|---| +| **パスワード** | ページがそれを求めます:**Password required**、正しく入力するまで **Wrong password.** | +| **サインインしたユーザーのみ** | セッションのない訪問者には **Sign in required** と、同じページに戻る **Sign in** リンクが表示されます | +| **メールの許可リスト** | 一覧にあるメールアドレスでサインインした人だけがレコードを見られます | +| **有効期限** | リンクはその日に機能しなくなります | +| **非表示のフィールド** | リンクが表示する内容から除外されるフィールド。オブジェクトが常に共有リンクから隠すフィールドに加えて適用されます | + +リンクを開いた人には、アプリの外にあるページが表示されます。メニューはなく、リンクが求めない限りサインインもありません。レコードのフィールドが読み取り専用で表示されます。フィールドが非表示にされている場合、ページには **Some fields are hidden by the owner** と表示され、それらの名前が示されます。 + +### 失効、そしてリンクが決して公開しないもの [#revoking-and-what-a-link-never-exposes] + +- リンクを**失効**させる(`DELETE /api/v1/share-links/…`)と、即座に機能しなくなります。ページには **This link has expired or was revoked.** と表示されます。有効期限を過ぎたリンクも同様です。 +- **レコードを削除**すると、それへのすべてのリンクは **This link is invalid or no longer available.** と答えます。でっち上げたリンクと同じ答えなので、リンクがレコードの存在を確認させることはありません。 +- **非表示のフィールドはサーバー上で取り除かれます。** 画面からだけでなく、訪問者のブラウザに届くこともありません。 +- **1 件のレコードのみ。** リンクが開くのは、作成対象のレコードだけです。関連レコードやリストの残りは決して開きません。 +- **パスワードはサーバーに残ります。** ハッシュ化して保存され、どのレスポンスもそれを返しません。 +- **何もキャッシュされません。** リンク経由で提供されるページは、ブラウザとプロキシにコピーを保持しないよう指示するため、共有コンピューターの次の人がパスワードで保護されたレコードを見ることはできません。 +- **見えるのは自分のリンクだけです。** リンクを一覧表示すると、自分が作成したものが返され、他の人のものは返されません。 + +アプリのビルダーがオブジェクトの公開共有をオフにすると、そのオブジェクトのすべてのリンクは、再びオンにされるまで機能しなくなります。 + +## 公開フォーム:外部からデータを集める [#public-forms-collecting-data-from-outside] + +**公開フォーム**は、アプリのビルダーが `/forms/contact-us` のようなリンクで公開した、サインインしていない人向けのフォームです。お問い合わせフォーム、Web からのリード獲得、サポートリクエストなどです。訪問者はそれを記入し、フォームの確認表示(たとえばお礼のメッセージ)を見ます。各送信はレコードになり、チームは他のレコードと同じようにそれに対応します。 + +公開フォームが決して開かないもの: + +- **一覧にあるフィールドのみ。** 訪問者が見て記入できるのは、フォームが表示するフィールドだけです。オブジェクトの残りではありません。 +- **検索はできません。** フォームが何を宣言していても、公開フォームにはレコードを検索するフィールド(参照ピッカーやユーザーピッカー)はありません。 +- **所有者の偽装はできません。** 訪問者は、レコードの所有者、所属する組織、ステータスなどのフィールドを設定できません。それらに送られた値は破棄され、サーバーが設定します。 + +公開フォームを**閉じる**には、ビルダーが公開を取り消すか、匿名アクセスをオフにします。するとリンクはフォームが存在しないかのように答え、送信は即座に止まります。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| レコードにファイルを添付する | [ファイルと添付ファイル](/docs/use/files) | +| どの通知を受け取るかを制御する | [通知](/docs/use/notifications) | +| 誰がレコードを見られるかを理解する | [権限](/docs/configure/permissions) | +| 公開フォームを構築する | [ビュー → 公開フォーム](/docs/build/interface/views#public-forms) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/dashboards.ja.mdx b/content/docs/use/dashboards.ja.mdx new file mode 100644 index 00000000..b997288c --- /dev/null +++ b/content/docs/use/dashboards.ja.mdx @@ -0,0 +1,71 @@ +--- +title: ダッシュボード +seoTitle: "ダッシュボードを読む:KPI、グラフ、日付フィルター" +description: チームの KPI、グラフ、表をひと目で読み、日付やフィルターで 2 クリックで絞り込みます。 +editions: [community, cloud, enterprise] +translation: + source_sha: 2d541eab18014e7c9f5272fff044d83422a7760bfb23362d8270006188c6f864 + guide_rev: 1 + mode: auto +--- + +**ダッシュボード**は、レコードを数値とグラフに変えます。未完了のタスクがいくつあるか、作業がどう推移しているか、誰が負荷を担っているか。ここではダッシュボードを構築するのではなく読みます。ダッシュボードはレコードの変化に合わせて自動的に更新されます。 + +## ダッシュボードの場所 [#where-dashboards-live] + +ダッシュボードはアプリの**ナビゲーションサイドバー**の項目で、通常は **Analytics** のようなグループの中にあります。クリックすると、他のページと同じように開きます。 + +## ダッシュボードのヘッダー [#the-dashboard-header] + +すべてのダッシュボードの上部には次のものがあります。 + +| 要素 | 機能 | +|---|---| +| **タイトルと説明** | このダッシュボードが何を、なぜ測定するか | +| **期間のプリセット** | **Last 90 days** のようなドロップダウン。すべてのウィジェットの期間を一度に変更します | +| **ダッシュボードのフィルター** | **Task Status: All** のようなドロップダウン。すべてのウィジェットを一部分に絞り込みます(例:*In Progress* のみ) | + +> **ヒント:** 数値がおかしく見える場合は、まず期間とフィルターを確認してください。**Task Status: Done** での「Last 90 days」は、全期間、全ステータスとはまったく違う姿を見せます。 + +期間とフィルターは**ダッシュボード全体**に適用されるため、すべてのウィジェットがデータの同じ部分について同じ問いに答えます。2 つのグラフが別のものを数えているのではと悩む必要はありません。 + +## ウィジェットの種類 [#widget-types] + +ダッシュボードは**ウィジェット**のグリッドです。3 種類のウィジェットがあります。 + +| ウィジェット | 見た目 | 適した用途 | +|---|---|---| +| **KPI 統計タイル** | ラベル付きの大きな数値ひとつ | 見出しとなる数値:*Open Tasks: 42* | +| **グラフ** | 棒グラフ、円グラフなどの視覚表現 | グループの比較や傾向の発見 | +| **表** | 行と列 | 数値の裏にある詳細:上位の項目、最近のレコード | + +典型的なレイアウトでは、上部に統計タイルの行(見出し)、中央にグラフ(データの形)、下部に表(裏付け)を置きます。その順に読めば、1 分足らずで全体像がつかめます。 + +## ダッシュボードとビュー [#dashboards-vs-views] + +どちらもレコードを表示しますが、高さが異なります。 + +| サーフェス | 表示内容 | 使うとき | +|---|---|---| +| **ダッシュボード** | 集計:件数、合計、傾向 | 全体像が欲しいとき | +| **ビュー** | 個々のレコードを 1 行ずつ | リストを処理したいとき。[ビューを使う](/docs/use/views)を参照してください | + +## 空の状態 [#empty-states] + +表示するものがないウィジェットは、そのことをはっきり示します。たとえば表には **No rows** と表示されます。これはエラーではありません。現在の期間とフィルターでは、一致するレコードがないということです。期間を広げるかフィルターをリセットすれば、たいていデータは再び表示されます。 + +## 数値からレコードへ [#from-number-to-records] + +ダッシュボードはレコードを要約し、一部のウィジェットではそのレコードへ**ドリルスルー**できます。タイル、グラフの区分、表の行がクリック可能な場合、一致するレコードが開き、数値が示していることに対応できます。そこから先は通常のリストです。[ビューを使う](/docs/use/views)を参照してください。 + +> **ヒント:** ダッシュボードを読むことはループです。おかしな数値を見つけ、フィルターで絞り込み、レコードへドリルスルーし、直すべきものを直します。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| 数値の裏にあるレコードを操作する | [レコードを操作する](/docs/use/records) | +| 自分でリストをフィルターしグループ化する | [ビューを使う](/docs/use/views) | +| 自分を待っている申請に対応する | [承認](/docs/use/approvals) | +| どの通知を受け取るかを管理する | [通知](/docs/use/notifications) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/files.ja.mdx b/content/docs/use/files.ja.mdx new file mode 100644 index 00000000..52b5d13d --- /dev/null +++ b/content/docs/use/files.ja.mdx @@ -0,0 +1,94 @@ +--- +title: ファイルと添付ファイル +seoTitle: "ファイルと添付ファイル:アップロード、ダウンロード、権限" +description: レコードにファイルを添付するか、ファイルフィールドにアップロードします。誰がそれを見て、追加し、削除できるか、そして削除されたファイルがどのくらい保持されるかを説明します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 3bb89abc1ac77bc14428766ab10e45b3a10ceef5d201d4d588c672c0a4072b9f + guide_rev: 1 + mode: auto +--- + +{/* + Platform checklist items this page documents (objectstack + docs/qa/platform-checklist/areas/attachments-storage.json): + attachments-storage.presigned-upload-roundtrip, + attachments-storage.download-authz-both-sides, + attachments-storage.read-inherits-parent-rls, + attachments-storage.attach-requires-parent-edit, + attachments-storage.sys-file-status-pipeline, + attachments-storage.orphan-tombstone-reap, + attachments-storage.inline-grid-receipt-cells, + attachments-storage.field-accept-maxsize-server-enforced, + attachments-storage.upload-limits-scope-and-ownership. +*/} + +ファイルがレコードに届く方法は 2 つあります。 + +| 方法 | 見た目 | 用途 | +|---|---|---| +| **添付ファイル** | レコードページの **Attachments** タブ。任意の数のファイルを一覧表示します | 契約書、写真、やり取り。レコードに属するあらゆるもの | +| **ファイルフィールドと画像フィールド** | フォーム内のアップロードコントロール。明細テーブルの各行にあることもあります | レコードが必要とする特定の書類。経費明細ごとの領収書、製品写真 | + +どちらもファイル自体はストレージに保管し、レコードはそれを指します。そのため、誰がそれを開けるかは同じルールで決まります。 + +## Attachments タブ [#the-attachments-tab] + +ビルダーが添付ファイルを有効にしたオブジェクトでは、すべてのレコードページに **Attachments** タブが表示されます。 + +| コントロール | 機能 | +|---|---| +| **Upload** | コンピューターから 1 つ以上のファイルを選びます | +| ファイル一覧 | このレコードに添付されたすべてのファイル | +| **Download** | ファイルを開きます | +| **Delete attachment** | 確認後、このレコードからファイルを削除します | + +何も添付されていないレコードには **No attachments yet. Upload a file to get started.** と表示されます。 + +## 誰が何をできるか [#who-can-do-what] + +添付ファイルは、それが属するレコードに従います。 + +| するには | 必要なもの | +|---|---| +| 添付ファイルを見てダウンロードする | レコードの読み取りアクセス | +| 添付ファイルをアップロードする | レコードの**編集**アクセス。読み取りだけでは不十分です | +| 添付ファイルを削除する | それをアップロードした本人であるか、レコードの編集アクセス | + +ファイルをアップロードした人は、常にそれをダウンロードし削除できます。 + +レコードを読み取れない場合、その添付ファイルはあなたにとって存在しません。どのリストにも件数にも表示されません。何かが拒否されると、*You don't have access to attach files to this record.* や *Only the uploader or someone who can edit this record may delete this attachment.* のような平易なメッセージが表示されます。 + +## ファイルフィールドと画像フィールド [#file-and-image-fields] + +ファイルフィールドや画像フィールドは、フォームにアップロードコントロールを表示します。ファイルを選ぶとすぐにアップロードされ、ファイル名付きのチップとして表示されます。保存前ならそれを削除できます。明細テーブル(たとえば請求書の明細行)では、各行に独自のアップロードセルがあります。 + +フィールドは、受け付けるファイルの種類とファイルの最大サイズを制限できます。サーバーは保存時にその制限をもう一度確認します。制限に違反するファイルはフィールド名を示すメッセージとともに拒否され、何も保存されません。 + +## ダウンロードは短時間だけ有効なリンク [#downloads-are-short-lived-links] + +**Download** は、数分間(デフォルトでは 5 分)有効なリンクをサーバーに要求します。そのリンクをコピーして後で開くと、期限切れになっています。レコードからもう一度ダウンロードしてください。レコードへのアクセス権がない人は、有効なリンクをまったく取得できません。 + +## サイズの上限 [#size-limits] + +管理者が別の上限(ストレージ設定の **Limits** にある **Max upload size (MB)**)を設定していない限り、1 つのファイルは **100 MB** までです。上限を超えるファイルは、一部でも保存される前に拒否されます。 + +## 削除されたファイルはどうなるか [#what-happens-to-removed-files] + +添付ファイルを削除すると、**そのレコード**から外れます。ファイル自体は段階的に片付けられるため、間違えてもその場でデータが失われることはありません。 + +| 状態 | 何が起こるか | +|---|---| +| 別のレコードにも添付されている | いずれかのレコードがまだ保持している限り残ります | +| どこにも添付されていない | **30 日間**保持され、その後ストレージが回収されます | +| 開始されたが完了しなかったアップロード | **7 日**後に削除されます | + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| ファイルが属するレコードを開いて編集する | [レコードを操作する](/docs/use/records) | +| チームとレコードについて話し合う | [レコードでのコラボレーション](/docs/use/collaboration) | +| スプレッドシートから多数のレコードを取り込む | [データのインポート](/docs/use/import) | +| ファイルの保存場所を設定する | [ストレージ](/docs/configure/storage) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/import.ja.mdx b/content/docs/use/import.ja.mdx new file mode 100644 index 00000000..cf10487c --- /dev/null +++ b/content/docs/use/import.ja.mdx @@ -0,0 +1,125 @@ +--- +title: データのインポート +seoTitle: "インポートウィザード:CSV と Excel のインポート、マッピング、取り消し" +description: CSV や Excel ファイルからレコードを取り込みます。列をマッピングし、何かが保存される前にエラーを修正し、うまくいかなかったインポートを取り消します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 47a5d626f6c1bbf30e5d32d5604cf1ecf5a2d4285086b433ec1cbad75d838a2f + guide_rev: 1 + mode: auto +--- + +{/* + Platform checklist items this page documents (objectstack + docs/qa/platform-checklist/areas/records-forms.json): + records-forms.import-wizard-encoding-and-hints, + records-forms.named-import-mapping, + records-forms.import-job-undo-cancel, + records-forms.import-transform-matrix. +*/} + +顧客リストや昨年のプロジェクトなど、スプレッドシートにレコードがある場合、**インポートウィザード**が 3 つのステップでそれをレコードに変えます:**Upload**、**Mapping**、**Preview**。最後に **Import** を押すまで、何も保存されません。 + +## ウィザードを開く [#opening-the-wizard] + +オブジェクトのリストで、リストヘッダーの **Import** をクリックします。オブジェクトによっては、ヘッダーの `⋯` オーバーフローメニューの中にあります。 + +表示されるのは、オブジェクトがインポートに対して開かれていて、そのレコードの作成を許可されている場合だけです。インポートはレコードを作成するので、**+ New** と同じ権限が必要です。 + +## ステップ 1:Upload [#step-1--upload] + +ファイルをウィザードにドラッグするか、**Browse Files** をクリックするか、Excel や Google Sheets からコピーした行をそのまま貼り付けます(`Ctrl/⌘+V`)。 + +| ファイル | サポート | +|---|---| +| CSV、TSV | はい | +| Excel `.xlsx` | はい | +| 古い Excel `.xls` | いいえ。開いて先に `.xlsx` として保存してください | + +最初の行は列見出しでなければならず、データ行が少なくとも 1 行必要です。 + +**どの列を使えばよいかわからない場合は?** **Download template** をクリックすると、インポートできるすべての列を一覧にし、必須の列に `*` を付け、記入方法を説明した Excel ファイルが手に入ります。 + +> **ヒント:** 中国語版の Excel で保存したファイル(「CSV として保存」)は、UTF-8 ではなく GBK でエンコードされていることがよくあります。変換する必要はありません。ウィザードがエンコーディングを検出するので、中国語の見出しと値はそのまま取り込まれます。 + +## ステップ 2:Mapping [#step-2--mapping] + +ウィザードは名前によって列をオブジェクトのフィールドに対応付け、その確度(**High**、**Medium**、**Low confidence**)を示します。対応付けを確認し、間違っているものを変更します。 + +| 選択肢 | 効果 | +|---|---| +| フィールド | 列の値がそのフィールドに入ります | +| **— Skip —** | 列は無視されます | + +値がフィールドの型らしく見えない列には印が付きます(たとえば *Looks like Date*)。 + +**必須フィールドはマッピングしなければなりません。** マッピングされていない場合、**Next** は無効のままで、ウィザードは不足しているフィールドを示します。その列をファイルに追加するか、それを含むファイルをアップロードしてください。 + +**マッピングの再利用。** **Mapping template** の下にある **Save current** は、この列とフィールドの対応をブラウザに保存するので、同じファイルレイアウトの次のインポートはワンクリックで済みます。アプリのビルダーがこの種のファイル向けに**保存されたマッピング**を設定している場合は、代わりにそれを選びます。その場合、サーバーが列の名前を変更し、値を変換し、独自のルールを適用し、列のマッピングは読み取り専用で表示されます。 + +## ステップ 3:Preview [#step-3--preview] + +プレビューは、インポートされるとおりに行を表示します。問題のある行は強調表示されます。強調表示されたセルをクリックすると、その場で値を修正できます。**Validate data** をクリックすると、何かが書き込まれる前に、すべての行をサーバーに照らして確認します。有効な行の数と、どの行にエラーがあるかが表示されます。検証に合格した行は、インポートが受け入れる行です。 + +よくあるエラー: + +| メッセージ | 意味 | +|---|---| +| *This field is required* | 必須の値が空です | +| *"abc" is not a valid number*(または date、time、true/false) | 値をフィールドの型として読み取れません | +| *"Gold" is not one of the allowed options* | 選択フィールドに、提供されていない値が入りました | +| *No matching record for "Acme"* | 別のレコードを指す列が、存在しないレコードを指定しました | +| *"Acme" matches more than one record* | その名前は一意ではありません。一意の値かレコード ID を使ってください | + +### インポートのオプション [#import-options] + +| オプション | 機能 | +|---|---| +| **When a row matches an existing record** | **Always create new**、**Update existing (skip if no match)**、**Update if matched, else create** | +| **Match on** | 既存のレコードを見つけるために使うフィールド。メールアドレス、コード、外部 ID など | +| **Keep unknown option values** | フィールドが提供していない選択肢の値を、行を拒否する代わりにそのまま保存します | +| **Skip rows with a blank match value** | 照合に使う値がない行を除外します | +| **Import in the background** | インポートを、後で取り消せるジョブとして実行します | + +照合フィールドで更新すると、インポートを安全に繰り返せます。同じファイルをもう一度実行すると、重複を作る代わりに、作成したレコードを更新します。 + +## 結果 [#the-result] + +インポートが完了すると、**作成**、**更新**、**スキップ**されたレコードの数と、行のエラーが表示されます。**Download failed rows** は、取り込めなかった行だけを渡すので、修正してもう一度インポートできます。 + +## バックグラウンドインポート、キャンセル、取り消し [#background-imports-cancel-and-undo] + +**5,000 行**を超えるファイルは常にバックグラウンドでインポートされます。それより小さいファイルは、**Import in the background** にチェックを入れた場合にそうなります。バックグラウンドインポートは進捗を表示し、その間も作業を続けられます。 + +| 操作 | 何が起こるか | +|---|---| +| **Cancel import** | ジョブを停止します。すでに書き込まれた行は残ります。行は完全に保存されるか、まったく保存されないかのどちらかで、半分だけ書き込まれることはありません。 | +| **History** | このオブジェクトのバックグラウンドインポートを新しい順に、ステータス、行数、結果とともに一覧表示します | +| **Undo import** | インポートが作成したレコードを削除し、更新したレコードを以前の値に戻します。それ以外には何も触れません。 | + +取り消せない行がある場合、ウィザードはその数を示します。**Undo import** をもう一度選ぶと、それらだけを再試行します。 + +> **ヒント:** 大きなファイルを初めてインポートしますか?**Import in the background** にチェックを入れてください。結果が期待どおりでなければ、**Undo import** 一回で元に戻せます。 + +## アプリビルダー向け:保存されたマッピング [#for-app-builders-saved-mappings] + +保存されたマッピングは、パッケージ内の `mapping` メタデータです。外部の見出しをフィールドに名前変更し("Full Name" → `name`)、再インポートが重複ではなく更新になるようにするキーを設定し、取り込み時に値を変換できます。 + +| 変換 | 機能 | +|---|---| +| `map` | コードを値に変換します(`'Webform'` → `web`)。エントリのない値はそのまま通ります | +| `constant` | 列を無視して固定値を書き込みます | +| `lookup` | 名前を関連レコードの ID に解決します | +| `split` | ひとつの列を複数のフィールドに分割します | +| `join` | 複数の列をひとつのフィールドに結合し、空の部分はスキップします | + +`javascript` 変換を指定したマッピングは、行が書き込まれる前に拒否されます。それを実行するサーバー側のサンドボックスがないためです。別の形式向けに宣言されたマッピングでファイルをインポートする(JSON を CSV マッピングで)と、両方の形式を示して拒否されます。Excel ファイルは CSV マッピングを通ります。存在しないマッピングを指定したインポートは、位置による列の照合にフォールバックするのではなく拒否されます。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| インポートしたレコードを編集する | [レコードを操作する](/docs/use/records) | +| インポートしたばかりのレコードを見つける | [検索](/docs/use/search) | +| インポートしたものだけにリストを絞り込む | [ビューを使う](/docs/use/views) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/index.ja.mdx b/content/docs/use/index.ja.mdx new file mode 100644 index 00000000..17dd42e1 --- /dev/null +++ b/content/docs/use/index.ja.mdx @@ -0,0 +1,94 @@ +--- +title: ObjectOS を使う +seoTitle: "ユーザーガイド:サインイン、アプリ、検索、ナビゲーション" +description: 一度サインインすれば、チームが共有するすべてのアプリ、レコード、通知が見つかります。5 分で回る ObjectOS のツアーです。 +editions: [community, cloud, enterprise] +translation: + source_sha: 6cc63a43afd4f93986a9af7c841417befd0918cb6efbc5b38f583fe46cc826c1 + guide_rev: 1 + mode: auto +--- + +ObjectOS は、プロジェクト、タスク、承認、ダッシュボードなど、チームの業務アプリが置かれる場所です。一度サインインすれば、アクセスできるすべてのアプリをひとつの場所で、ひとつの検索ボックスとともに見られます。 + +このセクションは**日常的なユーザー**向けです。アプリを構築する人やシステムを管理する人は、代わりに[構築](/docs/build)または[設定](/docs/configure)に進んでください。 + +## サインイン [#signing-in] + +チームから伝えられた URL を開き、**メールアドレスとパスワード**でサインインします。セッションは記憶されるので、アバターメニューからログアウトするまで、そのブラウザではサインインしたままです。 + +## ホームページ [#the-home-page] + +サインインすると、ホームページに移動します。上から順に次のものがあります。 + +| 領域 | 表示内容 | +|---|---| +| **あいさつ** | 個人宛てのあいさつ("Good afternoon, Ada") | +| **あなたのアプリ** | タイルのグリッド。アクセスできるアプリごとに 1 枚です。タイルをクリックするとアプリが開きます。 | +| **Needs your attention**(対応が必要) | 保留中の通知と承認、それぞれが届いてからの経過時間 | +| **Recently Accessed**(最近のアクセス) | 最近開いたオブジェクトとレコード。昨日の作業に戻る最速の方法です | +| **アクティビティフィード** | ワークスペース全体の最近のアクティビティ | + +> **ヒント:** **Needs your attention** を朝の受信トレイとして使いましょう。どのアプリを開く前でも、あなたを待っている承認が表示されます。 + +## アプリを切り替える [#switching-between-apps] + +左上の**パンくずリスト**は、常に現在地を示します:*アプリ → オブジェクト → レコード*。最初の部分は**アプリスイッチャー**です。クリックするとアプリの一覧がドロップダウンで表示され、ホームに戻らずにアプリ間を移動できます。 + +どのインストールにも、チーム向けに構築された業務アプリと並んで、次のものがあります。 + +| アプリ | 誰が見られるか | 用途 | +|---|---|---| +| **Account** | 全員 | 個人用のスペース:プロフィール、通知の受信トレイ、承認、セキュリティ | +| **Setup** | 管理者のみ | システム管理 | + +## アプリのナビゲーションサイドバー [#the-app-navigation-sidebar] + +アプリ内では、左のサイドバーがそのアプリのメニューです。フラットな項目と**折りたたみ可能なグループ**(たとえば *Workspace* や *Analytics*)が含まれます。各項目は次の 3 つのいずれかを開きます。 + +| 項目の種類 | クリックで開くもの | +|---|---| +| オブジェクト(例:*Tasks*) | そのリストビュー。[ビュー](/docs/use/views)を参照してください | +| ページ | アプリ向けに構築されたカスタムページ | +| ダッシュボード | グラフと KPI。[ダッシュボード](/docs/use/dashboards)を参照してください | + +アクティブな項目の横には**ピンアイコン**が表示され、よく使う場所をピン留めできます。 + +## グローバル検索 [#global-search] + +`⌘K`(Mac)または `Ctrl-K`(Windows/Linux)を押すか、トップバーの **Search…**(検索)をクリックします。**すべてのオブジェクトにわたるレコード**を検索するダイアログが開きます。タスク名、プロジェクト、顧客の数文字を入力すれば、すぐにそこへ移動できます。 + +## トップバー [#the-top-bar] + +トップバーはすべての画面に表示されます。 + +| コントロール | 機能 | +|---|---| +| **Search…** | グローバル検索を開く(`⌘K` / `Ctrl-K`) | +| **ベル** | 通知。赤いバッジが未読数を示します。受信トレイ全体は **Account → Inbox → Notifications** にあります。 | +| **?** | ヘルプ | +| **アバター** | アカウントメニュー(下記) | + +**アバターメニュー**には名前とメールアドレスが表示され、次の項目があります。 + +| 項目 | 機能 | +|---|---| +| **Profile**(プロフィール) | Account アプリでプロフィールを開く | +| **Preferences → Theme**(設定 → テーマ) | ライトとダークを切り替える | +| **Preferences → Language**(設定 → 言語) | インターフェースの言語を変更する | +| **Log out**(ログアウト) | セッションを終了する | + +> **ヒント:** テーマと言語は**アバターメニュー → Preferences** にあり、プロフィールページにはありません。最初に探しがちな場所です。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| レコードを開く、作成する、編集する | [レコードを操作する](/docs/use/records) | +| グリッド、カンバン、カレンダーなどを切り替える | [ビューを使う](/docs/use/views) | +| グラフと KPI を読む | [ダッシュボード](/docs/use/dashboards) | +| 申請を承認または却下する | [承認](/docs/use/approvals) | +| 通知を管理する | [通知](/docs/use/notifications) | +| 名前、写真、パスワードを更新する | [プロフィールとセキュリティ](/docs/use/profile) | +| アプリを構築またはカスタマイズする | [構築](/docs/build) | +| システムを管理する | [設定](/docs/configure) | diff --git a/content/docs/use/notifications.ja.mdx b/content/docs/use/notifications.ja.mdx new file mode 100644 index 00000000..ef803520 --- /dev/null +++ b/content/docs/use/notifications.ja.mdx @@ -0,0 +1,68 @@ +--- +title: 通知 +seoTitle: "通知の受信トレイ:承認、ダイジェスト、ミュート" +description: 承認、ダイジェスト、更新など、自分に回されたすべてを、受信トレイに張り付くことなく受け取ります。 +editions: [community, cloud, enterprise] +translation: + source_sha: c72a596060c2df31c53b93bddabfdc1a02e1594e20f9a31483a08d200e07673a + guide_rev: 1 + mode: auto +--- + +ObjectOS は、何かがあなたを必要とするときに知らせます。承認があなたの手元に届いたとき、スケジュールされたダイジェストがプロジェクトを要約したとき、フォローしているレコードが変わったときです。それらのメッセージは、ひと目で確認できるものから完全な履歴まで、3 つの場所に表示されます。 + +| サーフェス | 場所 | 最適な用途 | +|---|---|---| +| **ベル** | すべての画面のトップバー | 「何か新しいものは?」の素早い確認。赤いバッジが未読数を示します | +| **Needs your attention** | ホームページ | 朝の仕分け。最近の項目を、待っている時間とともに | +| **完全な受信トレイ** | **Account → Inbox → Notifications** | すべてを読み、検索し、処理する | + +## ベルとホームページ [#the-bell-and-the-home-page] + +**ベルアイコン**は、ObjectOS のどこにいてもトップバーにあります。その上の赤いバッジは未読の通知を数えています。クリックすると、今の画面を離れずに新着を確認できます。 + +ホームページには **Needs your attention** の一覧が加わります。保留中の通知と承認が、それぞれの経過時間とともに表示されるので、どれが最新でどれが最も長く待っているかがひと目でわかります。 + +> **ヒント:** 一日をホームページから始めましょう。作業に取りかかる前の仕分けは、たいてい **Needs your attention** と **Recently Accessed** で十分です。 + +## 完全な受信トレイ [#the-full-inbox] + +全体像を見るには、**Account → Inbox → Notifications** を開きます。アプリスイッチャーの **Account** アプリを開き、サイドバーの **Inbox** を選びます。デフォルトのビューは、自分の通知をリストとして表示します。 + +| 列 | わかること | +|---|---| +| **Title** | 何が起こったかを 1 行で | +| **Topic** | どのような種類のメッセージか。たとえばプロジェクトのダイジェストか承認か | +| **Severity** | どれだけ緊急か(Info 以上) | +| **Created At** | いつ届いたか | + +これは通常のリストビューなので、リストについて知っていることはすべて当てはまります。フィルター、ソート、その中での検索ができます。 + +## 通知の発生元 [#where-notifications-come-from] + +これらを設定する必要はありません。アプリ内の何かが、あなたが知るべきだと判断したので通知が届きます。 + +| 発生元 | 例 | +|---|---| +| **自動化** | 毎朝、未完了のプロジェクトタスクを要約するスケジュールされたダイジェスト | +| **承認** | 判断すべきリクエストがあなたに割り当てられた、または自分の申請が承認または却下された | +| **購読** | フォローしているオブジェクトやレコードが変わった | + +## うるさいオブジェクトをミュートする [#muting-a-noisy-object] + +あるオブジェクトが有益な情報よりも雑音を多く生むなら、ミュートしましょう。そのオブジェクトのリストを開き、リストヘッダーの**ベルオフのトグル**をクリックします。そのオブジェクトの通知は届かなくなります。もう一度クリックするとミュートが解除されます。ミュートはオブジェクトごとで、影響するのは*あなた*だけです。チームメイトは引き続き通知を受け取ります。 + +> **ヒント:** 無視するのではなくミュートしましょう。ミュートしたオブジェクトは完全に使えるままで、それについて呼び出されなくなるだけです。そして未読バッジが再び意味を持つようになります。 + +## デスクトップ通知 [#desktop-notifications] + +ObjectOS のデスクトップアプリを使っている場合、アプリ内の通知をオペレーティングシステムのネイティブ通知に反映できます。他のデスクトップアプリと同じバナーと通知センターのエントリです。ObjectOS のウィンドウがバックグラウンドにあっても新しい項目が表示され、クリックするとすぐにそこへ移動します。 + +## 次に進む [#where-to-go-next] + +| 次にすること | 読むもの | +|---|---| +| 通知が指す承認に対応する | [承認](/docs/use/approvals) | +| 受信トレイを他のリストと同じようにフィルターしソートする | [ビュー](/docs/use/views) | +| 個人設定を調整する | [プロフィールと設定](/docs/use/profile) | +| 日常的なユーザーとして ObjectOS を見て回る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/profile.ja.mdx b/content/docs/use/profile.ja.mdx new file mode 100644 index 00000000..c8a66a72 --- /dev/null +++ b/content/docs/use/profile.ja.mdx @@ -0,0 +1,78 @@ +--- +title: プロフィールと設定 +description: ObjectOS を自分のものにします。名前とアバター、テーマと言語、そしてサインイン中のすべてのセッションの管理です。 +editions: [community, cloud, enterprise] +translation: + source_sha: d7531547c07b1a8ee043f6832b30aa22e33e8da23e59bb4d2b3ebea8bc9693f3 + guide_rev: 1 + mode: auto +--- + +個人的なものはすべて 2 つの場所にあります。右上の**アバターメニュー**(すべての画面で使える手早い設定)と、**Account** アプリ(プロフィール、セキュリティ、受信トレイ)です。ここでの変更が他の人に影響することはありません。これらはあなたのアカウントの、あなたの設定です。 + +| やりたいこと | 移動先 | +|---|---| +| 名前やアバターを変更する | **Account → Profile** | +| パスワードを変更する | **Account → Profile** → Change Password | +| ライト/ダークモードや言語を切り替える | アバターメニュー → Preferences | +| 他のセッションを確認する、またはサインアウトさせる | **Account → Security** → Active Sessions | +| どのサインインプロバイダーが連携されているか確認する | **Account → Security** → Linked Accounts | +| サインアウトする | アバターメニュー → **Log out** | + +## プロフィール [#your-profile] + +**Account → Profile** を開きます。アプリスイッチャーの **Account** アプリからでも、アバターメニューの **Profile** からでも開けます。 + +| 設定 | 変更できるか | +|---|---| +| **アバター** | はい。**Upload** をクリックして画像を選びます。チームメイトは、割り当て、アクティビティフィード、承認など、あなたが表示されるあらゆる場所でそれを目にします。 | +| **名前** | はい。Personal Information カードで編集します。 | +| **メールアドレス** | いいえ。メールアドレスはアカウントを識別するもので、ここでは変更できません。 | +| **ロール** | 読み取り専用。管理者があなたに割り当てたものを表示します。 | + +**Save Changes** をクリックして編集を適用します。 + +Personal Information の下には **Change Password** カードがあります。現在のパスワードと新しいパスワードを入力すれば完了です。他のデバイスは、セッションが終わるまでサインインしたままです。すべて一掃したい場合は、**Active Sessions** からそれらをサインアウトさせてください。 + +## 設定:テーマと言語 [#preferences-theme-and-language] + +右上のアバターをクリックします。名前とメールアドレスと並んで、Preferences があります。 + +| 設定 | 選択肢 | +|---|---| +| **Theme** | ライトまたはダーク。UI 全体がすぐに切り替わります。 | +| **Language** | UI の表示言語を選びます。 | + +どちらもその場で反映されます。保存ボタンも再読み込みもありません。 + +## セキュリティ [#security] + +**Account → Security** を開くと、ときどき確認する価値のある 2 つのものがあります。 + +| セクション | 用途 | +|---|---| +| **Linked Accounts** | アカウントに連携されたソーシャルまたは会社のサインインプロバイダー(SSO)。何が連携されているかをひと目で確認できます。 | +| **Active Sessions** | 現在あなたとしてサインインしているすべてのデバイスとブラウザ。一覧を確認し、見覚えのないセッションやもう使っていないセッションを**サインアウト**させます。 | + +> **ヒント:** 共有のマシンや借りたマシンでサインインしたまま、ログアウトし忘れましたか?そのマシンは必要ありません。どのデバイスからでも **Active Sessions** でそのセッションを失効させられます。 + +## Account アプリのその他の項目 [#also-in-the-account-app] + +| セクション | 用途 | +|---|---| +| **Inbox → My Organizations** | アカウントが所属する組織。 | +| **Inbox → Notifications / Approvals** | 個人の受信トレイ。[通知](/docs/use/notifications)と[承認](/docs/use/approvals)で説明しています。 | +| **Developer → API Keys, OAuth Applications** | 外部ツールを ObjectOS に接続するための認証情報。**ほとんどのユーザーはこのセクションを必要としません**。必要かどうかわからないなら、必要ありません。 | + +## ログアウト [#logging-out] + +アバターメニューを開き、**Log out** をクリックします。これで使っているデバイスのセッションが終了します。他のデバイスは、**Active Sessions** からサインアウトさせるまで、それぞれのセッションを保持します。 + +## 次に進む [#where-to-go-next] + +| 次にすること | 読むもの | +|---|---| +| 受信トレイを管理下に置く | [通知](/docs/use/notifications) | +| 自分に回されたリクエストに対応する | [承認](/docs/use/approvals) | +| データを使って生産的に作業する | [レコード](/docs/use/records) | +| 日常的なユーザーとして ObjectOS を見て回る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/records.ja.mdx b/content/docs/use/records.ja.mdx new file mode 100644 index 00000000..84c6df65 --- /dev/null +++ b/content/docs/use/records.ja.mdx @@ -0,0 +1,85 @@ +--- +title: レコードを操作する +description: 日々の作業の裏にあるレコード(タスク、プロジェクト、顧客、何でも)を開き、読み、作成し、編集します。 +editions: [community, cloud, enterprise] +translation: + source_sha: 18dd6c9ea408b3c20cbbdf3ace75fbfc3830ea0ae649a3066878122a22934d97 + guide_rev: 1 + mode: auto +--- + +ObjectOS のすべては**レコード**です。タスク、プロジェクト、顧客、請求書。このページでは、レコードを開き、そのページを読み、新しいレコードを作成し、多数のレコードを一度に編集する方法を説明します。 + +## レコードを開く [#opening-a-record] + +どのリストでも、**レコードのタイトルはリンク**です。クリックするとレコードページが開きます。戻るには、レコード上部の戻るリンク(たとえば **< All Tasks**)か、左上のパンくずリストを使います。 + +## レコードページの構成 [#anatomy-of-a-record-page] + +レコードページには、上から順に次のものが表示されます。 + +| 要素 | 内容 | +|---|---| +| **戻るリンク** | 元のリストに戻ります(例:**< All Tasks**) | +| **状態パイプラインバー** | ワークフローを持つオブジェクトのみ。レコードがプロセスのどこにあるかを示す山形のステージ | +| **ハイライト帯** | レコードの主要フィールドの概要(例:Project、Assignee、Priority、Due Date、Progress) | +| **アクションボタン** | このレコードに定義されたアクション。たとえば **Log Time** | +| **フィールドセクション** | 残りのフィールドをカードにまとめたもの(例:Overview、Schedule、Details) | +| **Show N empty fields** | セクションの末尾にあるトグル。ページを短く保つため、空のフィールドはデフォルトで折りたたまれています | + +### 状態パイプラインを読む [#reading-the-state-pipeline] + +オブジェクトにワークフローがある場合、上部のバーはすべてのステージを山形で表示します。完了したステージにはチェックマークが付き(✓ Backlog → ✓ To Do → ✓ In Progress)、**現在のステージは強調表示**されます。ひと目でレコードの進み具合がわかります。 + +> **ヒント:** レコードの項目が少なく見える場合は、**Show N empty fields** をクリックしてください。フィールドは存在していて、まだ値がないだけです。 + +## レコードを作成する [#creating-a-record] + +任意のリストの上部にある **+ New** をクリックします。モーダルが開きます(たとえば *"Create Task — Add a new Task to your database"*)。フォームの中には次のものがあります。 + +| 表示されるもの | 動作 | +|---|---| +| `*` の付いたフィールド | 必須です。入力しないと保存できません | +| **Select…** ピッカー | 別のレコード(Project、User)を指す参照フィールド。入力して検索するか、テーブル閲覧ボタンで完全な一覧から選びます。 | +| ドロップダウン | Status や Priority のような選択フィールド。値をひとつ選びます | +| 日付ピッカー | 日付フィールドをクリックし、カレンダーから日を選びます | + +**Create** で完了するか、**Cancel** で破棄します。 + +## レコードをインラインで編集する [#editing-records-inline] + +変更するたびにレコードを開く必要はありません。グリッドビューで、ツールバーの **Edit inline** トグルをオンにすると、セルが編集可能になり、ステータスの修正、タスクの再割り当て、日付の更新をリスト上でスプレッドシートのように直接行えます。 + +## 行ごとのアクションメニュー [#the-per-row-actions-menu] + +グリッドのすべての行の末尾には `⋮` **Actions** メニューがあります。そのレコード 1 件に使えるアクションがまとまっており、先にレコードを開く代わりの手早い方法です。 + +## 多数のレコードを一度に選択する [#selecting-many-records-at-once] + +グリッドの各行は**チェックボックス**で始まります。 + +1. 対象の行にチェックを入れます(ページ全体ならヘッダーのチェックボックス)。 +2. オブジェクトの**一括アクション**(リスト上部の **Reassign…** のようなボタン)が、選択したものすべてに適用されるようになります。 + +> **ヒント:** 一括アクションはオブジェクトごとに異なります。リストヘッダーの **+ New** と **Import** の隣にあるボタンです。 + +## リストヘッダーの全体 [#the-list-header-in-full] + +すべてのリストの上には次のものがあります。 + +| ボタン | 機能 | +|---|---| +| **+ New** | レコードを作成する(上で説明したモーダル) | +| **Import** | 1 件ずつ入力する代わりに、ファイルからレコードを取り込む | +| カスタムの一括アクション | **Reassign…** のようなオブジェクト固有の操作を、選択したものに適用する | +| ベルオフのトグル | このオブジェクトの通知をミュートする。[通知](/docs/use/notifications)を参照してください | + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| リスト自体の見た目を変える:フィルター、グループ化、カンバンへの切り替え | [ビューを使う](/docs/use/views) | +| 行ではなく合計と傾向を見る | [ダッシュボード](/docs/use/dashboards) | +| 自分を待っているレコードを承認する | [承認](/docs/use/approvals) | +| どの更新を受け取るかを制御する | [通知](/docs/use/notifications) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/search.ja.mdx b/content/docs/use/search.ja.mdx new file mode 100644 index 00000000..e1a7596d --- /dev/null +++ b/content/docs/use/search.ja.mdx @@ -0,0 +1,102 @@ +--- +title: 検索 +seoTitle: "検索とコマンドパレット:あらゆるレコードを見つける" +description: レコードの一部を入力するだけで見つけられます。⌘K パレット、リストの検索ボックス、参照ピッカーから。そしてアプリ内のどこへでも移動できます。 +editions: [community, cloud, enterprise] +translation: + source_sha: 78801613cbafc2e8b4473a6057341caba6dbfad1ba128189df982d69710f578b + guide_rev: 1 + mode: auto +--- + +{/* + Platform checklist items this page documents (objectstack + docs/qa/platform-checklist/areas/search.json): search.cross-field-object-search, + search.field-scoped-narrowing, search.rls-both-personas, + search.pinyin-flag-both-sides, search.freshness-and-empty, + search.console-global-search, search.command-palette-navigation, + search.global-search-skips-unreadable. +*/} + +名前、メールアドレス、ステータス、都市名の一部を入力すると、ObjectOS はそれを含むレコードを見つけます。同じ検索が 3 つの場所で動作します。 + +| 場所 | 検索対象 | +|---|---| +| **グローバル検索**:`⌘K`(Mac) / `Ctrl-K`(Windows/Linux)、またはトップバーの **Search…** | 読み取れるすべてのオブジェクトにわたるレコードと、アプリ自体のメニュー | +| **リスト検索**:ビューのツールバーの虫眼鏡 | 今いるリストのレコード | +| **参照ピッカー**:別のレコードを指すフィールドの **Select…** ボックス | 選択できるレコード | + +3 つとも入力した語をサーバーに送り、同じ答えを受け取ります。そのため、ひとつの場所で見つかるレコードは他の場所でも見つかります。 + +## 一致の仕組み [#how-matching-works] + +| 入力 | 見つかるもの | +|---|---| +| 単語の一部:`retail` | 検索対象のフィールドのどこかに `retail` を含むすべてのレコード:*Acme Retail*、または業種が *Retail* の取引先 | +| 大文字小文字は問わない:`Retail`、`RETAIL` | 同じレコード。検索は大文字と小文字を区別しません | +| 複数の語:`retail northwind` | **すべての**語が同じレコードのいずれかのフィールドに一致するレコード | +| 選択肢のラベル:`In Progress` | ステータス(または他の選択フィールド)がその選択肢を持つレコード。保存されている値が異なっていても見つかります | + +どのフィールドを検索するかは、アプリを構築した人がオブジェクトごとに設定します。選んでいない場合、検索はレコードの名前またはタイトル、テキストフィールド(メール、電話、URL、長いテキストを含む)、選択フィールドを対象にします。数値、日付、はい/いいえのフィールド、ファイル、他のレコードへのリンクは対象外です。 + +> **ヒント:** 語を増やすと結果が絞り込まれます。`acme invoice` は Acme の請求書を見つけます。Acme のすべてのレコードとすべての請求書ではありません。 + +## 見つかるのは読み取れるものだけ [#you-only-find-what-you-can-read] + +検索は、リストを開くときと同じく、あなたの権限で実行されます。 + +- 読み取れないレコードは決して返されず、合計件数にも数えられません。 +- アクセス権のないオブジェクトは静かにスキップされます。検索は読み取れるオブジェクトから引き続き答えます。 +- あなたから隠されているフィールドは検索されないため、ヒットからその中身が明らかになることはありません。 + +2 人が同じ語を入力しても、異なる結果になることがあります。それは正しい動作です。それぞれが見ることを許された一致を見ています。 + +## 常に最新 [#always-up-to-date] + +待つべきインデックスはありません。作成したばかりのレコードはすぐに見つかります。名前を変更すると、新しい名前が一致し、古い名前は一致しなくなります。削除したレコードは結果から即座に消えます。 + +何も一致しない場合は **No results found** と表示されます。エラーではありません。語を減らすか、短くしてみてください。 + +## 中国語の名前とピンイン [#chinese-names-and-pinyin] + +アプリが中国語をサポートしている場合、検索はピンインで入力された中国語の名前にも一致します。完全な綴り(`zhangwei`)または頭文字(`zw`)で **张伟** が見つかり、漢字も入力したとおりに一致し続けます。ピンインはレコードの名前フィールドに適用されます。 + +ピンイン検索は、アプリの言語に中国語が含まれている場合に有効になります。管理者は `OS_SEARCH_PINYIN_ENABLED` の設定で、デプロイ全体に対してオンまたはオフにできます。 + +## コマンドパレット [#the-command-palette] + +`⌘K` / `Ctrl-K` を押す(または **Search…** をクリックする)とパレットが開きます。検索ボックスとナビゲーターを兼ねています。 + +| 表示されるもの | 機能 | +|---|---| +| **Recently viewed** | ボックスが空の間に表示されます。最近開いたレコードに 1 クリックで移動できます | +| オブジェクト名の下にグループ化されたレコード | **2 文字以上**入力すると、*Accounts* や *Contacts* などの見出しの下に一致が表示されます。**Enter** で強調表示されたレコードを開きます | +| **Objects**、**Dashboards**、**Pages**、**Reports** | 名前が一致する現在のアプリのメニュー項目。メニューグループ内の項目も含みます | +| **Switch App** | 他のアプリ。現在のアプリには **Current** の印が付きます | +| **Preferences** | **Light Theme**、**Dark Theme**、**System Theme**。即座に適用されます | +| **Open Full Search Page** | 検索ページ(下記)を開きます | + +パレットが提示するのは、いずれにせよたどり着けるものだけです。サイドバーで隠されているメニュー項目はここでも隠され、非アクティブなアプリは **Switch App** に表示されません。 + +> **ヒント:** キーボードから手を離さずに:`⌘K`、入力、矢印キー、**Enter**。もう一度 `⌘K` を押すとパレットが閉じます。 + +## 検索ページ [#the-search-page] + +**Open Full Search Page** は、同じ検索の全画面表示に移動します。一致するアプリのオブジェクト、ダッシュボード、ページ、レポートと、オブジェクトごとにグループ化されたレコードの一致が表示されます。ボックスに入力して絞り込みます。 + +## リスト内を検索する [#searching-inside-a-list] + +ビューのツールバーの虫眼鏡は、今いるリストを絞り込みます。ビューのフィルター、グループ化、ソートと組み合わせて動作します。[ビューを使う](/docs/use/views)を参照してください。*どの*リストかわかっているときに使い、わからないときは `⌘K` を使います。 + +## アプリビルダー向け [#for-app-builders] + +オブジェクトの `searchableFields` は、検索がスキャンするフィールドを設定します。省略すると、上で説明した名前、テキスト、選択フィールドになります。ビューや API 呼び出しはスキャンをそれらのうちの少ないフィールドに絞り込めますが、広げることは決してできません。セット外のフィールドを要求すると、無視されるのではなく拒否されます。計算される `formula` フィールドは保存されないため検索できません。値を保存されるテキストフィールドにコピーして、そちらを検索してください。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| リストをフィルター、グループ化、ソートする | [ビューを使う](/docs/use/views) | +| 見つけたレコードを開いて編集する | [レコードを操作する](/docs/use/records) | +| 誰がどのレコードを見られるかを理解する | [権限](/docs/configure/permissions) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/use/views.ja.mdx b/content/docs/use/views.ja.mdx new file mode 100644 index 00000000..30d2ca3a --- /dev/null +++ b/content/docs/use/views.ja.mdx @@ -0,0 +1,90 @@ +--- +title: ビューを使う +seoTitle: "ビューを使う:グリッド、ボード、カレンダー、タイムライン" +description: 同じレコードをグリッド、ボード、カレンダー、タイムラインとして表示し、自分の方法でフィルター、グループ化、ソートします。 +editions: [community, cloud, enterprise] +translation: + source_sha: ed314bea3937ef6fc74e2f3459c058566342cca16afa870864575be9d8550c86 + guide_rev: 1 + mode: auto +--- + +**ビュー**は、オブジェクトのレコードを見るための保存された方法です。同じタスクを、スプレッドシートのようなグリッド、カンバンボード、カレンダーとして表示できます。自由に切り替えられ、データは何も変わりません。 + +## ビューのタブ [#view-tabs] + +すべてのリストの上部には、オブジェクトのビューがタブとして表示されます。たとえば次のとおりです。 + +**All Tasks ★ | In Progress | Urgent | Done | … 9 more | +** + +| タブの要素 | 意味 | +|---|---| +| **★** | デフォルトのビュー。最初に開くものです | +| 名前付きのタブ(*In Progress*、*Urgent*) | チーム向けに設定された、あらかじめフィルターされたビュー。タブの小さな漏斗のバッジは、組み込みのフィルターがあることを示します。 | +| **… 9 more** | ビューが収まりきらないときのオーバーフローメニュー | +| **+** | 自分の**個人ビュー**を作成します。自分のフィルター、自分の列を、自分専用に保存します | + +> **ヒント:** 毎朝同じフィルターを適用し直す代わりに、**+** を一度クリックして個人ビューとして保存しましょう。 + +## ビューの種類を切り替える [#switching-view-types] + +右側のツールバーには、現在のビューの種類(例:**Grid**)が表示されます。クリックすると、同じレコードを見る 6 つの方法を切り替えられます。 + +| 種類 | 最適な用途 | +|---|---| +| **Grid** | 日常的な表。多数のレコードの一覧、ソート、編集 | +| **Kanban** | 進行中の作業。ボード上でステージを移動するカード | +| **Gallery** | 画像が重要なレコード。製品、デザイン、人 | +| **Calendar** | 日付を持つもの。締め切り、イベント、予約を月または週ごとに | +| **Timeline** | 時間に沿ったレコードの時系列フィード | +| **Gantt** | プロジェクト計画。開始、終了、期間を示すバー | + +## ビューのツールバー [#the-view-toolbar] + +ビューの種類の切り替えの隣には、次のものがあります。 + +| コントロール | 機能 | +|---|---| +| **Edit inline** | グリッドでスプレッドシートのようなセル編集を切り替えます。[レコードを操作する](/docs/use/records)を参照してください | +| **Filter** | 選んだ条件に一致するレコードだけを表示します | +| **Group** | 行を見出しの下にまとめます(例:Project や Assignee ごと) | +| **Sort** | レコードを並べ替えます。バッジは有効なソートルールの数を示します | +| 列の設定 | どの列をどの順序で表示するかを選びます | +| 虫眼鏡 | **ビュー内検索**。入力して現在のリストを絞り込みます | + +> **ヒント:** ビュー内検索は今いるリストを絞り込みます。`⌘K` / `Ctrl-K` はすべてのオブジェクトにわたってレコードを検索します。*どの*リストかわかっているときは虫眼鏡を、わからないときは `⌘K` を使いましょう。 + +## グリッドを読む [#reading-a-grid] + +グリッドのセルには追加の情報が詰め込まれています。 + +| 表示されるもの | 意味 | +|---|---| +| 行のチェックボックスと `#` 番号 | 一括アクションのために行を選択し、行数をひと目で数えます | +| 色付きのピル | Status や Priority のような選択フィールドの値。色は値に従います | +| 赤い日付("Overdue 6d") | 日付が過ぎています。その日数だけ期限切れです | +| 進捗バー | 完了率のフィールドをバーで表示したもの | +| 行末の `⋮` | 行ごとのアクションメニュー | +| フッターの件数("10 records") | 現在のビューに含まれるレコードの数 | + +## カンバンボード [#kanban-boards] + +**Kanban** に切り替えると、レコードは**列の中のカード**になります。列はオブジェクトの選択フィールドのひとつから作られます。タスクの場合は通常 Status なので、*Backlog*、*To Do*、*In Progress*、*In Review* などになります。 + +| ボードの要素 | 表示内容 | +|---|---| +| 列ヘッダー | ステージ名と、その列のカードの**件数** | +| カード | レコードのタイトルと主要な詳細。担当者、優先度のピル | +| ツールバー | グリッドと同じ **Filter / Group / Sort** のコントロール | + +カンバンは「各ステージにどれだけの作業があるか」にひと目で答えます。列の件数がボトルネックの検出器です。 + +## 次に進む [#where-to-go-next] + +| やりたいこと | 読むもの | +|---|---| +| ビューの裏にあるレコードを開いて編集する | [レコードを操作する](/docs/use/records) | +| 行ではなく集計された数値を見る | [ダッシュボード](/docs/use/dashboards) | +| 承認リクエストに対応する | [承認](/docs/use/approvals) | +| ベルが知らせる内容を調整する | [通知](/docs/use/notifications) | +| ツアーに戻る | [ObjectOS を使う](/docs/use) | diff --git a/content/docs/why.ja.mdx b/content/docs/why.ja.mdx new file mode 100644 index 00000000..ababb27b --- /dev/null +++ b/content/docs/why.ja.mdx @@ -0,0 +1,124 @@ +--- +title: なぜ ObjectOS なのか +seoTitle: "なぜ ObjectOS なのか:使うべきときと、使うべきでないとき" +description: 率直な説明。使うべきとき、使うべきでないとき、そして何が違うのか。 +editions: [community, cloud, enterprise] +translation: + source_sha: 5f5a99346059a4eebaab08952d7d63a45e80b1fef6b6aaf390b849f7de2d5808 + guide_rev: 1 + mode: auto +--- + +このページは、ObjectOS があなたに合っているかを判断するために、他のすべてのドキュメントの行間を読まなくても済むように存在します。 + +## 賭けの形 [#the-shape-of-the-bet] + +**オントロジーこそがソフトウェアです。** 実行可能なひとつのビジネスオントロジー。AI が書き、ランタイムが実行し、エージェントが操作し、あなたが所有します。4 つの約束です。そして ObjectOS は、何もインストールせずにブラウザ上のホスト型で(**ObjectOS Cloud**)、あなた自身のインフラストラクチャ上でセルフマネージドで(**ObjectOS Enterprise**)、あるいは自分のマシン上で無料で(**ObjectOS Community**、オープンソースのランタイム)、その約束を守ります。 + +- **実行可能。** オブジェクト、フィールド、リレーション、アクション、権限、フロー、エージェント定義は、ランタイムが実行する、型付きでバージョン管理されたひとつの定義です。REST エンドポイント、生成された画面、RBAC、監査ログ、MCP ツールはすべてそこから導出されます。コード生成のステップも、「説明した」と「稼働した」の間のデプロイパイプラインもありません。 +- **AI が書ける。** その定義をファイルごとに手で書く必要はありません。ビジネスに必要なものを組み込みの [AI Builder](/docs/build/ai-builder) に説明してください。AI Builder は少数の監査済みツールを呼び出し、すべての変更は人の承認を待つキューに入り、結果は実際に読める小さな差分になります。 +- **エージェントが操作できる。** すべてのオブジェクトと公開されたすべてのアクションは MCP ツールを兼ねるため、エージェントは人と同じ権限、行レベルセキュリティ、監査のもとで稼働中のアプリを操作します。生の SQL も、スクレイピングした UI も使いません。 +- **あなたが所有する。** オントロジーは通常の [ObjectStack](https://github.com/objectstack-ai/objectstack) メタデータで、Apache-2.0 です。どちらのエディションでもエクスポートして、そのオープンソースのランタイムで実行できます。ObjectOS Enterprise では、ランタイムとデータベースもあなたのインフラストラクチャ上に置かれます。 + +説明は以上です。このページの残りは、それが誰に合い、誰に合わないかです。 + +## 次に当てはまるなら ObjectOS を使ってください [#use-objectos-if-you-] + +- 社内ツール、管理パネル、バックオフィスアプリが必要で、**かつ** +- それを使う人(またはその人の代わりに動く AI エージェント)が、チケットを起票せずにそれを*拡張*できるようにしたく、**かつ** +- ホスト型で運用してほしい(ObjectOS Cloud)、あるいは自社の境界内で実行しなければならない(ObjectOS Enterprise)、**かつ** +- 認証 + RBAC + 監査 + ファイルアップロード + ジョブ + Webhook を 10 回目に作り直したくない。 + +適しているよくあるシナリオ: + +| シナリオ | うまくいく理由 | +|---|---| +| セキュリティレビューでデータ主権が問題になったため、Retool / Appsmith アプリを置き換える | ObjectOS Enterprise はあなたの VPC 内で動作し、データは外に出ません | +| 規制業種向けにコンプライアンス / リスク / ベンダー管理ツールを構築する | 監査ログ、RBAC、フィールドセキュリティ、行レベルの分離が正式な機能です。そして AI による変更はそれ自体が監査エントリになります | +| SaaS 製品の社内管理画面を立ち上げる | ひとつの Node プロセスで、既存のサービスの隣に収まります。あるいは何も実行しなくてよい Cloud テナントです | +| エンタープライズ顧客向けのエアギャップまたはオンプレミスのデプロイ | ObjectOS Enterprise の正式なターゲットです。エアギャップライセンスはオフラインで検証され、AI サービスはローカルモデルを指せます | +| マルチテナントの社内ポータル(複数の組織、ひとつのデプロイ) | 隔離型のテナンシー体制が、ランタイム内で強制される組織ごとの分離の壁を立てます。これは Enterprise の機能です。[ライセンスと料金](/docs/editions/license)を参照してください。分離されるのは組織のデータとメンバーシップであり、スキーマではありません。組織はひとつのデータベースとひとつのメタデータセットを共有します | +| ユーザーが変更を説明するだけで、安全にアプリを拡張できるようにしたい | AI Builder + HITL 承認キュー + 監査ログこそが要点です | +| 基幹 ERP の周りにあるロングテールの部門アプリ:ベンダーのオンボーディング、点検、社内申請 | それぞれが、メールで回されるスプレッドシートではなく、頻繁に変わる小さな型付きの定義になります | +| 初日からエージェントが操作するバックオフィス | すべてのデプロイはデフォルトで有効な MCP サーバーです。エージェントは人と同じ権限と監査を通じて動作します | + +## 次に当てはまるなら ObjectOS を使わないでください [#dont-use-objectos-if-you-] + +- 大企業の基幹 ERP や財務システムを置き換える必要がある → 総勘定元帳、連結、税務、給与には規制が伴い、パッケージシステムがすでにそれを組み込んでいます。その中核の代わりではなく、周りに構築してください。 +- 価値の大部分が多数の既存システムの統合から生まれる → すでに運用しているデータベースへの接続は[デフォルトで読み取り専用で、まだ初期段階](/docs/build/extend-existing-systems)です。それらのシステムの上に載るレイヤーのほうが適しています。 +- データレイク上の分析が必要 → ダッシュボードはアプリ自身のオブジェクト上で動作します。レイクをクエリするようには作られていません。 +- 価格設定やスケジューリングのような、アルゴリズム中心の領域で作業している → オントロジーは何ができるかを宣言するものであり、最適化エンジンではありません。アルゴリズムを[アクション](/docs/build/interface/actions)としてラップすれば、権限、監査、エージェントアクセスが他のものと同様に適用されます。 +- それ自体が認証を受けたプラットフォーム上で実行しなければならない → ObjectOS はそうではありません。認証は稼働中のデプロイに対して行われ、あなたのデプロイの認証はあなたが担う作業です。[セキュリティとコンプライアンス](/docs/reference/security#compliance-frameworks)を参照してください。 +- 高トラフィックのコンシューマー製品を構築している → 従来の Web フレームワークを使ってください。より多くを制御できます。 +- エンドユーザー向けにピクセル単位で作り込んだ独自 UI が必要 → 生成される UI は管理/社内用途向けです。REST 経由で独自のフロントエンドと組み合わせてください。 +- エンジニア以外の人向けのドラッグ&ドロップのキャンバスが欲しい → Retool、Bubble、Airtable を使ってください。ObjectOS は UI をオントロジーから生成します。ビルダーは AI とそれが提案する差分であり、キャンバスではありません。 +- リアルタイムの共同編集(Figma のような)が必要 → それは realtime プラグインが解決するものではありません。 + +最初の 5 つの理由は、ObjectOS の土台であるオープンなランタイムについて、[ObjectStack を使うべきとき](https://objectstack.ai/docs/concepts/when-to-use)に説明されています。 + +## おそらく今使っているものとの比較 [#compared-to-what-youre-probably-using] + +### Retool / Appsmith / 社内開発との比較 [#vs-retool--appsmith--internal] + +| | Retool | ObjectOS | +|---|---|---| +| データの場所 | 彼らのクラウド(上位プランではセルフホストも可) | ObjectOS Cloud、または ObjectOS Enterprise ではあなたのネットワーク | +| UI ビルダー | ドラッグ&ドロップ、非常に洗練されている | メタデータ駆動で生成。カスタマイズ性は低い | +| 料金 | ユーザー単位で、増えると苦しい | AI シートのみ。閲覧者は無料。無料のセルフホストはオープンソースの ObjectStack ランタイム | +| ワークフロー / トリガー | 彼らのワークフローエンジン | 宣言的なフロー + プラグイン | +| バックエンドロジック | 彼らのクエリエディターに限られる | 完全な TypeScript、Node エコシステム全体 | +| 最適な用途 | 既存の API の上に作る手早いダッシュボード | 定義を自分で所有するアプリ | + +### Supabase / Firebase との比較 [#vs-supabase--firebase] + +| | Supabase | ObjectOS | +|---|---|---| +| セットアップ時間 | 約 30 秒 | 約 30 秒 | +| データベース | Postgres、彼らのもの(セルフホストも可) | ObjectOS Cloud ではマネージド。ObjectOS Enterprise では任意の Postgres / MySQL / SQLite / Turso / Mongo、**あなたのもの** | +| 認証 | 組み込み | 組み込み | +| 生成される API | PostgREST | ObjectQL が生成する REST | +| 管理 UI | Console(基本的) | Setup + Account | +| RBAC | Postgres RLS による行レベル | RBAC + 行レベル + フィールドレベル、宣言的 | +| 監査ログ | 自作 | 正式な機能 | +| ベンダーロックイン | 彼らの認証 + 彼らのストレージ + 彼らのリアルタイム | オントロジーはオープンソースの ObjectStack ランタイムへエクスポートでき、すべてのレイヤーがプラグイン | +| 最適な用途 | BaaS が欲しい新規アプリ | 定義を所有する必要があるアプリ。Enterprise ではランタイムも | + +### Salesforce / NetSuite / ServiceNow との比較 [#vs-salesforce--netsuite--servicenow] + +| | Salesforce | ObjectOS | +|---|---|---| +| データモデル | オブジェクト + フィールド + リレーションシップ、プラットフォーム内で設定 | オブジェクト、フィールド、リレーションをひとつのオープンなオントロジーに。エクスポート可能で、Apache-2.0 の ObjectStack ランタイムで実行可能 | +| 権限 | プロファイル + 権限セット + 共有ルール + FLS | 馴染みのある語彙(権限セット、ポジション、共有ルール、FLS)をオントロジーで宣言し、すべての REST 呼び出し、UI クリック、エージェントのツール呼び出しで強制 | +| ユーザーあたりのコスト | $150-300/ユーザー/月 | 閲覧者と AI を使わないユーザーは無料。支払うのは AI シートのみ | +| カスタマイズ | Apex + Lightning + フロー | TypeScript + フロー | +| 実行場所 | 彼らのクラウドのみ | ObjectOS Cloud、またはあなたのインフラストラクチャ(ObjectOS Enterprise) | +| 「自分たちのもの」になるまでの時間 | コンサルタント作業で数か月 | 午後ひとつ | +| 最適な用途 | エコシステムにお金を払う営業主導の企業 | 税金なしでモデルを手に入れたいチーム | + +### 自前で構築する場合(Next.js + Prisma + NextAuth)との比較 [#vs-rolling-your-own-nextjs--prisma--nextauth] + +| | 自作 | ObjectOS | +|---|---|---| +| 最初の REST エンドポイント | 数時間 | 60 秒 | +| 認証(メール + OAuth + OIDC + パスキー + 2FA) | 数週間 | 含まれる | +| すべてのオブジェクトの管理 UI | オブジェクトごとに構築 | 生成される | +| 監査ログ | 自作 | プラグイン、宣言的 | +| 権限付きの S3 へのファイルアップロード | 自作 | プラグイン | +| バックグラウンドジョブ + リトライ + デッドレター | 自作 | プラグイン | +| マルチテナンシー | 自作(そして 2 回は間違える) | 組み込み | +| 最適な用途 | 独自の UX を持つ公開アプリ | スピードが勝る社内ツール | + +## 率直なトレードオフ [#the-honest-tradeoffs] + +- **Retool より UI の自由度は低い。** UI はメタデータから生成されます。独自のフロントエンドと組み合わせることはできます(REST API は UI が使うものと同じです)が、手作りでピクセル単位まで作り込んだ UI が必要なら、自分で構築して ObjectOS をバックエンドとして使ってください。 +- **TypeScript ファースト。** エンジニア以外の人がリポジトリで直接オブジェクトを作成することはありません。Salesforce の管理者は UI ビルダーをクリックして進むことに慣れていますが、ここでは AI Builder の差分か `git` です。 +- **Salesforce より新しい。** Salesforce には 25 年分のエッジケースが文書化されています。私たちには数百です。プロトコルは安定しています。エコシステムは成長中です。 +- **オープンソースの基盤、3 つのエディション。** 土台となる ObjectStack スタックは Apache-2.0 です。商用製品で使い、組み込み、非公開で改変でき、コピーレフトの驚きはありません。**ObjectOS Community**、すなわちそこから構築されたオープンソースのランタイムと Console は、同じライセンスのもとで無料です。**ObjectOS Cloud** と **ObjectOS Enterprise** は商用エディションで、ホスティングと運用、AI Builder、SSO、サポートを追加します。 + +## 現実の確認 [#reality-check] + +最小の ObjectOS は ObjectOS Cloud 上の Free テナントです。最小のセルフマネージド構成は SQLite を使うシングルノードのコンテナです。現在本番で最大のものは、Postgres + S3 + Redis を使い、複数のリージョンにまたがって数万人の社内ユーザーにサービスを提供しています。そのすべてが同じソフトウェアを実行しています。 + +[ObjectOS Cloud](https://www.objectos.ai) で始めるか、ObjectOS Community で`npm create objectstack@latest my-app` を使ってプロジェクトをスキャフォールドし、5 分で判断してください。合わなければ、失ったのは 5 分です。 + +[**ObjectOS Community をローカルで実行する →**](/docs/start/community)