[Opensim-dev] Proposal to eliminate the name, description and invType fields from the assets db table

liu xiaolu lulurun at gmail.com
Tue Jun 24 00:35:07 UTC 2008


it seems that the topic is changed to "UUID", I almost missed your reply,
thank you very much for your consideration,

lulurun,
regards

JustinCC

2008/6/24 Justin Clark-Casey <jjustincc at googlemail.com>:

> liu xiaolu wrote:
> > I agree with removing the invtype, completly duplicate, I wanted to
> > remove it for a long time. :)
> >
> > but about asset's name and description, I have the same concern with
> > your "1st disadvantage".
> > and also I do not think they are duplicate with inventoryitem's columns
> > even they are not used currently.
> > To stretch a point, if you want only one name, the one should be deleted
> > is the name of inventoryitem.
> >
> > I would like to share my reasons:
> > 1. Semantically,
> > Asset should keep its own information by itself but not refer to an
> > external service.
> > * Asset name is just the name of itself, it is named by the creator, it
> > is used to describe what the asset is.
> > * Inventoryitem's name is a "nickname" named by inventory owner, its
> > purpose is for quick understanding
> >
> > For example:
> > A picture's name could be "opensim_screen_shot_20020101", description:
> > "screen shot of the
> > 1st release version of opensim, client: SLViewer, taken by test user",
> > but in lulurun's inventory it could be called
> > "lulurun's favourite photo"
>
> I think that you make some valid points, Lulurun.  Having thought about
> it a bit more, I agree that there is value in retaining the originally
> uploaded name for some assets, in particular those which always have
> meaningful original names on creation (such as textures).  Although it
> doesn't make any difference from the client point of view, I can see
> uses on the server end (e.g. giving assets more meaningful names if they
> are exported).
>
> Description, I think, is more contentious.  To my mind, this is
> information which should rest in the asset file itself (e.g. embedded
> within the jpeg2000 format of the texture itself.  After all, this is
> the way it is handled within a common or garden filesystem).
>
> However, what I'm very probably going to do is simply look to remove
> InvType for now.  I think that this is relatively uncontentious.
>
> >
> > 2. To think the way we are using assets,
> > Asset service could become a large, indenpendent storage service, it
> > contains objects in virtual worlds *but*
> > may not be *only* used by UGI R servers, it may have a different (web)
> > interface to let users/grid_admins manage it.
> > and in the future peple maybe trade/exchange/gift assets out of the
> > world (by using other ways (website, mobilephone, email...) )
> > in that case asset name, description will be used directly(not from
> > inventory).
> > //
> >
> > As you mentioned in your major point of the advantages(the 1st one),
> > even with name, description, ... we can still put asset in a file like:
> > | body size | asset data | semantic information size | name,
> > description, ... |
> > this is just a example.
> >
> > and, I am agree with developping a filesystem based asset server, it
> > makes the program simple and easy to implement inside other httpserver.
> > most of all, the number of asset will become very large, and asset is
> > not related to any other data, to use a RDB is a kind of waste and
> > inefficient.
> > but this is not going to replace current assetserver , for small grid or
> > personal use, current assetserver can give a good enough solution.
> >
> > So my personal opinion is remove invtype, retain name, description
> >
> > lulurun,
> > regards
> >
> >
> >
> > 2008/6/22 Justin Clark-Casey <jjustincc at googlemail.com
> > <mailto:jjustincc at googlemail.com>>:
> >
> >     This is mainly a question for core developers, though other
> viewpoints
> >     are welcomed.
> >
> >     In the OpenSim assets database table currently there are eight fields
> >
> >     +-------------+-------------+------+-----+---------+-------+
> >     | Field       | Type        | Null | Key | Default | Extra |
> >     +-------------+-------------+------+-----+---------+-------+
> >     | name        | varchar(64) | NO   |     |         |       |
> >     | description | varchar(64) | NO   |     |         |       |
> >     | assetType   | tinyint(4)  | NO   |     |         |       |
> >     | invType     | tinyint(4)  | NO   |     |         |       |
> >     | local       | tinyint(1)  | NO   |     |         |       |
> >     | temporary   | tinyint(1)  | NO   |     |         |       |
> >     | data        | longblob    | NO   |     |         |       |
> >     | id          | varchar(36) | NO   | PRI |         |       |
> >     +-------------+-------------+------+-----+---------+-------+
> >
> >     Of these, name, description and invType are not really used by
> OpenSim
> >     (there are a couple of places in the code that use invType, but these
> >     could easily use other data sources).  Name and description are a
> little
> >     pointless for assets - the real names and descriptions are actually
> >     always kept in the inventory items which reference these assets.
> >     InvType is also information which is always duplicated in items.
> >
> >     Eliminating these fields would have the following advantages
> >
> >     1.  Make it easier to save and load and integrate assets with
> locations
> >     outside OpenSim.  If you don't need to maintain name, description or
> >     invType, it should be possible to save assets with the uuid embedded
> in
> >     the filename and an extension which shows the asset type (e.g. .jp2
> for
> >     JPEG2000 textures).  The assets wouldn't require persistence of the
> >     local and temporary attributes.
> >
> >     Two immediate use cases are that elimination of these asset fields
> would
> >      make the creation and manipulation of archives and inventory
> libraries
> >     much simpler.  There may also be integration benefits.  For instance,
> >     asset data files could be served directly by a stock webserver
> without
> >     having to wrap them in XML to provide the extra metadata).  Moreover,
> if
> >     we adopt generation of UUIDs using a hashing algorithm (e.g. SHA1) at
> >     some stage, we wouldn't even need to embed the UUID in the name.
> >
> >     2.  Eliminate the code which maintains these fields, simplifying the
> >     codebase and making it easier to read.  This is a minor point, since
> the
> >     amount of code isn't large.
> >
> >     3.  Reduce data storage requirements.  This is also a minor point,
> since
> >     these fields will always be dwarfed by the blobs (although this might
> >     come into play much further down the line if blobs are moved out of
> >     the db).
> >
> >     The one disadvantage I can think of is
> >
> >     1.  It becomes a little hard to get a sense of what's in your asset
> >     database by just browsing the assets table.  For instance, you get a
> >     rough sense of how many objects are in prim or avatar inventories by
> >     counting the number of times that 'Primitive' appears as a name...
> >     However, statistical information could still be derived (if desired)
> by
> >     analysing the type field.
> >
> >     In summary, I would like to see if the name, description and invType
> >     asset table fields can be removed at some point in the near future.
> >     Does anybody have a good or necessary reason to retain them?
> >
> >     --
> >     justincc
> >     Justin Clark-Casey
> >     http://justincc.wordpress.com
> >     _______________________________________________
> >     Opensim-dev mailing list
> >     Opensim-dev at lists.berlios.de <mailto:Opensim-dev at lists.berlios.de>
> >     https://lists.berlios.de/mailman/listinfo/opensim-dev
> >
> >
> >
> >
> > --
> > Lulurun
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
> --
> justincc
> Justin Clark-Casey
> http://justincc.wordpress.com
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>



-- 
Lulurun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080624/b1f87be7/attachment-0001.html>


More information about the Opensim-dev mailing list