secondlife / jira-archive

3 stars 0 forks source link

[BUG-6463] The addition of linden labs OWN webserver setups for developer to use to store data that are rentable at a weekly or monthly cost #14321

Open sl-service-account opened 10 years ago

sl-service-account commented 10 years ago

How would you like the feature to work?

Rather than having to learn php, buy a web domain, rent a webserver. The average player can, buy a premium account and with that account could come ONE free database that they can use to store data for one product. If the developer needs another storage database beyond that then each database added would be rentable at 100-500L a week. The user would simply log into the sl website, click on the database management link and add and setup or delete their databases to their hearts content. A immediate payment of one weeks or one months rental is payed in advance of course. With this comes the creation of new scriptping functions that allow the developer to fetch and recieve the data that is stored. It does not need to be overly complicated just a simple....send data and avatar key to database.....does user exist in db.....if so feedback or save new data.....if not create new entry and save data to assigned slot and feedback that this has been done to script in world. Functions could be something like :

*Saving llSaveToDatabase(databaseName,databasePass,list columnNames,list dataSave); In the case of a combat system, if we wanted to save a players health stat we could simply write this : llSaveToDatabase(myCombatDatabase,password,[playerHealth,playerHealthMax],[(string)healthVariable,(string)healthMaxVariable]);

*Fetching* llRequest2Database(databaseName,databasePass,list columnNames); so in this case it would be exactly the same as the save function except we do not need list dataSave on the end as we are ONLY wanting to know the values of that column.

*Dynamic Function* llDatabaseParams(databaseName/databaseUUID,databasePass,key avatar,list rules); Similar to llSetLinkPrimitiveParams in a sense..random examples of possible rules could be:

DATABASE_CREATE, string data //Create new entry for the avatar storing data in the database and store their first load of data DATABASE_FETCH,string column, key avatar //Request data from the column for that avatar DATABASE_UPDATE, string column, string data //Could either completely overwrite the data in a column to be replaced with new data for, i.e health on combat system being leveled up to a new value DATABASE_ADD_TO, string column, string data //Could add to data already stored in a column...in the case of player purchase DATABASE_DELETE,string database, key avatar //Deletes the avatars entire entry from the selected database

The database event could be fairly simple also :

databse_response(key DBid, string body){ key DBid = id of the database we are requesting from string body = content sent from the database

could add in other aspects such as request_id or w/e else. With what i have written above i was trying to keep it as simple as i possibly could.

If a user does not pay their monthly rental fee then the database will just go into standby mode and can not be accessed in world until the rental is paid.

I am sure someone could explain this idea even more in depth or provide a better example but i felt like this should be requested.

Why is this feature important to you? How would it benefit the community?

It would enable all developers to access a permanent method of storage without needing to learn another language i.e php, mysql, their data would be safe and secure. It would generate further income for linden labs via the month rental of database storage. Even for users like myself who can script in php....i would probably switch to a linden based database storage system if such a thing was offered. The only reason i would ever have to go outside of second life would be if i required database storage that was linking my sl product to a website or outside program.

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | BUG-6463 | | Summary | The addition of linden labs OWN webserver setups for developer to use to store data that are rentable at a weekly or monthly cost | | Type | New Feature Request | | Priority | Unset | | Status | Accepted | | Resolution | Accepted | | Reporter | chibiusa Ling (chibiusa.ling) | | Created at | 2014-06-23T23:52:24Z | | Updated at | 2014-08-25T22:28:56Z | ``` { 'Business Unit': ['Platform'], 'Date of First Response': '2014-07-09T13:13:37.177-0500', 'How would you like the feature to work?': ' Rather than having to learn php, buy a web domain, rent a webserver. The average player can, buy a premium account and with that account could come ONE free database that they can use to store data for one product. If the developer needs another storage database beyond that then each database added would be rentable at 100-500L a week. The user would simply log into the sl website, click on the database management link and add and setup or delete their databases to their hearts content. A immediate payment of one weeks or one months rental is payed in advance of course. With this comes the creation of new scriptping functions that allow the developer to fetch and recieve the data that is stored. It does not need to be overly complicated just a simple....send data and avatar key to database.....does user exist in db.....if so feedback or save new data.....if not create new entry and save data to assigned slot and feedback that this has been done to script in world. Functions could be something like :\r\n\r\n**Saving*\r\nllSaveToDatabase(databaseName,databasePass,list columnNames,list dataSave);\r\nIn the case of a combat system, if we wanted to save a players health stat we could simply write this : \r\nllSaveToDatabase(myCombatDatabase,password,[playerHealth,playerHealthMax],[(string)healthVariable,(string)healthMaxVariable]);\r\n\r\n**Fetching**\r\nllRequest2Database(databaseName,databasePass,list columnNames);\r\nso in this case it would be exactly the same as the save function except we do not need list dataSave on the end as we are ONLY wanting to know the values of that column.\r\n\r\n**Dynamic Function**\r\nllDatabaseParams(databaseName/databaseUUID,databasePass,key avatar,list rules);\r\nSimilar to llSetLinkPrimitiveParams in a sense..random examples of possible rules could be: \r\n\r\nDATABASE_CREATE, string data //Create new entry for the avatar storing data in the database and store their first load of data\r\nDATABASE_FETCH,string column, key avatar //Request data from the column for that avatar\r\nDATABASE_UPDATE, string column, string data //Could either completely overwrite the data in a column to be replaced with new data for, i.e health on combat system being leveled up to a new value\r\nDATABASE_ADD_TO, string column, string data //Could add to data already stored in a column...in the case of player purchase\r\nDATABASE_DELETE,string database, key avatar //Deletes the avatars entire entry from the selected database\r\n\r\nThe database event could be fairly simple also : \r\n\r\ndatabse_response(key DBid, string body){\r\nkey DBid = id of the database we are requesting from\r\nstring body = content sent from the database\r\n\r\n\r\ncould add in other aspects such as request_id or w/e else. With what i have written above i was trying to keep it as simple as i possibly could.\r\n\r\nIf a user does not pay their monthly rental fee then the database will just go into standby mode and can not be accessed in world until the rental is paid. \r\n\r\nI am sure someone could explain this idea even more in depth or provide a better example but i felt like this should be requested.', 'Target Viewer Version': 'viewer-development', 'Why is this feature important to you? How would it benefit the community?': 'It would enable all developers to access a permanent method of storage without needing to learn another language i.e php, mysql, their data would be safe and secure.\r\nIt would generate further income for linden labs via the month rental of database storage. \r\nEven for users like myself who can script in php....i would probably switch to a linden based database storage system if such a thing was offered. The only reason i would ever have to go outside of second life would be if i required database storage that was linking my sl product to a website or outside program.', } ```
sl-service-account commented 10 years ago

Alexa Linden commented at 2014-07-09T18:13:37Z

Thank you for your suggestion.

sl-service-account commented 10 years ago

Lucia Nightfire commented at 2014-08-25T22:28:56Z

Experience tools offers similar functionality with key-value pair storage. http://wiki.secondlife.com/wiki/Category:Experience_Tools

Although grid-wide experience keys would need to be offered in order for products your customers purchased to access the kvp store from anywhere on the grid if needed.

For example, your in-world product servers could maintain their current email keys and/or urls in the kvp store and the products would always have a link between them even when you had to relocate said servers to another region or if the url was updated. Products could store their default or user setup data in the kvp store and maintain this data across updated versions.