[prismic]Heddless CMS prismicで、uidを自動入力する

prismicはパリとサンフランシスコに拠点を置くスタートアップテクノロジー企業です。

提供するHeddles CMSはおもしろく、サーバーサイドでフィールドや型定義を持つことができ、Gitで管理できるのが魅力的でした。
デメリットはprismic独自の言葉、考え方があるのでドキュメンをしっかりと読む必要があることです。

今回は、prismicのドキュメントごとに割り振られるUIDについて書いていきます。

目次

PrismicのUID

UIDフィールドは、SEOに適したWebサイトのURLを作成するために使用される一意の識別子のことです。
つまり、2つのドキュメントが同じUIDを持たないことを保証しています。

UIDフィールドにテキストを入力すると、Prismicは自動的にテキストをフォーマットして、一意かどうかを検証します。
また、UIDを入力してない場合は、別のテキストフィールドのテキストがフォーマットされて自動的に入力されます。

特定のフィールドの値をUIDとして扱う場合

customtypesのindex.jsonに、UIDとして扱いたいフィールドに対して、useAsTitle: trueを追加します。

useAsTitleが設定されたフィールドの値が入力されると、自動的にUIDにフォーマットされてせってされるようになります。

      "title": {
        "type": "Text",
        "config": {
          "label": "タイトル",
          "placeholder": "",
          "useAsTitle": true
        }
      },

UIDの自動入力が動作しない。

WordPressのPostIDのように数値の連番を自動的に付与してほしいと思って調査。
だけど、現在、UIDを自動的につける方法はなさそうです。

例えば、useAsTitleを設定した「title」のテキストフィールドを用意して、英数字を入力すると、自動的にUIDが設定される。
まぁ使いやすい。

だけれど、「title」のテキストフィールドに日本語文字列を入力すると、UIDは自動的に設定されない。

どうやら、UIDには、日本語には対応していないみたいだ。

運用していくためには、UIDに何かしら入力規則を設ける必要がありそう。

Summary

WordPressのようにUIDを意識せず使うことを想定している場合は、ちょっと難しそうだ。
Gitでフィールドや型を定義、管理できるのは魅力的だか、日本語の対応もできるとなお良さそう。(UIDがIDENTITYのように扱えれれば、一番良さそうです。)

よかったらシェアしてね!
目次