よくある質問
概念
headless CMS とは何ですか?
headless CMS は、コンテンツを管理する場所とコンテンツを見せる画面を分離したコンテンツ管理システムです。ここでいう「headless」とは、決まった画面(UI)が別途くっついていないという意味です。
従来の方式では、コンテンツを管理する場所と、それを見せるウェブサイトの画面がひとつにまとまっています。headless CMS はこの二つを切り離します。コンテンツはひとつの場所で管理し、そのコンテンツは約束された通り道(API、決まったルールに従ってアドレスでデータをやり取りする方式)で届けます。だから同じコンテンツを、ウェブサイトやモバイルアプリのように互いに異なる複数の画面で取得して使えます。
WEEGLOO がこの headless CMS に当たります。コンテンツをコンテンツスタジオで作って公開すると、ウェブサイトやアプリがその公開版を取得して画面に表示します。WEEGLOO 全体の動作はどのように動作するかで扱います。
コンテンツはどのような方式で提供されますか?
WEEGLOO は JSON(データをやり取りするときに使う文字ベースのデータ形式)ベースの RESTful API でコンテンツを提供します。API は決まったルールに従ってアドレスでデータをやり取りする通り道です。
用途に応じて複数の API に分かれています。
- 公開されたコンテンツを読み取る CDA(Content Delivery API): ウェブサイトやアプリがコンテンツを取得して訪問者に見せるときに使います。
- コンテンツを作って管理する CMA(Content Management API): コンテンツスタジオで行う作成・修正・公開のような作業をコードから実行するときに使います。
このように読み取りと管理が分かれているので、さまざまな環境で必要な通り道だけを選んでコンテンツを活用できます。どの状況でどの API を使うかは API リファレンスで扱います。
モバイルアプリでも使えますか?
はい。headless CMS とは何ですか?で説明したように、WEEGLOO はコンテンツを見せる画面と分離してコンテンツを管理します。だから同じコンテンツを、ウェブサイトでもモバイルアプリでも取得して使えます。公開したコンテンツをアプリで取得する方式はウェブと同じです。
会員ログインをモバイルアプリ(Android・iOS)に付けるときは、一つだけ異なる点があります。ログインが終わったあと、その結果をアプリに戻して受け取る接続がウェブと異なり、必要な技術的な手順が別にあります。その手順はAuth APIで扱います。
モバイルアプリを WEEGLOO と連携させた完成例はランニング記録サービスで最初から最後まで見られます。
コンテンツ管理
複数の言語でコンテンツを配信するにはどうすればよいですか?
Content や Media を複数の言語で提供するには、まず Space に言語(Locale)を追加します。
- 左のメニューから Space 設定の Locale 管理画面へ移動してください。
- 右上の + 追加 ボタンを押し、ドロップダウンから希望する言語を選んでください。
- (任意)Fallback Locale を指定してください。その言語の値が空のときに代わりに見せる言語です。
- 保存 を押してください。
Locale を追加したあとは、言語ごとに値を別々に受け取る Field ごとに多言語をオンにする必要があります。Content Type 編集画面で該当する Field の Fieldを設定 を開き、設定 タブで このFieldのローカライズを有効化 がオンになっているか確認してください。
詳しくは多言語管理で扱います。
Content のバリデーションはどうしますか?
バリデーションは Field に「この欄に入れられる値」の条件をかける機能です。条件に合わない値は保存されないため、誤った Content が蓄積されるのを防いでくれます。
かけられる条件は Field の種類ごとに異なります。たとえば Media をつなぐ Field には、アップロードできるファイルの種類を制限したり、ファイルサイズ・画像サイズを制限したりする条件があり、数値 Field には値の範囲を定める条件があります。
Field にバリデーションを追加するには、次のステップを進めます。
- Content Type 編集画面に行き、条件をかける Field を押してください。
- Fieldを設定 で バリデーション タブに移動してください。
- その Field の種類で使える条件が表示されます。必要な条件を選んで設定してください。
詳しくはバリデーションで扱います。
Content のタイトルはどう設定しますか?
Content のタイトルは、Content 一覧で各項目を見分ける名前です。ShortText タイプの Field であればどれでもタイトルとして使えます。
Content Type 編集画面でタイトルに使う Field を開き、その Field をタイトルとして使うよう指定すればよいです。タイトルは Content Type ごとにひとつの Field しか持てないため、すでに別の Field がタイトルに指定されている場合は、それを解除してから新しく指定します。
初めて Field を作るときにタイトルとして指定する流れは Content モデリングで扱います。
Organization と Space の管理
ユーザーを招待するにはどうすればよいですか?
あるユーザーを Space に入れるには、そのユーザーがまず Organization に属している必要があります。だから協業は Organization への招待から始まります。
Organization にユーザーを招待することは、Owner または Admin の役割を持つユーザーが行えます。
- Organization 設定画面へ移動してください。
- 左のメニューで Memberships を押してください。
- 右上の 招待 ボタンを押し、メールと与える役割といった情報を入力して招待を送ってください。
招待されたユーザーはすぐにメンバーになります。別途「承諾」ステップを経ることはなく、招待されたメールに案内メールが送信されます。
招待と役割についての詳細は組織とスペースで扱います。
API
sys.id の値は固有の値ですか?
はい。sys.id はサービス全体で固有に作られます。だから別の Organization や Space に属するリソースとも値が重なりません。
sys に入る情報はシステムプロパティ (sys)で扱います。
Content の参照リソースはどのように取得しますか?
include パラメータを使うと、一度のリクエストで Content と、それが指す参照リソースまで一緒に取得できます。
GET /v1/spaces/{spaceId}/contents?include=1上のリクエストは Content 一覧を取得しながら、一段階の深さでつながった参照データを一緒に取得します。値を 2 や 3 に上げると、より深い段階まで展開して取得します。
include は Content だけでなく、すべてのリソース取得で同じ方式で使えます。詳しくは共通クエリパラメータで扱います。
検索条件で OR 演算をサポートしますか?
REST API では、複数の条件を OR(どちらか一方でも合えば取得する)でまとめる機能は直接サポートしていません。ひとつのリクエストに複数の条件を一緒に与えると、すべてを満たす(AND)結果だけが出ます。OR が必要なら、条件ごとにリクエストを別々に送り、受け取った結果を合わせて使います。
条件で一覧を絞り込む方法は共通クエリパラメータで扱います。
決済および料金
料金プランを変更できますか?
いつでも料金プランを上げたり(アップグレード)下げたり(ダウングレード)できます。アップグレードすると残りの請求期間について按分精算され、ダウングレードは次の請求期間から適用されます。
プランごとの上限と価格は料金プランで扱います。
API 使用量はどのように計算されますか?
多くのコンテンツプラットフォームは API 呼び出し回数(リクエスト数)を基準に使用量を計算します。WEEGLOO は呼び出し回数ではなく、実際にやり取りしたデータ量(データ転送量)を基準に使用量を計算します。同じ回数のリクエストでも、やり取りするデータが大きいほど使用量は多くカウントされます。
Free、Basic、Pro プランは、毎月決められたデータ転送量を月額料金に含みます。料金プランの表には、この転送量の目安をつかめるように呼び出し回数へ換算した値も併記されています。Advanced Search のように、一度の検索が複数回の呼び出しとして計算される操作も、この転送量のなかで使われます。
決められた転送量より大きな使用量が必要な場合は、使った分だけ請求される Enterprise プランを利用できます。プランごとのデータ転送の上限は料金プランで扱います。
