2009年08月15日
Web連携するときのオブジェクトの識別子
LSLCon2009用に、小物を作ろうと思ってて、Web上にオブジェクトを識別するためのIDを登録したかったんだけど、何を登録すればよいか迷ってしまいました。
今回作成するものは、フリーで配布するのですが、それが設置された場合にllHttpRequestでサーバに通信して、データベースに自分の情報を登録する仕様です。その際、他のオブジェクトと被らないように主キーとなるものが必要なのですが・・・。
オブジェクトはコピー不可で配布するという前提で、ぱっと思い浮かんだ主キー候補は、以下の3つ。
しかし、UUIDはRezするごとに変更されます。今回配布するものは、サーバに1度登録した場合、ずっとそのデータを引き継ぎたいのでこれではダメです。位置情報も位置を変更されると同様にデータを引き継げないのでダメです。オーナーのUUIDを主キーにすると、1人のオーナーが複数設置できなくなるのでこれも避けたい。
で結局、全部ダメ orz
今のところ、オブジェクトの説明欄に、他のオブジェクトと被らない文字列を入れてもらって、それを主キーにしようかと考えていますが、なんかこういう場合に、うまく使えるIDとかないんでしょうかね( ̄~ ̄)
今回作成するものは、フリーで配布するのですが、それが設置された場合にllHttpRequestでサーバに通信して、データベースに自分の情報を登録する仕様です。その際、他のオブジェクトと被らないように主キーとなるものが必要なのですが・・・。
オブジェクトはコピー不可で配布するという前提で、ぱっと思い浮かんだ主キー候補は、以下の3つ。
- UUID
- 位置情報
- オーナーのUUID
しかし、UUIDはRezするごとに変更されます。今回配布するものは、サーバに1度登録した場合、ずっとそのデータを引き継ぎたいのでこれではダメです。位置情報も位置を変更されると同様にデータを引き継げないのでダメです。オーナーのUUIDを主キーにすると、1人のオーナーが複数設置できなくなるのでこれも避けたい。
で結局、全部ダメ orz
今のところ、オブジェクトの説明欄に、他のオブジェクトと被らない文字列を入れてもらって、それを主キーにしようかと考えていますが、なんかこういう場合に、うまく使えるIDとかないんでしょうかね( ̄~ ̄)
LSLのC#実装は凍結らしいです
LSLに導入されるC#ってバージョン1.0の予定なの?
Eclipse+VrapperでのLSL開発
インワールドからWebサーバへポーリング
オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい
Babbage Linden さんが来ました
LSLに導入されるC#ってバージョン1.0の予定なの?
Eclipse+VrapperでのLSL開発
インワールドからWebサーバへポーリング
オブジェクトのコンテンツに自分自身を入れて再帰Rezしたい
Babbage Linden さんが来ました
Posted by sabro at 17:55│Comments(3)
│LSL
この記事へのコメント
初めまして、桜花と申します。
スクリプト組むとき参考にさせていただいています。
ありがとうございます。
> 他のオブジェクトと被らない文字列を入れてもらって
主キー、オーナーUUIDプラス↑の文字列(パスワード?)とかでは
だめなんでしょうか?
主キー = オーナーUUID + 任意の文字列
素人考えなのですみません(^^ゞ
スクリプト組むとき参考にさせていただいています。
ありがとうございます。
> 他のオブジェクトと被らない文字列を入れてもらって
主キー、オーナーUUIDプラス↑の文字列(パスワード?)とかでは
だめなんでしょうか?
主キー = オーナーUUID + 任意の文字列
素人考えなのですみません(^^ゞ
Posted by 桜花 at 2009年08月16日 07:20
最初にREZしたときにUUIDをDescとかに書き込んどくとか。
on_rezでDescがカラかどうかチェックしてカラの場合だけllGetKeyみたいな。
on_rezでDescがカラかどうかチェックしてカラの場合だけllGetKeyみたいな。
Posted by MasterPoppy Amat
at 2009年08月16日 10:54

桜花さん、ぽぴさん
コメントありがとうございます^^
どちらも、ただ文字列を入れるだけよりいいアイデアですね。
ぽぴさんのやり方が一番スマートでしょうか。
ただ、桜花さんのやり方のように任意の文字列を入れる方式は
設置物の内容をWebページに表示したい場合など、ページタイトル等で
文字列を使ったりできるので利点もあったりします。
(例えば、うちのカフェに設置して、文字列を「Creamon Cafe」にしとくとか)
他のアイデアとして
初回Rez直後のHttp通信で、サーバ側でIDを生成。
それを設置物がレスポンスで受け取って、
説明欄に保存するというやり方を
インワールドで、親切な方に教えてもらいました。
これもいいアイデアだと思います。
LSLCon2009までには、まだ時間があるので
どのやり方にするかは、じっくり考えてみようかと思います^^
コメントありがとうございます^^
どちらも、ただ文字列を入れるだけよりいいアイデアですね。
ぽぴさんのやり方が一番スマートでしょうか。
ただ、桜花さんのやり方のように任意の文字列を入れる方式は
設置物の内容をWebページに表示したい場合など、ページタイトル等で
文字列を使ったりできるので利点もあったりします。
(例えば、うちのカフェに設置して、文字列を「Creamon Cafe」にしとくとか)
他のアイデアとして
初回Rez直後のHttp通信で、サーバ側でIDを生成。
それを設置物がレスポンスで受け取って、
説明欄に保存するというやり方を
インワールドで、親切な方に教えてもらいました。
これもいいアイデアだと思います。
LSLCon2009までには、まだ時間があるので
どのやり方にするかは、じっくり考えてみようかと思います^^
Posted by sabro
at 2009年08月16日 17:14
