• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-868
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: WarKirby Magojiro
Votes: 114
Watchers: 31
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

llGiveInventoryList should be able to work gridwide

Created: 23/Oct/07 10:34 PM   Updated: 23/Aug/09 07:34 PM
Return to search
Issue 4109 of 4962 issue(s)
Component/s: Scripts
Affects Version/s: None
Fix Version/s: None

Issue Links:
Parent/Child
 
Relates
 

Last Triaged: 10/Mar/09 09:01 AM
Linden Lab Issue ID: DEV-28643


 Description  « Hide
llGiveInventoryList is the best way to design vendors generally. It delivers things to a neatly named folder. Unfortunately, it only works if the target is in the same sim. This is a problem for many things, including:

Update Servers
Networked vendors. Specifically, the kind where a central box holds the items for distribution, and individual vendors send commands to it. These are pretty much necessary for businesses with many stores. Because llGiveInventoryList only works in the same sim, we are forced to use the less than optimal solution of packing things inside boxes. This causes confusion to a lot of new residents, and a lot of litter because people simply don't clean up after themselves when they should.

Is there a reason why llGiveInventoryList suffers from this limitation, while llGiveInventory (thankfully) does not. ?



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lex Neva added a comment - 24/Oct/07 09:31 AM
Yes, yes, a billion times yes. We desperately need this. Down with boxed products.

Chakalak Skall added a comment - 14/Dec/07 02:34 AM
I totally agree! This function should work gridwide and for offline agents too!
And it is very misleading that it's not working in the same manner like llGiveInventory does.
I wanted to use it in "buy-as-a-gift vendors". Luckily I noticed that it does not work offline/gridwide.
If I wouldn't there would have been some trouble for sure.

WarKirby Magojiro added a comment - 14/Dec/07 11:54 PM
Also note, it should only work with agents. And return an error, or fail silently, if passed a non agent or invalid key.

anthony reisman added a comment - 03/Jan/08 08:02 AM
Set script as a component since llGiveInventoryList is an LSL function.

Piginawig Lock added a comment - 20/Jan/08 12:47 PM
This needs to be fixed as soon as possible. I don't know if this is a bug, or a "feature" but wither way it is a horrible thing.

Brandon Shinobu added a comment - 09/Feb/08 10:06 AM
I agree, in fact I created something on this topic a bit ago. It isn't entirely true that it does not work grid-wide, though. It does, but only if the agent has been in the same sim as the running script at some point in the past. Otherwise it returns a "Cannot find destination" error.

WarKirby Magojiro added a comment - 09/Feb/08 02:48 PM
Stella. Please don't make changes to an issue like that without justifying your actions. Until we get a statement from a linden otherwise, we cannot assume this is a bug.

Brandon Shinobu added a comment - 09/Feb/08 11:35 PM
Did you intend to post that on this issue? I don't know what you're talking about there.

Harleen Gretzky added a comment - 09/Feb/08 11:41 PM
If you look in the Change history, you can see Stella changed this from a New Feature to a Bug, WarKirby changed it back.

Stephen Psaltery added a comment - 28/Apr/08 03:57 AM
Ugh SO many elegant solutions to common problems would be possible with this. There is simply no way other than libsl bots to deliver dynamically generated collections of objects than with this function as it SHOULD.

LibSL bots carry huge overhead for the simluator and the person developing them. This needs to be made to happen.


yo brewster added a comment - 29/Aug/08 09:13 PM
I'm a bit suprised that such an important feature hasn't been FIXED yet. This is clearly a BUG that needs attention.

yo brewster added a comment - 29/Aug/08 09:27 PM
One more thing - the description "llGiveInventoryList only works in the same sim" is indeed incorrect. It actually works grid wide as long as you visited the sim before as mentioned by Brandon which CLEARLY indicates this is a BUG and therefore the "Type" should be changed to BUG instead of FEATURE.

Lex Neva added a comment - 29/Aug/08 09:35 PM
Actually, I'm pretty sure that llGiveInventoryList() will only work on an avatar that is either in the sim, in a neighboring sim (and looking into the sim in question), or very recently was in the sim. What that amounts to is whether the avatar's SL client is still connected to the sim in question. Your client connects to any sim you're in and any sim you can see into, and it stays connected for up to a minute or two after you teleport away.

It's working like any other local-only function, such as llKey2Name. I think you'd find that llKey2Name will only return the name of an avatar in those same circumstances. That clearly indicates that llGiveInventoryList works like most other functions of this type and that llGiveInventory is a special-cased exception. That means this is a design decision (not a bug), but it's one I hope they reconsider soon.


sasun steinbeck added a comment - 14/Oct/08 10:11 PM
PLEEEEEEASE fix this. My Kiosk.net networked kiosk system cannot give out folders of items grid-wide which would be MUCH cleaner for users. No one wants a bunch of items showing up in their Objects folder if someone wanted to give out more than a few things at once from a networked kiosk. This would be a BIG boon to users clicking on networked vendors and help them keep things organized.

Thomas Shikami added a comment - 19/Nov/08 08:47 PM
I could just reproduce this issue with sending inventory to an offline user. llGiveInventoryList seems broken. I checked the key to exist and it fails to deliver with: "Unable to give inventory list: Cannot find destination"

I wonder why this isn't filed as a bug.


Stephen Psaltery added a comment - 19/Nov/08 10:51 PM
The two things are related. The reason behind both is that llGiveInventoryList only works if the agent is still connected to the sim. If they are offline, or not in the sim, then they can't receive items via this.

The reason why you can get it to work for people who have recently left the sim is because the Second Life client does not immediately disconnect from a sim you have left, but it eventually will.


Servian Serevi added a comment - 26/Dec/08 07:52 PM
Over a year now... This issue and a myriad of others that scripters have been sreaming for have not been fixed. At least a Linden could get on here and explain why it is taking so long to address this!!!

Norton Burns added a comment - 10/Feb/09 05:47 AM
Even though you can only drop single items into the IM window.you can drop an entire folder onto an open Profile & have the whole thing sent to the other av, wherever they are, online or off .

So the mechanism already exists. It just needs plumbing in to LSL for us.

Just discovered this major bug/feature whilst trying to build a networked vending system. Gets my vote straight away.


Chalice Yao added a comment - 10/Feb/09 06:13 AM
Internally, those things are quite different.

In the case of dropping inventory via the client onto profiles and IM windows, the client sends a request to the asset servers to check if the items are transferrable, and toss them to the other avatar. There are pretty much no sim-local events involved, technically, aside of the sim routing said request to the asset servers.

In the case of llGiveInventoryList, or llGiveInventory, the internal mechanics are different. Much more of what is being done is sim-local. Remember that object contents not necessarily are already saved on the asset servers: If you drop objects/textures/sounds into an object's contents, they are not saved back to the asset cluster yet as new assets, to my knowledge, so sending those contents via LSL to another agent somewhere else on the grid are alot more complex.

This is partially just a guess, but from my technical understanding, should be close to the actual system and the root of the problem.


Stephen Psaltery added a comment - 20/Feb/09 05:14 AM
With the approaching release of HTTP-IN I think the lindens need to look at this feature as the next big project! a vendor with http in could have externally triggered deliveries in neatly named folders to anyone. it would be a perfect solution.

Lamorna Proctor added a comment - 10/Mar/09 08:47 AM
Just to re-emphasise what others have said, this would be a stunningly useful function for a vendor/warehouse system, if only it worked grid-wide. Instead of packing products into predefined boxes, the warehouse could build a customised folder on the fly when a customer buys something, and then send it to them.

Stephen Psaltery added a comment - 11/Mar/09 08:57 AM
WOOT. This issue has been triaged! THANK YOU LINDENS! Let's hope this gets some speedy development time!

Ariu Arai added a comment - 14/Apr/09 01:27 PM
Voted.

Not sure where i read it, but somehow I thought it was added. So I upgraded some of my servers to use it (Non-Public ones, of course)... Then found out it hasn't been added! D: - Darn... I was getting excited.

Hopefully this feature can be added soon. It'd make updating products soooo much easier. - As well as more efficient product deliveries and less crowded inventories (Less packages).


Aargle Zymurgy added a comment - 18/Apr/09 07:21 AM
I'm also surprised that the original author wanted to see it handled as a new feature. I don't want it doing something new, I just want to see it doing what it's supposed to all the time. Things that don't do what they are supposed to "some of the time" are buggy things.

It's triaged. that's a good start. I'm looking for that "assigned" slot filled.


Aargle Zymurgy added a comment - 24/Apr/09 05:09 PM
I just filed a JIRA earlier today (SVC-4160) outlining a problem with un-rezzable objects and I've been informed by someone that he had the same problem, and it had to do with leaving a laggy sim quickly after a llGiveInventoryList operation. I strongly suspect that the problems with doing llGiveInventoryList grid-wide are connected with the bug in SVC-4160. This entry REALLY needs to be categorized as a bug.

Strife Onizuka added a comment - 25/Apr/09 06:08 PM
Aargle, this is not a bug; it was designed this way on purpose.

Eddy Ofarrel added a comment - 08/May/09 01:52 PM
AAAAARRRRRRRRRRRGGGGGGGGHHHHHHHH... is all I can say to this, after spending the last few days wondering why people weren't receiving items from a vendor system I just designed to send out stuff purchased from vendors in several places from a central location, so that it can be updated easily.

I just couldn't figure out what could be going wrong, because it seemed to work fine even from other regions if I went and re-rezzed the object doing the actual giving, but then seemed to break again after a while, and the object was definitely getting the messages telling it to give the stuff to people. At first I thought it was because when it was first all installed in-world, there happened to be a bunch of asset server problems that occured at just the same time, so there might have been some issue left over from that.

I didn't even think that llGiveInventoryList might be different from llGiveInventory, and still don't see why it should be :/


WaMark Basevi added a comment - 08/May/09 04:41 PM - edited
I feel your pain, Eddy! I was burned a while back after doing tons of of work based on llGiveInventoryList as well...like I'm sure most of us here were...just seemed so logical...

Glad it's been triaged!!


Anthony Hocken added a comment - 20/May/09 03:59 AM
This was reported in 2007 at the latest, and nothing has been done yet?

This is the second basic issue which has ruined some vendor's I've been developing. The other involving paying into child prims.

Linden Lab wonder why people are getting progressively more pissed off?

Thanks for nothing.

And yes, this is a bug. No two ways around it. The only way it should differ from llIGiveInventory is giving a folder of items instead of one item. There's no excuses for this.


EddyFragment Robonaught added a comment - 18/Aug/09 04:15 PM
Mmmm, how refreshing. Finding another old and knackered request from the residents dying alone in a back office with not one comment from a Linden, no assignee and I'll stick my neck out and say no Linden watching either (I'll look after typing).

I would get mad and type all caps and point out the inequities and stomp about but I'm getting too bored to bother. Face the facts people... LL has better things to do than provide a better service to the residents based on the residents ideas and contributions.

After all that would just be madness.


Strife Onizuka added a comment - 22/Aug/09 07:59 AM
Eddy, it was imported (to the internal LL jira) several months ago.

Aargle Zymurgy added a comment - 23/Aug/09 04:40 PM
Strife, whether it was done by accident or on purpose, the fact that it doesn't work the way users expect – nor they way they desire – makes it a bug. Nobody is asking for anything new, just for the function to work correctly (i.e., as expected).

EddyFragment, I'm going to go out on a limb and say that this is being watched. Having been the lead on a big project where people constantly flooded me with feature requests and bug fixes, I had to set my own priorities. Not everyone is going to like them. (For this llGiveInventoryList bug, I'll confess this includes me. I've needed it for a long time now.) However, at some point you realize that you have X man-hours to devote to programming, and you have 10X hours needed to process all the requests and easily one-third of those requests include something to the effect of "if you don't include my suggestion, your product will go unused by anyone in the world." Anyways, with that being the situation, something has to give.

Something a few of you might have missed: At SLCC recently, T Linden had a question & answer session. One exchange went roughly "where are the features we've been asking for?" answer "have you been to the triage sessions where such things are acted on?" I'm paraphrasing, of course, and I had to admit I never attended them. Anyways, something to think about.


Anthony Hocken added a comment - 23/Aug/09 07:34 PM
I'm still keen for this function to be fixed, as I have for years.

Also, what would make it even better though is support for folders in an object's inventory. Doesn't even have to be nested - one level deep would be sufficient for networked vendors and XStreet magic boxes.

Then an additional function which returns a list of inventory items when given the folder name.
Eg to give a folder to a user all you'd need is:
llGiveInventoryList(llDetectedKey(0), "Test", llGetInventoryList("Product 1"));

This would be more flexible compared with a separate llGiveInventoryDir() function because there's often things common to each product, like a shop landmark, so these can be added to the inventory list as needed and given using the current llGiveInventoryList() function.
Eg to give a folder, with landmark, all you'd need is:
llGiveInventoryList(llDetectedKey(0), "Test", llGetInventoryList("Product 1") + ["My landmark"]);

You couldn't have an identically named item in two or more folders without breaking the current llGetInventory* functions. Unless introducing new functions like llSetDir() and llGetDir(). In which case the llGetInventoryList() wouldn't be essential - just a luxury.

Anyway, I'd find anything like that unbelievably useful. Now that SL own XStreet it would be nice to see Linden Lab take this initiative to make things easier for users. Then networked vendors can benefit from it too. Being forced to give products inside an object instead of a folder should be a thing of the past.