チーナデータレイヤー


チーナはチーナのGraphics APIとGithubのAPIとの直接的な対話の前提に取り組みました.これは完全に許容可能なオプションですが、それはデータを送信し、データを取得するの性質のためにわずかにパフォーマンスを低下させるたびに“新しい”.畝
チーナチームは最近チーナとギタブの間に位置する新しいオプションのデータ層を導入しました.将来的には、それが実験段階から外れた後に、これは我々のデフォルト提供であるでしょう.我々のデータ層はチーナとGithubの間の要求をバッファリングします.そして、あなたの内容を編集している間、パフォーマンスを増やします.このブログのポストは、それがどのように動作するか、それが何をするか、そして、我々が将来計画したものを説明するつもりです!

プロジェクトのデータ層を有効にする方法


必要最小限の開発によりデータ層を有効利用した.実際には、データラインを有効にすることができます--experimentalDataコマンドラインフラグとして渡します.これを確認する最も簡単な方法は、package.jsonスクリプトを編集することです.畝
"scripts": {
    "dev": "yarn tinacms server:start -c \"next dev\"",
    "build": "yarn tinacms server:start -c \"next build\"",
    "start": "yarn tinacms server:start -c \"next start\" --experimentalData",
  },
フラグが追加され、CLIが実行されると、チーナは生成されたスキーマを更新し、データ層を使用したいことをチーナに知らせる.

Once you have generated the Schema, you will need to commit the changes to GitHub for it to start working on the project.


データ層は性能を上げるために何をしますか?


一旦データ層があなたのプロジェクトで有効にされるならば、我々は自動的にあなたの倉庫のコピーを我々の安全な雲データベースと同期させます.チーナがリポジトリの初期インデックスを実行したあと、チーナは自動的に新しいか更新された内容をインデックスします.これは舞台裏で行われます、そして、あなたは我々が編集をするとき、パフォーマンスの増加を除いてこれをしていると気がつきません.

我々が完全な再インデックスをするかもしれないとき


場合によっては、プロジェクトを完全に再インデックスする必要があります.これは通常、プロジェクトのスキーマが変更されたときに発生します.例えば、.tina\schema.tsへの
  • の変化
  • への経路への変化

    チーナ 注意すべきこと


    これはまだ実験的な機能であり、プロジェクトでそれを有効にする前に以下のことを考慮すべきです.
    インデックス処理がエンドユーザーに公開されていないため、インデックス処理中に行われたクエリが不完全な結果を返すことがあります.
    Githubは1時間あたりのリポジトリにつき5000リクエストのAPIリクエスト制限を持っています.あなたは非常に大きなプロジェクトを持っている場合は、このレート制限を打つことができる.1500以上の項目を持つリポジトリがある場合は、この機能を有効にしないでください.

    未来


    チーナのチームは、データ層が実験段階から成熟するにつれて、以下の非常に要求される機能を計画している.実際に我々はすでにいくつかの機能を以下に記載されて作業を開始しているので、ご期待ください!畝

    より複雑で高度なクエリ


    データ層は、我々のGraphel層をさらに強力にするために開きます.そして、将来、チーナは提供する予定です
    これは、完全なデータセットを必要としない場合は、いくつかの呼び出しを減らすことができることを意味します.これの良い例は、あなたが機能セクションのために3つのブログ柱だけを必要とするところであるでしょう.現在のチーナ統合では、ポストのすべてを取得し、事実の後にそれらをフィルタリングする必要があります.将来的にこれを行う必要はありません.畝

    参照の整合性


    データ層の導入により、私たちは今、整合性を提供することができます.これは、コンテンツライターを誤って他のコンテンツやサイト全体を破ることができるコンテンツへの変更を行うから停止します.コンテンツユーザーへの最大の利点は、ファイルの名前を変更したり、既存の参照を壊すことなくコンテンツを削除する機能です.