[Opensim-users] Bulk Import Textures for Global Use
Roger BUCK
rbuck at atomicit.com.au
Sat Feb 13 06:09:00 UTC 2010
We found that bulk upload of textures is possible but did not work as
expected using any documentation that we were able to find.
We did have limited success but Particular problem include:
1. unable to create archives containing sub-folders (not possible to
save or load archives more than one folder level deep)
2. obtained sharing violation errors when attemting to correct
previous archive failure
3. obtained path errors when source item path did not include a
wildcard or a unique filename
In case anyone wishes to benefit form our success... or help solve our
failure(s), here is what we did:
Having successfully imported textures for a single user using Meerkat,
we attempted to create save these items to an Inventory Archive so that
they may be accessible to all users as described in the wiki item
available here:
http://opensimulator.org/wiki/Inventory_Archives
The procedure that we used is described below in case anyone wants to
repeat and/or can identify what we are doing wrong, or in case the
limitations are result of a bug?
For example, to import the following texture collection (Torley
Textures) into diva distro:
http://torley.com/torley-textures-available-for-download-in-a-single-zip-pack
We first downloaded and unzipped the 'Torley Textures' collection and
unzipped to workstation where we had pre-installed or Meerkat browser
(link to Torley textures collection link mentioned above).
To import our textures, we performed following procedure:
1. Open Meerkat browser and click on 'Inventory' button on RHS
2. Click on 'My Inventory' to open the folder list
3. Right-click on 'Textures' -> 'New Folder' and create new folder named
'Torley Textures'
4. Right click on the new folder, and create a new subfolder called
'Torley Textures I'
5. Click on the Meerkat Menu Bar 'File' button (top LHS menu bar) and
choose the 'Bulk Upload (L$0 per file)' menu item
Roger wrote:
6. Browse to the folder named 'Torley Textures' that was created by
unzipping the 'Torley-Textures.zip' texture archive file.
7. You should see a list of sub-folders (including folder names 'Torley
Textures I', 'Torley Textures II' and so on...).
8: Open the 'Torley Textures I' folder and Shift-click your mouse to
select all of the *.png files in that folder, then click on 'Open'
- You should see a number of images start to appear on your screen as
each of the new texture image files is uploaded into you inventory: This
may take a few minutes... You may also see a popup message "You paid L$0
to upload". To clear that message, you may first have to close your
session (File -> Quit) and then log back in.
9. When you next login, you should see that your newly imported textures
now appear inside:
'Inventory->My Inventory->Torley Textures->Torley Textures I'
Repeat steps 5 to 9 to import contents of additional folders. The names
of your own folders do not need to match the names of the folders that
you are importing
It is possible to copy + paste + delete one or more textures if you wish
to re-locate them in an alternative folders.
The above procedure is based on this suggestion:
James Stallings II wrote:
> 1. Upload all textures you wish to provide to a single avatar
> account.
> 2. Create a single working folder with optional subfolders
> to prepare a logically organized collection of textures for
> presentation to the user.
> 3. save iar *only that folder* (the working folder mentioned
> previously) that contains the textures you wish to make
> available in the library.
> 4. move/copy the iar file per Diva's instructions.
Having imported next textures, we attempted to create an archive file so
that we could make the new textures easily available to all users as
described here:
http://opensimulator.org/wiki/Inventory_Archives
diva at metaverseink.com wrote:
> Import them to one user's inventory, then make an IAR from it.
> Then lace that IAR under bin/Library -- that will place it
> under the Library for everyone to use.
>
> Roger BUCK wrote:
>> Using latest diva distro on linux box, how can we bulk import
>> textures so that they may be available for use by all users?
>>
>> For example, what procedure would be required to import the
>> following texture collection into diva:
>>
>> http://torley.com/torley-textures-available-for-download-in-a-single-zip-pack
To complete the above, we connected to opensim server region console
screen to create an archive file: 'To_Library.iar'
10. Make sure that the user from whom you wish to export the newly
created textures is logged into the region from which you wish to export
the new archive - this means that you have to login from Meerkat browser
while you are performing the export via the region console on the server
11: Enter following command from region console screen (depending on
your folder names):
save iar Joe Blo "Texture/Torley Textures" pass Library/To_Library.iar
Above command should be entered all on one line.
According to docs, this should create an archive file that includes
content from sub-folder tree (including
'Texture/Torley Textures/Torley Textures I/*'
'Textures/Torely Textures/Torley Textures II/*'
...
and so on - but we had no luck with this. We found that we had to create
a unique archive for the contents of each folder.
Creating archives (using above method) that includes collections of
sub-folders did not seem to work.
Error messages:
16:25:45 - Command error: System.IO.IOException: Invalid argument(s)
WriteInternal at System.IO.Compression.DeflateStream.CheckResult (Int32
result, System.String where) [0x00000] in <filename unknown>:0
The above process also leaves behind a failed copy of the .iar file that
will cause subsequent save commands to fail with error message:
16:29:25 - Command error: System.IO.IOException: Sharing violation on
path /opt/opensim/bin/Library/To_Library.iar
16:19:36 - [INVENTORY ARCHIVER]: Saving archive Texture_Library.iar
using inventory path Torley Textures for Joe Blo
16:19:36 - [INVENTORY SERVICE]: Found 0 items and 14 folders in folder
2a1c9146-ff29-4a99-9053-567a2d387d9b
16:19:36 - [INVENTORY ARCHIVER]: Aborted save. Could not find inventory
path Torley Textures
To successfully create an archive file, it seems you must create a
unique archive for each folder and use a wildcard character or unique
file name on the path - for example, this should work for above example
names:
save iar Joe Blo "Textures/Torley Textures/Torley Textures I/*" pass
Library/To_Library.iar
Again, the above command all on one line and notice the trailing slash
and wildcard: '/*'
If you see a 'sharing violation' error or 'inventory path' error - then
remove the old copy of To_Library.iar file above and re-try using a
valid path (may take some experimentation to find correct path - also
note use of quotation marks to specify paths in case they include
white-space)
In our above example, when correctly saved, the To_Library.iar file had
a size of 4004991 bytes
We were unable to create an archive file that included sub-folders -
Instead, we had to create a unique archive for each foler - as per
examples:
filesize | IAR archive name
---------+------------------------------
7823300 Torley_Textures_Desat_Library.iar
1967632 Torley_Textures_Dreams_Library.iar
2464933 Torley_Textures_III_Library.iar
4926587 Torley_Textures_II_Library.iar
4096408 Torley_Textures_IV_Library.iar
... and so on
In case any has suggestions, please reply and we will test and post results.
R.
More information about the Opensim-users
mailing list