Netlify CMSのeditorial_workflowで間違ってsave済みの編集画面を消してしまった時の対応
editorial_workflowにしているNetlify CMSで、間違ってsave済みの編集画面を消してしまった(記事はあるのにCMSの一覧に出ない = ゴースト化)時に復旧させる方法です。
公開日:2020年1月10日
記事がゴースト化してしまったときは焦りますが、まずは、Netlify CMSが裏側でやっていることを理解するのが先決です。理解していれば、焦らずしっかりと対応ができます。
editorial_workflowのsaveはレポジトリに残っている
Netlify CMSのeditorial_workflowのデータの保存方法は、
- save => 保存。ブランチを切って記事を保存する
- status変更 => 本番ブランチにpull requestを送る
- publish => 公開。pull requestをマージして、記事用に切ったブランチを削除する
という流れになっています。
つまり、saveしていない記事は復元できませんが、きちんとsaveした記事については必ずレポジトリのどこかにデータが保存されています。
Githubのレポジトリから復旧しよう
記事の公開前に、間違ってブラウザを閉じてしまったりしてNetlify CMSの一覧から編集できなくなったゴースト記事は、Githubの対象レポジトリから対処すれば公開状態に戻せます。
- save状態の時 => ブランチが切られているはずなのでpull requestを送って、mergeする
- status=readyの時 => pull requestがあるはずなので、それをmergeする
どちらもGithubのブラウザ画面から簡単に操作できます。
面倒なのは、publishをミスってしまった時で、このときは
- pull requestがmergeされてる => 公開済みなはず
- pull requestがmergeされない => mergeすればOK
となります。
ここら辺は、うまく処理をしないとgitのHEADがずれてしまうので、どういう状況かを確認しつつ、記事の復旧をしてから新規の作業をしましょう。
ゴースト化した記事をそのままにして新規の記事を作成すると、このpull requestがmergeできなくな会ってしまうケースもあるので要注意です。
Netlify CMSのeditorial_workflowで間違ってsave済みの編集画面を消してしまった時の対応をまとめました。
Netlify CMSは、GithubなどのレポジトリサイトのAPIでデータを処理している関係で、どうしてもデータなどに不具合が出やすいですが、裏側の流れを理解しておくことで、何かあった時も対処しやすくなります。
新着ノート
-
Gitlabの2段階認証下でコンテナレジストリにPushする方法
gitlab
公開日:2020年12月23日
-
HUGO
公開日:2020年4月27日
新着コード
-
cURLでCloudflare APIでキャッシュを削除する
cloudflare
公開日:2020年5月1日
-
iOS Safariでselectを含む要素にoverflow-y:scrollすると横にスクロールする時の対応
iOS
公開日:2020年4月15日