Inventory Archives

From OpenSimulator

Revision as of 07:28, 25 September 2009 by Justincc (Talk | contribs)

Jump to: navigation, search


Introduction

OpenSim Inventory Archives (IARs) are a means by which inventory folders and items can be saved offline to a single file (an IAR). This file can then be loaded into a different OpenSim installation.

Like OpenSim_Archives, IARs save all the necessary asset data required to fully restore the items including textures and the other content of objects such as sounds and scripts.

IARs have been enabled in OpenSim since Git revision 5a64ca (post 0.6.6).

Usage

IARs are saved and loaded from the region console. Before performing either of these operations the user that owns the inventory to be used must be present in one of the regions run by the region simulator.

save iar

The command to save an IAR on the region console is

save iar <user name> <path> <password> [<filename>]

where

  • <user name> is the name of the user to save inventory from
  • <path> is the path to an inventory item or folder. If the path is for a folder, that folder and all its contents (both descendant folders and items) are saved. If the path is for an item, then only that item is saved. Components of the path are separated by a forward slash (/). If you need to specify a path with spaces, you can surround the whole thing with double quotation marks (e.g. "Folder A/Folder B"). One further issue here is that it's not possible to distinguish between identically named folders or items on the path.
  • <password> is the password of the user.
  • <filename> is an optional filename for the IAR. If none is supplied, then the filename user-inventory.iar is used in the current directory. I recommend that iars have the .iar extension.

Here's an example. Suppose you have an inventory structure like this

My Inventory
  |
  +-- FolderA
        |  
        +-- FolderB
        |      |
        |      +-- ItemX
        |
        +-- ItemY

If you type

save iar John Doe FolderA password

then FolderA and everything in FolderA (FolderB, ItemX and ItemY) will be saved. On the other hand, if you type

save iar John Doe FolderA/FolderB/ItemX password

then only ItemX will be saved.

Since no filename was specified in either of these cases, the items or folders will be saved to a file called user-inventory.iar

load iar

An IAR can be reloaded to an OpenSimulator instance with the load iar command

load iar <user name> <path> <password> [<filename>]

where

  • <user name> is the name of the user to whom to load the inventory
  • <path> is the path to which the IAR should be loaded. This has to be an inventory folder. Like the save iar command, the path is delimited by forward slashes (/). The root "My Inventory" folder can be specified by a single forward slash. Again, if you need to specify a path with spaces, you can surround the whole thing with double quotation marks (e.g. "Folder A/Folder B"). Also like the save iar command, it isn't possible to distinguish between identically named folders.
  • <password> is the password of the user.
  • [<filename>] is an optional filename for the IAR. If none is specified, then the filename is assumed to be user-inventory.iar in the current directory.

Again, here's an example. Suppose that "David Hume" has recieved the IAR above containing FolderA, FolderB, ItemX and ItemY. David Hume already has an inventory structure like this.

My Inventory
  |
  +-- Folder1
        |  
        +-- Folder2
        |      
        +-- Folder3

David wants to load the IAR to Folder3, so on the region console he executes

load iar David Hume Folder1/Folder3 password

After a little while he ends up with the folder structure

My Inventory
  |
  +-- Folder1
        |  
        +-- Folder2
        |
        +-- Folder3 
              |
              +-- FolderA
              |  
              +-- FolderB
              |      |
              |      +-- ItemX
              |
              +-- ItemY

where ItemX and ItemY are ready for rezzing.

Example IARs

http://justincc.org/downloads/iars/my-great-items.iar - justincc's initial example IAR.

Please feel free to place links to other IARs here.

Further Information

http://justincc.org/blog/2009/09/14/introducing-opensim-inventory-archives-iars/ - an IAR tutorial with some pictures, and a little bit more background information.

Use cases

Possible uses

1. To distribute content to other OpenSim installations without need to transfer entire regions. One drawback with IARs for this use case is that creator names are not preserved unless the user has a profile on the target installation. One workaround is to include a notecard detailing the creator and license conditions of the content.

2. To backup a user's inventory. IARs are currently not that great for this. One can backup an entire inventory by giving a path of "/" to the save iar command. But a load IAR of the same will mean a duplicate set of root child 'standard' folders (Objects, Textures, Clothing, etc.). The loaded folders will not have any type icons.

Current limitations

  • IAR loading and saving is currently done on a single thread. This may lock up the console for a while with very large IARs. This should be addressed in the future
  • IARs cannot save folders or items that contain a forward slash in their name. This should be addressed in the future.
  • Creator names are not preserved unless the profile exists on the target system. This problem will probably be addressed in the future.

File Formats

IAR File Formats

FAQ

Nothing yet.

Bugs

Please search the OpenSim Mantis for information on current IAR bugs.

Current Status

Operational but experimental. Bug reports are appreciated and there will almost certainly be quite a few right now. Suggestions for improvement are also welcome. The best place for these right now might be my blog post on IARs, since I'm bound to see them then.

Though we will strive to maintain compatibilty for old archives with newer OpenSimulator versions, please do not rely on these archives as your only backup for inventory.

Personal tools
General
About This Wiki