ソラマメブログ

2009年08月15日

Web連携するときのオブジェクトの識別子

LSLCon2009用に、小物を作ろうと思ってて、Web上にオブジェクトを識別するためのIDを登録したかったんだけど、何を登録すればよいか迷ってしまいました。

今回作成するものは、フリーで配布するのですが、それが設置された場合にllHttpRequestでサーバに通信して、データベースに自分の情報を登録する仕様です。その際、他のオブジェクトと被らないように主キーとなるものが必要なのですが・・・。

オブジェクトはコピー不可で配布するという前提で、ぱっと思い浮かんだ主キー候補は、以下の3つ。
  • UUID
  • 位置情報
  • オーナーのUUID

しかし、UUIDはRezするごとに変更されます。今回配布するものは、サーバに1度登録した場合、ずっとそのデータを引き継ぎたいのでこれではダメです。位置情報も位置を変更されると同様にデータを引き継げないのでダメです。オーナーのUUIDを主キーにすると、1人のオーナーが複数設置できなくなるのでこれも避けたい。

で結局、全部ダメ orz

今のところ、オブジェクトの説明欄に、他のオブジェクトと被らない文字列を入れてもらって、それを主キーにしようかと考えていますが、なんかこういう場合に、うまく使えるIDとかないんでしょうかね( ̄~ ̄)


タグ :LSLTipsWebHTTP

同じカテゴリー(LSL)の記事画像
オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい
Babbage Linden さんが来ました
LSLCon2008 開幕
LSL-Editorでユーザ定義変数も補完する
ホーミング弾の作り方
パーティクル小ネタ
同じカテゴリー(LSL)の記事
 LSLのC#実装は凍結らしいです (2010-07-02 03:23)
 LSLに導入されるC#ってバージョン1.0の予定なの? (2010-06-27 14:26)
 Eclipse+VrapperでのLSL開発 (2010-02-20 22:55)
 インワールドからWebサーバへポーリング (2009-04-28 23:50)
 オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい (2008-12-17 01:55)
 Babbage Linden さんが来ました (2008-10-25 01:17)

Posted by sabro at 17:55│Comments(3)LSL
この記事へのコメント
初めまして、桜花と申します。
スクリプト組むとき参考にさせていただいています。
ありがとうございます。

> 他のオブジェクトと被らない文字列を入れてもらって
主キー、オーナーUUIDプラス↑の文字列(パスワード?)とかでは
だめなんでしょうか?

主キー = オーナーUUID + 任意の文字列

素人考えなのですみません(^^ゞ
Posted by 桜花 at 2009年08月16日 07:20
最初にREZしたときにUUIDをDescとかに書き込んどくとか。
on_rezでDescがカラかどうかチェックしてカラの場合だけllGetKeyみたいな。
Posted by MasterPoppy AmatMasterPoppy Amat at 2009年08月16日 10:54
桜花さん、ぽぴさん
コメントありがとうございます^^

どちらも、ただ文字列を入れるだけよりいいアイデアですね。
ぽぴさんのやり方が一番スマートでしょうか。

ただ、桜花さんのやり方のように任意の文字列を入れる方式は
設置物の内容をWebページに表示したい場合など、ページタイトル等で
文字列を使ったりできるので利点もあったりします。
(例えば、うちのカフェに設置して、文字列を「Creamon Cafe」にしとくとか)

他のアイデアとして
初回Rez直後のHttp通信で、サーバ側でIDを生成。
それを設置物がレスポンスで受け取って、
説明欄に保存するというやり方を
インワールドで、親切な方に教えてもらいました。
これもいいアイデアだと思います。

LSLCon2009までには、まだ時間があるので
どのやり方にするかは、じっくり考えてみようかと思います^^
Posted by sabrosabro at 2009年08月16日 17:14
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。