コンテンツにスキップ

はじめに(設計書を読む順番と全体の 1 周)

扱うこと: 設計書を読む順番、インデックスを作って検索するまでの 1 周の流れ。扱わないこと: 各処理の仕様の詳細(各区分のページで扱う)。先に読むページ: 設計の概要。

初めて設計書を読む開発者が、どこから読めばよいかと、インデックス作成から検索までの流れを 1 度でつかめるようにする。

読む順番

flowchart TB
    idx["design/index.md<br>目的・方式(用語)・全体構成"]
    onb["start/onboarding.md<br>(このページ)"]
    st["structure/<br>全体の構成"]
    ix["indexing/<br>インデックス作成"]
    dt["index-data/<br>インデックスのデータ"]
    se["search/<br>検索"]
    gu["gui/<br>画面"]
    te["testing/<br>テストと CI"]
    rf["reference/<br>関数一覧"]

    idx --> onb --> st --> ix --> dt --> se --> gu --> te
    te -. 必要なとき .-> rf

インデックスを作って検索するまでの 1 周

利用者が画面を開いてから、インデックスを作り、検索して元のファイルにたどり着くまでの一連の流れ。各矢印の詳しい中身(取り込みの並列化・本文インデックスへの書き出し・検索の絞り込みなど)は、対応する区分のページで扱う。

sequenceDiagram
    actor U as 利用者
    participant G as 画面(tebunko.bat)
    participant CV as インデクサ(tebunko/indexer.ps1)
    participant W as work/store/content/

    U->>G: [インデックス管理]の[+ フォルダを追加]でインデックスを追加
    U->>G: [すべて更新]
    G->>CV: 画面のプロセスのスレッドで実行(受け渡しの口 -Channel)
    CV->>CV: 取り込み対象を数える(更新日時・サイズを前回と比べる)
    G->>U: インデックスごとの取り込み対象の件数を確認(更新が無ければ「更新不要」)
    U->>G: [更新を開始](前回失敗分も再取り込みするかを選べる)/[キャンセル]
    CV->>W: シート・ページ・スライドごとの TSV を作成し、フォルダごとの本文インデックスに入れる(取り込み済み・更新なしはスキップ)
    G->>U: 進み具合・失敗したファイルを表示([中止]で止められる)
    U->>G: [検索]でワードを入力
    G->>W: 本文インデックスを検索
    G->>U: 結果をファイルごとの見出しにまとめて表示(見出しを開くと該当行。行のダブルクリックで元のファイルを開く)