[sldev] Automatically backing up scripts locally.
Argent Stonecutter
secret.argent at gmail.com
Fri Dec 21 09:50:32 PST 2007
On 2007-12-21, at 10:02, Dzonatas wrote:
> I am also concerned about the permissive properties that affect the
> relationships.
I'm talking about backing up things I'm creating as I'm creating
them. I'm not talking about backing up things that I do not have
permissions for: if I upload an image, or edit a script, or create a
prim, I have full permissions to do so. If I don't have permissions,
I won't be able to back it up. Whether the backup format is COLLADA
or LLXML is irrelevant: COLLADA does not enforce permissions, it
merely documents them.
Also, you keep going on about my ideal scheme.
I don't have an "ideal scheme". When I wrote my ideal scheme would be
"something like" the example I gave, that's all it was, an example of
what I would like to do if I was doing it.
I have a set of requirements. The first two are
1. Each asset is stored in a separate file or directory.
* This allows assets to be accessed directly by any application
* Saving one asset can not corrupt another
* Saving one asset is efficient
2. Open-format components of assets are stored in open formats,
preferably those supported by SL.
* This allows assets to be edited by any application
* This means that uploads are automatic, and can be done directly
from the SL application.
3. The directory structure describes the in-world relationships
between assets.
* This makes it easy to locate assets.
* This maintains the relationship between the backup and the in-
world assets.
4. Asset contents are not duplicated in the directory hierarchy.
5. References to assets are unambiguous.
* These last two are desirable for efficiency and consistency.
The example scheme satisfies these requirements:
* Atomic assets are stored as text files, PNG or TGA images, FLAC or
WAV audio files, BVH animations, and so on.
* Combined assets are stored as directories, containing XML
parameters and properties and symlinks to referenced assets.
* Assets rezzed in-world are stored under the region.
* Assets in inventory are stored under the directory tree of the
inventory.
This is an example scheme. There are other possible schemes. There is
nothing in this scheme that requires you to use COLLADA formats, nor
does it prevent you from using COLLADA formats, or using both. The
use of standard file formats is explicitly supported by COLLADA:
consider the example image file in the spec:
<library_images>
<image name="WoodFloor">
<init_from>Textures/WoodFloor-01.png</init_from>
</image>
</library_images>
So consider a simple one-prim object:
ObjectName
Properties.xml
ImageName.png
Scriptname.txt
Properties.xml could look like this:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<creator UUID="MY_UUID">Argent Stonecutter</creator>
<parameters>
<prim_type type="cube" .../>
<prim_texture face="0" texture="ImageName.png" .../>
...
</parameters>
Or it could look like this:
<COLLADA>
<asset>
<creator>Argent Stonecutter</creator>
<extra>
<technique profile="ll-xml" ...>
<creator UUID="MY_UUID">Argent Stonecutter</creator>
</technique>
</extra>
</asset>
<extra>
<technique profile="ll-xml" ...>
<parameters>
<prim_type type="cube" .../>
<prim_texture face="0" texture="ImageName.png" .../>
...
</parameters>
</technique>
</extra>
<library_images>
<image name="ImageName" id=UUID>
<init_from>ImageName.png</init_from>
</image>
</library_images>
<library_nodes>
<node name="ObjectName" id="UUID">
...COLLADA description...
</node>
</library_nodes>
</COLLADA>
The same data, the same files, using COLLADA or not using COLLADA is
completely orthogonal to anything in the example layout.
More information about the SLDev
mailing list