[BUG-202673] [Feature Request] - Lack of ability to write to Notecards, which leads to creating large memory resources, to store incoming emails. We need a better solution as there is no solution for recording incoming emails and holding in an easily viewable form #2992
Comments
Chaser Zaks commented at 2017-11-30T17:57:24Z Linden Lab has been very cautious about what LSL can create asset wise, and rightfully so. A new type of asset that can be written over would need to be made for this to work. |
VirtualKitten commented at 2017-11-30T19:49:25Z Am not sure I understand why it would create more asset clutter than reading. Why could it not just write the notecard in one hit and eliminate the requirement for many hits on assets ? This is totally really dependable on how the command works. |
Lucia Nightfire commented at 2017-11-30T22:21:00Z Why not store data in script? |
VirtualKitten commented at 2017-11-30T22:32:37Z Hi Mazi, The problem is that there is no clear path to save and store emails to a prim on the wiki pages. The only code on the wiki is to send an item from the inventory once the prim is emailed which defeats the reason for receiving email. The only reasonable solution to this without a memory hungry option would be to write the email to a notecard in one hit. That could then be reviewed at a later date and even copied into the Avatars inventory. Currently, there is no LSL command or data server handling to write to note cards and no proper LS Wiki explanation on how to process emails once they have come in within the current framework. There is no easy workaround that I have found I have asked in LSL scripting groups but had no proper help other than the matter was memory hungry. It would definitely be of benefit to the community to be able to write to a notecard in one pass from a list. The benefits would be proper email handling. Changing of a note card by deleting and replacing it with a script. Therefore correcting errors therein. This may also be able to then work with very basic database handling. |
VirtualKitten commented at 2017-11-30T22:40:56Z, updated at 2017-11-30T22:42:35Z Lucia, Thank you for your ideas The data from a large number of email would be memory hungry if stored in a script. The notecard option is much more friendly and native to Secondlife The KVP database is not something that is easily accessible to the user of the script. I am not really sure the Experience Tools are meant to be used for a database of large strings: The Knowlegebase states In Second Life terminology, an experience is a set of avatar interactions created by one or more scripted objects. With an experience key, creators can build their experiences so that a user only needs to grant avatar permissions once for the entire experience rather than separately for each scripted object within it. These permissions allow the experience to animate your avatar, attach items to your avatar, track your camera, control your camera, teleport your avatar, and alter your movement controls. For example, Linden Realms regularly requires permission to teleport your avatar and attach objects to your avatar and HUD. Rather than asking permission each time it needs to perform one of these actions, it uses experience permissions perform the required actions as many times as needed without pausing while you respond to each permission request. |
Lucia Nightfire commented at 2017-12-01T03:29:11Z KVP strings can be up to 4095 bytes. At one point I had security operation data sent to my KVP db so I could read the order of events via an HUD in chronological order and it stored over 2 MB of data daily. Notecards are not an efficient alternative as they are asset based and saving(writing) to a notecard creates a completely new asset each save. |
VirtualKitten commented at 2017-12-01T10:07:53Z Lucia . I don't really see the KVP being a workable solution as it was never intended for what you are suggesting and as such may get changed or altered which would render code unworkable. The assets required to read and write are the same structure so cannot see why this would be asset hungry in fact writing in one hit with one routine writing one note card would be less asset hungry than reading one line through the data server of an existing notecard read! We really need a proper workable solution for this |
VirtualKitten commented at 2017-12-01T11:49:50Z Lucia I have had a look at the KVP again and direct you to http://wiki.secondlife.com/wiki/LlCreateKeyValue which its elf requires the use of the data server and is also asset based on each key you register. Clearly, this is more asset hungry than one note card write which would only require one data server event. I also presume the key you create is available in memory and therefore not available after a sim restart. I note you seem to be the expert here on KVP but do not feel it fits this methodology in a way which is accessible to the second life user on the grid. Clearly, note cards are a better solution for storing information which the Avatar can easily read. Is this not the definition of an email? I understand SEC-1352 made this grid wide use of KVP to store data I am also aware from BUG-18269 that grammar notation is not allowed to be recorded in a KVP key. Which I feel renders it unusable for email. The English language is full of grammar symbols so is French and other languages. We need a complete solution for storing emails. A note card seems the obvious choice. Denise |
Lucia Nightfire commented at 2017-12-01T17:03:51Z Everything you said in your last two comments is wrong and a complete misunderstand of how the KVP system works. KVP was explicitly created and offered to residents as a means of reading/writing data, 0 - 4095 bytes, rapidly to/from a dedicated server, granted LL's "vision" was for it to be primarily used with experience based game data. KVP servers are not asset servers. They are their own servers with their own thread. Even though the dataserver event is triggered with reads, creates, updates and deletes, there is no asset fetching. KVP keys are not assets. I don't know where you got the idea that SEC-1352 has anything to do with facilitating grid-wide KVP usage, but it doesn't. BUG-18269 was about limiting the use of commas in keys, not data, since the presence of commas in keys will negatively impact llKeysKeyValue() as it returns a list of keys in CSV format. Your understanding/assumption that writing to notecards by script will not risk being resource intensive to asset servers is also incorrect. Asset fetching is not on its own thread and scripts would effectively be able to ddos the asset server, blocking attaching and rezzing from inventory. I suggest you invest some time into working with KVP functions to get an actual understanding of the operation and benefits because scripted writing to notecards isn't going to happen. We would sooner get larger scripts before that. |
VirtualKitten commented at 2017-12-01T19:35:00Z, updated at 2017-12-03T10:44:28Z Yes, Lucia thank you but the comas you addressed would be present in emails so the BUG-18269 would prevent this recording emails.No Lucia the understanding I have of notecards is correct we already use them for scripting to read notecard sometimes every line creates an asset request 1 second or more. You seem to not understand that this is already implemented and that one asset release of the system to create a notecard would be far less than this around 1 second. When a read of the notecard lines for example 12 can do this for many 12 seconds. I don't need to invest at any time with KVP it won't work as a solution for what I require this to do. You seem to be misunderstanding this and have spent considerable time improving this request today. I recognize your experience in KVP but this KVP will not record this data and present it in an in-world experience for avatars that is comparable to what they already use and can cope with. Finally, even if the KVP could deliver recording this data there would be no way of ensuring the Avatar had a copy they could look back on which can be easily achieved in notecard from easily and is used across SL as a recording medium of messages by all avatars. Denise At 12/3/2017 AT 11:39 AM Again I have to say the use of KVP for this Note card system is not a useful answer. It is quite clear that for the experiance system to functiom that it hasto be turned on in the settings. I am quite aware this is not the case for many avatar and as such there is no clear delivery of the email recieve functions in SecondLIfe yet email can be send out without a problem. This is a rediculous state of affairs and needs to be put right. Why would anyone consider that this would eb correct that functions in secondlife scripting library cannot be used and are redundant as the storage facilities do not exist to make it work. |
Lucia Nightfire commented at 2017-12-01T19:59:04Z Again, and for the last time, BUG-18269 was to prevent commas from being used in KVP "KEYS", not the "DATA". My KVP "DATA" contains commas. The aforementioned security data was in the form on IM's that I used to receive while online. That data contained commas. That data was stored in my KVP database daily during a time when I would not get my IM's going to my email. So I would have it stored and would read it back with an HUD when I came online. Some days I would have have it read back a hundred stored IM's, other days it could read back up to 2000 stored IM's. There is no character restrictions with what can be stored in KVP "DATA". You are confusing KVP keys with KVP data. They are two completely different things. Keys are ID's, Data is data read from or wrote to that ID. Your understanding of how notecard asset data is fetched and saved is incorrect. I am done repeating myself and will not be arguing this matter any further as it is fruitless. |
VirtualKitten commented at 2017-12-01T20:45:13Z, updated at 2017-12-03T10:46:24Z I don't think you understand my problem at all. You cannot use KVP for everything Lucia I respect your experience but you have not listened to anything I said as naysayers you seem to hope KVP can do all it cannot! For many years avatars in LSL have created notecards copying data from messages as a permanent record of their messages this is so heavily used that you must have even used it yourself. If you are correct at all this asset notecard creation then in the millions of note card creation which I have hundreds would break SL. It doesn't!You seem to be riding a chariot for KVP it simply won't work here! I am done repeating myself you don't listen! You seem to misunderstand how the data server functions and have expended a great deal of effort in putting forward KVP which is a nonsense for what this requirement is! Go please support your single-minded obsession with KVP approach elsewhere I have told you more than once this will not work for what I have intended. I have been told by many people this is a very good idea. These are people in Scripting groups who script regularly like me. Go in peace. h1.Dear Alex Linden, h1.Alex you have not provide me with a reason for closing this request with a valid reason which are * Our internal architecture doesn't allow it.* It will break existing content.* It is not scalable.* The request will introduce security issues.* Scope of work is too great.Your scripting system is now flawed as you have provided no solution to get this email system working. It seems by not adding one of the above you have not reviewed this matter at all. I intend to open a complaint.New inputDear Whirly, I am not shouting just pointing out that the person who closed this is wrong and not conforming to SL guidelines which you have missed. I am not sure how you can comment on this as this item is closed and I cannot. It is clear the email system is non-functional in a complete function that will operate to provide a full experiance are you joining the naysayars? At 12/3/2017 AT 11:39 AM Again I have to say the use of KVP for this Note card system is not a useful answer. It is quite clear that for the experiance system to functiom that it hasto be turned on in the settings. I am quite aware this is not the case for many avatar and as such there is no clear delivery of the email recieve functions in SecondLife yet email can be send out without a problem. This is a rediculous state of affairs and needs to be put right. Why would anyone consider that this would be correct that functions in secondlife scripting library cannot be used and are redundant as the storage facilities do not exist to make it work. |
Alexa Linden commented at 2017-12-01T22:32:46Z Thank you for your suggestion. We've reviewed your request and determined that it is not something we can tackle at this time. |
Whirly Fizzle commented at 2017-12-02T00:57:39Z
You AR'd a Linden for closing this JIRA issue? Also shouting in h1 caps doesn't make what you say correct. |
How would you like the feature to work?
I was hoping that a memory failure free solution using notecards was available using current commands. This would keep the data in-sim and improve the experience of the in-world features to an avatar.
This would be simple to be implemented and would rely on existing note card system. A new function could be created taking parameters of a notecard name and data. The function would return a key to the data server event. which could allow result handling after the code had executed and return the new UUID for the notecard similar to note card reading.
h2.This would require a new function to be created:
Function key llCreateNewNotecard( string name, list src );
Returns a handle (a key) that is used to identify the dataserver event when it is raised.
string name – notecard name.
list src - notecard message text to be displayed in notecard body.
Example
default
{
state_entry()
{
owner_name_query = llCreateNewNotecard( "Happy Birthday Card2", ["Happy Birthday","Denise."] );
}
}
h4.Events
• dataserver
Caveats
This function causes the script to sleep for 0.1 seconds.
If name is a new empty notecard (never saved) then an error "Couldn't create notecard NAME" (NAME being the value of name) will be shouted on the DEBUG_CHANNEL. This is because until a notecard is saved for the first time, it does not exist as an asset only as an inventory placeholder.
if src contains no lines then an error "Couldn't create notecard NAME" (NAME being the value of name) will be shouted on the DEBUG_CHANNEL
if src contains to many lines for the limits of the notecard then an error "Couldn't create notecard NAME" (NAME being the value of name) will be shouted on the DEBUG_CHANNEL. This is because until a notecard is saved for the first time, it does not exist as an asset only as an inventory placeholder. In creating the notecard the contents of the list could not be inserted therefore the notecard was not created.
Why is this feature important to you? How would it benefit the community?
h4.It would definitely be of benefit to the community to be able to write to a notecard in one pass from a list.
The benefits would be proper email handling.
Would support a real in world solution familar to avatar use of notecards.
Changing of a note card by deleting and replacing it with a script. Therefore, correcting errors therein.
This may also be able to then work with very basic database handling.
Restoring of data from a list would be beneficial to update managers who are authorised to access the prim.
Offline storage was possible of data. An email handler could save and send note cards to the respondent. Or hold them in the prim to eliminate clutter.
There is evidence that Avatars would like to store data from a script back in notecards.
variables in a script could be recoverd at a sim restart by saving to note card.
Actual Behavior
I have been writing an Email handling object in Secondlife. This sends an email out to the RL email address and I am very pleased with it.
I have considered the LSL library http://wiki.secondlife.com/wiki/Email in regard to email servers and unfortunately, this could do with an update as it is very verbose and only handles requests to obtain an item from an inventory. Clearly, there is a need for advice on how best to store these incoming emails in a form that they can be presented to the user.
h3.Existing code from LSL Wiki
default
{
state_entry()
{
llSetTimerEvent(5.0);
}
// {
message = llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1);
// }
}
Expected Behavior
I wanted it to store emails in a form that they could be read offline by a user at a later date in the object.
Other information
Can you add the ability to write note cards to so as to provide offline data storage in SL which will encompass the SL guidelines? The SL system does not cater for this currently yet offers an Email client which is a partial solution. External HTTP requests to external database are slow and do not present the data in a form that is available to the in-world experience.
It is important to note that this suggestion is to write a note card in a single pass and is not inteded as an edit system for notecards. This eliminates a lot of the asst requirements that a editable system would require. A new UUID would be required for the notecard that is created.
Unsuable code
There has been suggestions that the KVP Experience Tools could cater for email storage however BUG-18269 is clear in the fact that a key cannot contain a comma or other symbol for punctuation in the Languages used around the world. This means KVP experience Tools would be the wrong choice to store emails coming into SL.
h3.Usable code.
The notecard system is very extensively used in SL by Avatars to store offline messages. Its choice is obvious as a storage method as it is widely accepted and in current use. The asset required for the data server to write a complete note card would be minimal compared to the existing line by line read by the data server.
h3.Important Issues with KVP
BUG-18269 - Commas not allowed in keywords.
BUG-40868 - Lartger storage
BUG-18251 - Multiple errors in keywords
SEC-1352 - KVP access functions cannot operate
BUG-11499 - Parcel Settings
BUG-8306 - Script errors with over throttle
Never resolved by SL what a waste of time please vote as someone closed it its A DISGRACE Alex Linden said its not something they can tackle then why not remove the email system as it doesn't work wholly and is a waste of time! This means the code for emailing is unworkable and incomplete and not able to be used.
Valid reasons are
Our internal architecture doesn't allow it.
It will break existing content.
It is not scalable.
The request will introduce security issues.
Scope of work is too great.
None of the above was given
Action taken after dismissal by Linden emplyee closing this matter with out reasonable explaination.
h2.* I have opened an abuse against the person on the grounds of intolerance in-world
h2.* I have opened a support ticket on Second life under reference Support Ticket #187936 for this closure https://jira.secondlife.com/browse/BUG-202673
Attachments
Links
Duplicates
Original Jira Fields
The text was updated successfully, but these errors were encountered: