proposal: HUOS

Chuck Hagenbuch chuck@horde.org
Tue, 24 Oct 2000 19:47:31 -0400 (EDT)


I'd like to propose HUOS: the Horde User Object Store (name and acronym
negotiable) as a solution to a couple of things that have come up recently.

This would be a general object storage mechanism for Horde, for persistent
storage of things like identities, credentials, possibly Sources from Turba,
etc. It would include an api for defining storage mechanisms and some support
functions.

What would be stored:
- a serialized representation of the object
- a unique id for that object
- the owner of the object (a Horde username)
- the time that object was last modified
- the type of the object

The id could be used as an object in the Horde prefs system, to grant additional
priviledges to other Horde users.

The api would include functions to:
- retrieve a specific object (optionally taking a username to make sure it
matches the owner)

- check if an object has been modified

- get all objects of a certain type belonging to a user (ie, all identities)

- get all objects belonging to a user

All method calls that end up instantiating and returning an object would first
use the type information to make sure that the necessary class is loaded, and if
not, to dynamically load it if it can be found on the filesystem (a classloader
api is a possibility, also, to allow storing classes in a db - not that I'm
convinced it's a great idea, but the flexibility might be nice...)

Thoughts? We could also have standards for the classes that got put into this,
so that we could have a generic "edit your objects" interface which would
inspect each object and find out how to edit it, display it, etc...

One specific application would be to store an object id in the "server"
preferences field for Horde users, instead of an index into the $servers[]
array, to look up the servers for that user in the object store.

Does this seem well thought out to people? Does it solve a problem that needs
solving?

-chuck

--
Charles Hagenbuch, <chuck@horde.org>
Many states consider gambling so immoral that they not only prohibit private
gambling organizations, they thoughtfully provide their own.