Pages Navigation Menu

For Creative Communication

Web制作管理も捗る!クラウド型データベースAirtableの使い方

Airtable(エアテーブル)“というWebサービスを知っていますか?

airtable-static-shot

Excel・GoogleSpreadsheetのような「スプレッドシート」と、Accessのような「データベース」を組み合わせたユニークなWebアプリケーション。2015年3月にサンフランシスコでローンチした、スタートアップ企業のサービスです。様々な使い方ができるツールですが、この記事では「Web制作管理」の現場での使用例(案)をベースに、その機能をご紹介します。

こんな作業におすすめ

Webディレクターという仕事柄、まとまった量のデータをクライアントやクリエイターと共有しながら管理する必要に日々迫られています。例えば…

  • 制作するページの一覧(タイトル、URL、…)
  • ページごとの制作ステータス(Fixしたのか、していないのか)
  • テンプレートごとの制作ステータス(デザイン中か、コーディング中か、開発中か)
  • 各ページのカテゴリー等の属性一覧
  • 各ページごとに発生した課題や修正指示のやりとり

こうした情報は、GoogleDocsに集約すればだいたいOKなのですが、困るのは最後の項目に書いた「個別行ごとにコメントや資料を集約したい」というシーン。Spreadsheetの「平面」だけでなく、「奥行き」が必要なのです。とはいえ、全ページ分Backlogで個別課題を立てるのもそれはそれで鈍重。。

ロフトワークではこういった情報の管理に「サイボウズデヂエ」を利用しています。Webデータベースであるデヂエは非常に便利なのですが、歴史が長い分かなりレガシーな作りでUIが使いにくいのが難点。また、サイボウズ社はデヂエの開発を終了してKintoneに注力しており、今後のサポートは望み薄(Kintoneも検討したのですが、ちょっと業務に合わなかった感じ)。そこで、代替となるツールの最有力候補となりそうなのが、このAirtableです。

Airtableは現在英語のUIしかありませんが、比較的簡単な英語で作られています。以下の手順を参考に、ぜひ使ってみてください。

デヂエのビュー例

デヂエのビュー例

※筆者は某グローバルサイト構築PJで、イギリスの開発会社とデータを共有せねばならず、日本語UIしかないデヂエは使えないので別のアプリを探さねばならなかった… という経緯でこの記事を書きました。

まずはデータベース(Base)をつくる

Airtableでデータベースを作るには、まず元となる表をある程度のところまでExcelで作成しておき、CSV経由でインポートするのがおすすめ。

1_start1

Airtableにログインした状態から「Create New Base(新しいデータベースを作る)」をクリックすると、ウィザードが表示され、さまざまなプリセット・テンプレートを選択できます。が、ここではCSVからのインポートを選択。

1_start2

インポート元のCSVを選択するか、Excelから直接コピペ(!)でデータを送り込みます(直接コピペめっちゃ便利です。どのくらいの量いけるか試していませんがほとんどこれでいけそう)。”First record is header”にチェックを入れると1行目がフィールド項目名になります。

1_start3

【注意点】Airtableは、文字コード「Shift-JIS」に対応していません。Excelから普通にCSVで保存した場合、インポート時に文字化けしてしまいます。一度テキストエディタ等で UTF-8 に変換して保存するか(Macの場合この作業はCotEditorがおすすめ)、LibreOfficeなどのUTF-8形式でCSV保存できるアプリを使いましょう。

ベースが作成されました。CSVインポート時点ではすべての列が「Single line text(1行テキスト)」になっています。ここからフィールド定義を設定し、データベースの形式を整えていきます。

1_start4

選択型のステータス欄を作る

カラムタイプ(フィールド値の形式)で選べるものは多数ありますが、よく使いそうなものは次の通り。

  • Long text:複数行テキスト
  • Attachment:添付ファイル
  • Checkbox:チェックON/OFF
  • Multiple options:複数選択リスト
  • Single select:単一選択リスト ※ラジオボタン形式はなくプルダウンのみ
  • URL
  • Number:数字

この中から「Single select」を使ってステータス欄を作成してみます。Single selectを選択すると、オプション(選択肢)を入力する欄が現れるため、ここに入力していきます。項目ごとに色をつけることも可能(現時点では色数はあまり多くない。「条件付き書式」はなく、ここで指定した選択肢ごとの色分けのみ)。

2_status1

なお、CSVインポートした状態でSingle line textからフォーマットをSingle selectに変更した場合、入力済みの内容から自動的にオプション項目をリストしてくれます!便利!!

作成後は、一覧形式ビューから簡単にステータスを切り替えられます。Excelでセルに検証(Validation)を設定した時の状態です。

他にも、例えば「リライト対象のページだけチェック」など、抽出用フラグとして利用する項目は”Checkbox”を、複数軸のタクソノミーなどは “Multiple options” を使用すると便利です。

細かいデータの入力・閲覧や、コメントのやりとりは「詳細ビュー」を使いましょう。「+」マークを押して展開するか、スペースキーを打つとレコードが「展開」され、詳細ビューになります。Escapeキーで一覧ビューに戻ります。

2_detailview

2_detailview2

添付ファイル(Attachment)の項目は複数のファイル添付に対応しているだけでなく、GoogleDocs/Evernote/Dropboxほか多種多様なサービス連携に対応。しかも外部リンクURLも入力できます(Attachmentなのに)。便利!!

ルックアップで別シートのデータを引用

複数シートで構成されるデータベースで最も威力を発揮するのが「ルックアップ」機能です。
例えば、データ構造が異なる「カテゴリー(Category)」と「製品(Product)」の2シートを用意し、製品側で「親カテゴリー」を引用するというシーンを検討します。

Airtableでのルックアップは「2段階」の手順が必要です。
まず、 “Link to another record” というタイプの列を追加し、「どのシート(table)のレコードからルックアップするか」を選択します。ここではCATEGORYテーブルを選びます。

3_lookup0

次にレコード上の「+」ボタンをクリックすると、CATEGORYテーブルのレコード一覧表が表示されるので、紐づけるレコードを選択します。キーワード検索でフィルタすることができます。

3_lookup1

これで「レコードとレコードの紐付け」ができました。
次に、出力する列を指定します。ここではCATEGORYテーブル内の「カテゴリー名」の値を表示させましょう。

3_lookup2

新たに “Lookup” というタイプの列を追加します。このタイプの設定では、先ほど作成した Link to の列と、引用したい列名を選択します。すると、Link toの列で紐づけたレコードから、カテゴリー名の値を引っ張ってきて表示してくれるというわけです。

3_lookup3

なお面白いことに、Link toを設定した場合、「引用される側」のレコードにも自動的に列が追加され、「自分に紐付いているレコードの一覧」が表示されます。この場合は「親カテゴリー」の方にも、子となる製品の一覧が自動的に紐づくというわけです。便利!

3_lookup4

Excelを経由したデータの一括編集

データベース上で作業をしていく上では、一つ一つ選択していくのではなく、一気に更新をかけたい時が多々あります。デヂエの場合は「レコード番号をキーにして、CSVから一括更新をかける」という機能がありました(ECCUBEの商品マスタとかも同じ形)。Airtableには残念ながらこの機能はありませんが、もっと直感的な更新が可能です。

例えば、列を追加して「英語名」を一気に追加したい場合。Webインターフェースからぽちぽちやっていくと手間がかかります。

4_excelpaste1

こんなときはExcelでぱぱっと作業。Airtable上のデータと行数を合わせてデータを入力し、コピー。

4_excelpaste2

Airtable側に単純に「ペースト」すると、データが反映されました。便利!!
なおこの作業はテキストエディタ等を経由してもできます。Checkbox型の項目の場合、チェックを入れたい行に「1」を入力すればOK。

4_excelpaste3

さらに、前述した「ルックアップ」でも、同様の手順で一括更新が可能です。ルックアップは、テーブルの左端の行(錠前マークが付いている)をレコードのユニークIDとして使用しているため、この値を使えば一気にルックアップ設定ができてしまいます。便利!!!

4_excelpaste4

ここまでが主に「入力」系の手順の説明でした。

フィルタと「ビュー」の設定

データベース上で作業をする上でもう一つ欠かせないのが「絞り込み」の設定とカラムの表示・非表示制御です。AirtableのフィルタUIは非常に直感的でレスポンスもよく、表示したい条件をさくさく指定していくことができます。

5_filter

このキャプチャでは、”Rewrite”というチェックボックス項目がチェックありのものを抽出しています。主な使い方としては前述した「ステータス」などの選択肢項目やチェックボックスのフラグを活用して、次のようなフィルタを作ると有用です。

  • 「処理が必要なレコード」を抽出する(例:ステータスが「質問有」や「クライアント確認待ち」のリスト)
  • レコードをワークグループ単位で分類する(例:パターン「作業群1」「作業群2」などを振っておき、それぞれのリストをつくる)

これに加えて、カラムの表示・非表示(作業に必要な列だけを表示し、フィルタ用のフラグやルックアップのレコード番号など裏データは表示しない)をセットにすると、表示画面設定が完了します。

これを「ビュー」という形で保存することが可能です。「+Grid View」をクリックして新たなビューを作成し、フィルタ・表示列の設定を行います。なお、使用中にフィルタの設定を変更すると、ビューの設定が上書きされてしまうので、出力条件を変えたい場合は、ビューを複製してから作業することをおすすめします。

5_view

ところで、Airtableは「リアルタイム保存」のため、保存するという作業が必要ありません。逆に言うとすべての編集は即保存されてしまいます。おなじみの「Undo」(Ctrl+Z/Cmd+Z)およびRedoがサポーとされているため基本的には安心ですが、大きめの編集を行う前には「スナップショット」を作成しておきましょう。CMSでは「リビジョン」と呼んだりする機能で、編集が失敗してもいつでもこの時点に切り戻すことができます。

5_snapshot

共有とデータの活用

データが整ったら、メンバーと共有し、活用していきましょう!
データ共有は、Base単位で設定する方法と、Team単位で設定する方法の2つがあります(GoogleDocsのファイル単位・フォルダ単位と似たような感じ)。ユーザー権限は Read Only / Edit Only / Creator(管理権限) の3種類があります。

6_permission

データの更新通知にはSlackを活用しましょう。メール通知機能はないようですがSlackのIntegrationの方がはるかに使いやすいです。現時点では「特定の項目(たとえばステータスの列)が更新された時だけ」といった限定はできず全ての更新が通知されます。

6_slack

料金設定など

気になるお値段ですが…

7_price

1ベースあたり1200行まで無料!太っ腹!
というか上述したようなWeb制作のデータ管理の場合、1200ページ越えってめちゃくちゃ大規模なサイトなので、通常利用ではほぼ無料でいけちゃいます(Webサービスのバックボーンで利用したりするのを課金対象にする想定と思われる)。

他にも本稿では紹介しませんが、基本的にはAPI経由の出し入れに全て対応しています。API Documentationも充実。

6_apidoc

なお、本稿執筆時点(2015/11/12)では、下記のような日本語入力に関する既知のバグがあります。

  • Gridビューで日本語を入力しようとすると、一文字目が半角英数で確定してしまう(一時的に入力モードが変わる)
  • コメント入力時に変換でEnterを押すとコメントが確定してしまう

上記は12月のリリースで改善されるとサポートから返信をもらいました!

まだまだ日本では利用例が少ないと思いますが、こういった「オンラインデータベース」の優れたサービスは数少なく、使いこなしていくとさまざまな作業が捗りそうです。他の活用例の共有などもお待ちしています!

参考記事

コメントを残す