Creating profiles not used for login

From OpenSimulator

Jump to: navigation, search


Status

Not done. Creator information is preserved without recreating profiles.

Text

Authors: User:justincc

In Inventory Archives I plan to preserve item creator information. When the archive is loaded I would like to recreate these profiles where possible (grid operators can choose not to allow this and that will be the default, I expect).

Unless an item creator has an account on the OpenSimulator to which the archive is loaded, they shouldn't be able to login to that instance.

So far I've thought of 3 ways to achieve this


(1) Create a normal user account but set the password to something random.

PROS

  • Doesn't require any changes to what we have today

CONS

  • Creates user accounts which are never intended to be used for login
  • No way to distinguish archive created accounts from legitimate accounts

=

(2) Add a 'ProfileOnly' flag to the Users table

PROS

  • Minimal changes to what we have today
  • Makes it clear that an entries has been created for its profile only, which can be used as a flag to disallow logins

CONS

  • Creates user accounts where many details will be irrelevant unless item creators then get accounts on the instance.
  • Complicates administration tasks (e.g. create user).
=====

(3) Separate the current 'users' table into 'userprofiles' and 'users' tables.

'userprofiles' will largely contain all the metadata about a user that you can see in the profile on the Linden Labs Second Life client today (name, about, interests, 1st life, etc.).

'users' will contain the data associated with a particular account (passwordHash, passwordSalt, homeRegion, homeLocationX, etc.)

PROS

  • Makes it possible to create user profiles without creating user accounts.
  • Makes it possible to have somewhat separate profile and authentication plugins allow mix & match. However, the reuse of avatar name as the login identifier makes things a bit awkward.
  • Simplifies database understandability - the only people in the 'users' table are those with actual accounts, though on the other hand this does create 2 tables instead of 1.

CONS

  • Short term adjustment pain for systems accessing OpenSim's databases directly
  • Complicates administration tasks (e.g. create user).

=

I suspect that archiving isn't the only potential use for this functionality. For instance, the Hypergrid may also find it useful to preserve user information when a user rezzes an object on a foreign system.

Of the above approaches, I prefer (3) over (2) since it seems to me to be the better long term approach even if there is some short term pain. I'm not seriously considering (1).

Comments?

Personal tools
General
About This Wiki