Introduction
Core Concepts
Querying Content
Editing
Customizing Tina
Going To Production
Drafts
Guides
Further Reference

TinaCMS implements a database layer between the Tina GraphQL API and the underlying Git repository. This data layer buffers requests between TinaCloud and GitHub resulting in improved editing performance with TinaCMS. It also enables additional capabilities such as:

Indexing

TinaCloud will automatically maintain a synchronized copy of your repository in our secure cloud database. We refer to this synchronization process as indexing. It involves fetching each item from your GitHub remote repository and storing a copy in the database. After the initial indexing process, TinaCloud will only index content that has been updated. There are some circumstances where a full re-indexing may be required. Some example scenarios are:

  • Changes to tina/config.{ts,js}
  • Changes to the path to tina
  • Changes to the configured repository
  • New branches in GitHub

Synchronization Issues

Webhook Failures

In rare circumstances, the GitHub webhook connecting your repository to TinaCloud may be disrupted. If the webhook does not execute, TinaCloud may become out of sync with your GitHub repository.

Use the Refresh Webhooks button to re-initialize the webhook.

External Updates Not Synchronized

In some cases, TinaCloud's repository cache may become out of sync with your GitHub repository which might result in changes being present in your repository but not in TinaCMS. Generally this should only happen if there is a problem with the GitHub webhook. If this does occur, you can re-index the branch that is out of sync, restoring it to the current state of your repository. This will discard any updates in the branch in TinaCloud that haven't been pushed to your repository.

Use the Refresh Webhooks button to re-initialize the webhook.

Export Branch

Using "Reindex" on a branch will discard any changes in TinaCloud that haven't been pushed to your repository for that branch. If you need to export your unsaved content from TinaCloud, you can use the Export Branch button to export the current state of your repository to a new branch.

Last Edited: June 15, 2022