WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

ブラウザで簡単データベース!「lazybase」

蔵書・ CD などの管理、家計簿、リンク集などなど・・・。データベースがあれば簡単に管理できる事柄は皆さんの身近にもたくさんあると思います。でも、それだけのためにフロントエンドのインターフェースを作るのは大変です。 Excel などの表計算ソフトを使うという手もありますが、どこからでもブラウザで参照できるという利便性を考えると、やはり Web ベースのフロントエンドに軍配が上がります。

それほど複雑な機能はなくてもいいから、ブラウザ上で簡単にデータベースの作成・編集ができたらとても便利ですよね。本日ご紹介する lazybase は、そんなニーズに応えるお手軽データベースサービスです。おおよそ以下のような特徴を持っています。

  • 無料・ユーザー登録不要
  • 多人数でデータベースを共有できる
  • 登録するデータ(テーブルのカラム構成)は自由にカスタマイズ可能
  • 登録したデータの検索機能
  • 閲覧ユーザーからのコメント機能
  • CSV 形式のインポート/エクスポート
  • ブックマークレットや Web フォームによるデータの登録
  • 任意の Web ページへの埋め込み

お手軽さを重視しつつも、データベースの利用範囲を広げるさまざまな機能が実装されている点が興味深いです。本日はできるだけ詳しくこの lazybase をご紹介するつもりですので、ぜひご覧ください!

lazybase

lazybase とは

前述のとおり、 lazybase は Web ブラウザで操作できる簡易データベースです。特徴はなんといってもそのお手軽さで、 SQL などの知識はもちろん不要、ユーザー登録の必要さえもありません。トップページでデータベースの名前と自分のメールアドレスを入力するだけでデータベースが作成できます。サンプルとしてひとつデータベースを作ってみたので、ご参照ください。

http://lazybase.com/dbhome?a=553522435

lazybase でデータを管理するには、おおよそ以下の手順を踏みます。

  1. データベースを作成する
  2. 必要な Item Type (一般的なデータベースで言うテーブル)を作成する
  3. データを入力する

いずれも手軽さが重視されていて最低限の手間で行えるように工夫されています。ただ、現在のところインターフェースはすべて英語で、しかもナビゲーションが若干わかりづらいところがあるので、以下で順を追ってご紹介していきます。

まずはデータベースを作成

まずは自分用のデータベースを作成しましょう。手順はとても簡単。前述のとおり、トップページで 以下の情報を入力するだけです。

Database Name
作成するデータベースの名前を指定します。任意の名前を指定できますが、日本語は使えないようです。英数字+空白あたりで構成するのが無難でしょう。
Your email
メールアドレスを指定します。このアドレス宛に作成したデータベースの URL が送られてきます。
Quick start
デフォルトで追加する Item Type を指定します。通常は「Empty database」(なにも追加しない)でよいでしょう。

フォームに記入して「Create」ボタンをクリックすると以下のような画面になります。

lazybase データベース作成完了画面

記載されている URL のうち、最初のものが編集用、 2 番目が閲覧用です。これらの URL を忘れるとデータベースへのアクセスが一切できなくなってしまうので注意してください。ほぼ同じ内容が入力したアドレスにメールされますので、そのメールを大切に保管しておきましょう。以下は、データベース作成直後の編集用ページのスクリーンショットです。

lazybase 空のデータベース管理画面

基本的に、データベースのデータの入力・編集作業はすべてこのページから行います。

愛読書リストを作ってみよう

データベースが作成できたので、さっそくなにか入力してみましょう。ここでは例として、さきほどのサンプルデータベースの「Favorite Books」の作り方をご紹介します。もちろん lazybase に保存できるデータの種類に制限はありませんから、おいしいお店リストでもお気に入り CD 集でも、お好きなデータで試してみてください。

Item Type を作成する

まずは、愛読書リスト用の Item Type を作成します。 Item Type とは、その種類のデータにどのような項目(名前、 URL、値段などなど...)が含まれるかを定義するもので、ひとつのデータベース内にいくつでも作成できます。ここでは愛読書リストなので、「Favorite Books」という名前の Item Type を作成しましょう。

新しい Item Type を追加するには、前述の編集ページで "Create a new type of item" のリンクをクリックします。ページが切り替わり、 Item Type 作成画面が表示されます。

lazybase Item Type 作成画面

「Name this item type」のテキストボックスが作成する Item Type の指定、その下にある 2 列のテキストボックスが Item Type に含めるデータ項目です。左の「Field name」が項目名、「Type of data」がその項目のデータ型となります。データ型には基本的に以下のものが使えます。

型名入力可能なデータ特記事項
Text任意の文字列なし
Number数値負の値、小数点も可
Rating5段階の評価5 つの☆で表示される
Address住所Google Mapsにリンクが張られる
Date日付なし
URLURLリンクに変換される
Yes/NoYes/No の選択なし
Word List空白区切りの単語リストなし

デフォルトで「Name」というテキスト項目と「Keywords」というワードリスト項目が設定されていますね。この 2 つは常に必須なので、削除できません。必要に応じてその下の空のエントリーに項目を追加していくことができます。残念ながら Item Type 名、 Field 名ともに日本語は使えません。やはり英数字+空白あたりの構成が無難でしょう。以下は愛読書リストの項目を入力したところです。

lazybase 愛読書リストの項目を入力

この状態で「Add this item type」ボタンをクリックすれば、こちらのようなデータベースを作成できます(リンク先にはすでにいくつかのデータが入力されています)。

データを入力してみる

Item Type を作成したら、実際にアイテムを入力してみましょう。編集ページに今追加した Item Type が表示されているはずですので、その「Add a Favorite Books」(Item Type 名は単数形にしたほうがよかったな ^^;)のリンクをクリックしてください。以下のような入力画面が表示されます。

lazybase 愛読書のデータを入力中

Item Type の Field 名などとは異なり、こちらでは日本語も入力できます。また、 Date や Rank はそれぞれのデータ型に合った入力フォームになっているのがわかりますね。追加するアイテム数が少ない場合は、こんな感じでブラウザーから手軽に入力できるようになっています。各項目のデータを入力し、「Add this Favorite Books」ボタンをクリックすると、以下のようにアイテムが追加されます。

愛読書データの入力完了

一番下の「This Favorite Books has 0 comments」という部分に注目してください。各アイテムには個別にコメントを入力できます。コメントは閲覧用の URL からでも入力できるので、閲覧者とのコミュニケーションに利用できますね。

Excel からデータをインポート

もし多数のアイテムを一度に追加したいなら、 Excel などの表からインポートするのが手軽です。まず最初に、こちらのような Excel 表を作成しておきます。 1 行目は各列がデータベースのどの項目に対応するかを示すヘッダで、先ほど入力した Field 名と同じ名前を入力します。そして、 2 行目以降に実際のアイテムデータを入力します。

次に、データベースの編集ページに行き、先ほどと同じ「Add a Favorite Books」のリンクをクリックします。そして、文字が小さいのでわかりづらいですが、入力ページの上のほうにある「bulk add from Excel」のリンクをクリックします。すると、 Bulk add to Favorite Books というページに移動します。

lazybase Bulk add 画面

ここで、先ほど作成した表全体を(ヘッダ行も含めて) Excel 上でクリップボードにコピーし、 Bulk add to Favorite Books ページにあるテキストボックスにペーストします。テキストボックスの下に入力データがプレビュー表示されますので、それを確認した後「Add this data」をクリックすれば、表にあったすべてのアイテムが追加されます。

lazybase Bulk add 入力後

テキストボックスにペーストするデータは単純な Tab 区切りなので、他の表計算ソフトでもいけるかもしれません。もしクリップボード経由のコピー&ペーストがうまくいかない場合は、 CSV 形式で保存してテキストエディタで適当に加工すればいけると思います。

検索してみる

次は、検索機能を試してみましょう。検索機能は閲覧用の URL でも利用できるので、実際にサンプルデータベースで試していただけます。ページの「Favorite Books」の欄の下にある「Search Favorite Books List」をクリックしてください。「Find Favorite Books」のページに移動するはずです。

残念ながらあまり複雑な検索式が使えるわけではありませんが、 Price や Date、 Rank などは範囲指定ができます。また、 Keywords がタグのように使えるのも便利ですね。こちらのページは Favorite Books を「Game」キーワードで検索したところです。これなら大量の書籍の管理もバッチリですね(^^)

複数の Item Type を関連付けてみよう

サンプルデータベースには Favorite Books の他にも Game Publisher, Game Soft の 2 つの Item Type があります。これらは Favorite Books では使っていないデータ型を使っていることに加え、 2 つの Item Type の間に親子関係を設定しています。例えばカプコンの内容を見ると、 Game Soft として「極魔界村, モンスターハンター ポータブル」がリストアップされています(ファミ通の発売予定ページから適当に抜き出しただけなので、中途半端ですいません ^^;)。同様に、極魔界村には「Publisher」としてカプコンが指定されています。

lazybase では、 Item Type を作成すると、それを他の ItemType のデータ型として使用することができるのです。以下は Game Soft の Item Type 編集画面です。「Publisher」のデータ型として「Game Soft」が指定されているのがわかると思います。

lazybase 別ItemTypeとの関連付け

このように、子供となる Item Type の中に親の Item Type を含めておけば、自動的に親子関係が設定されます。子供側のデータを入力する際に、以下の画面のように親となるアイテムをドロップダウンリストから選択することができます。子供側で親を指定しておけば、自動的に親のアイテムの内容にその子供アイテムが追加されます。

lazybase 親のアイテムを指定

この機能は、データの分類にとても便利に使えます。例えば、 CD のリストとアーティストのリストを互いに関連付けることができます。親子関係は複数作れますので、アーティストに加えてレコード会社のリストも作り、その両方に CD のアイテムを関連付ける、なんてことも可能ですね。 lazybase を使うなら、ぜひ活用したい機能です。

いろいろな活用方法

lazybase には上で紹介した以外にもさまざまな機能があるようです。ただ、まとまったドキュメントがない上に機能がいろいろなページに分散していて、いまいち全体を把握することができません。以下、私が見つけた範囲で、それらの機能を簡単にご紹介します。

アクセスしやすい URL を取得する

閲覧用の URL を教えればデータベースの公開が簡単に行えるのは前述のとおりですが、 URL にはランダムな数字が多数含まれていて、お世辞にも覚えやすいとは言えません。電話で伝えるのは遠慮したいですよね(笑)。そこで、 lazybase では "http://lazybase.com/任意の文字列/" というわかりやすい URL が取得できるようになっています。こうすれば他人に URL を伝えるのも簡単ですし、 URL に含まれる文字列は検索時にヒットする確立が上がるという利点もあります。

設定方法はとても簡単です。まず編集用のページにアクセスし、左のメニューにある「Database settings」のリンクをクリックします。移動先のページで、「任意の文字列」にあたる文字列を入力すれば OK です。

bookmarklet でアイテムを追加

現在表示しているページから情報を抜き出してアイテムを追加する bookmarklet を自動生成できます。アイテムの追加ページを表示させ、ページの上のほうにある「create a bookmarklet」のリンクをクリックすると、以下のような作成ページに行けます。

lazybase Bookmarklet の作成

項目を入力できるのは Text, URL などの文字列系のデータ型だけですが、ページタイトルや選択文字列を自動的に取得して設定できます。追加時にダイアログを表示して内容を入力することもできます。フォームを適切に設定して「Create」ボタンをクリックすれば、 bookmarklet のリンクが表示されますので、それをブラウザの右クリックメニューなどでブックマークすれば OK です。

なお、この bookmarklet には編集用ページの ID が含まれているので注意してください。 bookmarklet を公開すると、そのデータベースに対する全権限を公開したのと同じことになってしまいます。基本的に個人、もしくは信頼できるグループ内で使うことを意図しているようです。

blog などに埋め込む

自分の blog やその他の Web ページに lazybase で作成したデータベースの内容を表示できます。以下がその例です。


表示内容は動的に生成されているので、 lazybase でデータを変更すればきちんと反映されます。ただし、 JavaScript を利用しているので、なんらかの理由で JavaScript が使えない環境では表示されません。利用方法は以下のとおりです。

  1. 閲覧用ページを表示し、埋め込みたい Item Type の「view all」リンクをクリックします。
  2. 移動先のページの最下部にある、「on your own page」リンクをクリックします。
  3. 表示項目などを設定するフォームが表示されるので、適切に設定します。
  4. フォームの下に表示されている HTML コードを blog や Web ページにコピー&ペーストします。貼り付け先の文字コードが UTF-8 ではない場合は SCRIPT タグに charset="UTF-8" の属性を追加する必要があります。

これだけで、データベースのアイテムを Web ページに埋め込むことができます。

さらに、アイテム追加用のフォームも自動生成できます。この機能を利用するためのリンクは、アイテム追加ページの上のほうにある「create a form」で、使い方は上記の表示内容の埋め込みとだいたい同じです。軽く確認したところ、この追加フォームには編集用ページの ID は含まれていないので、公開ページに埋め込んでも大丈夫なようです。

これらの機能を利用すれば、自分の Web ページに簡単にユーザー参加型の要素を取り入れることができますね。口コミのレストランデータベースとか、そのあたりでしょうか。

他のデータベースや表計算ソフトにエクスポート

lazybase で作成したデータベースは CSV 形式でエクスポートできますので、他のデータベースや Excel などの表計算ソフトにデータを移すこともできます。 CSV 形式でのエクスポートは以下の手順で行えます。

  1. 閲覧用ページを表示し、埋め込みたい Item Type の「view all」リンクをクリックします。
  2. 移動先のページの最下部にある、「CSV File」リンクをクリックします。
  3. データベースの内容を格納した CSV ファイルがダウンロードできます。

また、隣の「RSS Feed」からは更新内容を通知する RSS を取得できます。

lazybase のセキュリティー

以上のように、手軽に便利な機能を利用できる lazybase ですが、その手軽さゆえにセキュリティーには若干注意が必要です。 lazybase では URL にランダムな数字を含めることによりパスワードの代わりとしています。しかし、 URL はさまざまな場面で露出しやすいものですので、機密性の高いデータを lazybase に保存するのはお勧めできません。

最も問題となるのは、アイテムに URL を含めた場合でしょう。編集ページからそのリンクをクリックすると、 document.referrer などで簡単に編集ページの ID がばれてしまいます。その飛び先ページが referrer を晒す仕様になっていると最悪ですね(^^;。このあたりは自動でリダイレクトページを通してほしいところですが、現在は直リンクになってしまっているようです。とりあえず、とくに編集ページからは不用意にリンクをクリックしないように注意してください。

本日は手軽さを極限まで追求したユニークなデータベースサービス、 lazybase をご紹介しました。ほとんど手間なくデータベースを作成できる上に、それらを活用する手段も多彩に用意されているなど、とてもよく練りこまれたサービスだと思います。ユーザー登録さえ必要ないサービスの提供方法、マッシュアップを意識した機能は今後の Web サービスのひとつの形かもしれません。いろいろな意味で参考になりますね。皆さんもぜひお試しください!(^^)

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles