VonNixon Posted May 23, 2016 Posted May 23, 2016 Is there any way to make a survey that users in SL can take in world, and have that data transfered to an excel document, or something similar?
Freya Mokusei Posted May 23, 2016 Posted May 23, 2016 Yes. Excel supports CSV, and can even handle ODBC imports. Second Life scripts (LSL) has support for ODBC by virtue of its capability to transmit outwards via llHTTPRequest (and some other, less common methods involving XML-RPC). Exporting to CSV or other format would be doable from a SQL manager, CMS or other data-handling interface. Trick is to put it into a common language/format. You could do it even more simply (results to offline IM?) but that strikes me as messy. Worth noting also that Second Life has an anti-spam policy in Community Standards. Adverts and unsolicited requests for information as people expect to be left alone may get you into trouble. Not sure of your level of expertise, but hope this helps!
VonNixon Posted May 23, 2016 Author Posted May 23, 2016 Based on your response, I think my level is low. I recognized all your words as English, but I culminated after that. Perhaps you can recommend a tutorial that would help: 1. Me design something in-game where a user could take a survey. I'm assuming this would be a script, but also, perhaps require a hud or some sort of in-game console. 2. Export to an excel, so I can data mine / group answers to different answers / track trends. Any help is appreciated. Thanks!
Freya Mokusei Posted May 23, 2016 Posted May 23, 2016 Tehehee, worry not. I mention the names (e.g. CSV, Comma-Separated Values) in case any were familiar. I'm afraid data management is my day job, I am an incorrigible nerd. I'll try and find some good code examples, but essentially you'll probably want:- Method One: Web storage (best for large datasets, many questions or complex, multi-dimensional surveys) A scripted in-world object (probably a rezzed object, on land which you own)... that sends llHTTPRequests (linked previously)... to a webpage hosted on a webserver you control and trust... which sends form-input data to a database... which would then be exported to Excel. Method Two: Live storage (only for small datasets, simple or single questions) A scripted in-world object (definitely a rezzed object, on land which you own)... That records simple, identity-less data in stacks (e.g. votes for blue: 18, votes for red: 20)... And then outputs that data in CSV style in chat or via instant message, ready to be copy-pasted into Excel. Like I say the easy bit is getting data OUT from whatever system you use, and getting it into Excel (tutorial #2). Excel is super-capable. If it's possible for you to more clearly identify your needs (and the method you'd prefer), I'll look to finding suitable tutorials. 1
VonNixon Posted May 23, 2016 Author Posted May 23, 2016 Ok. So if I understand you correctly. I create an object to rez in world, that has a script for a IIHTPPRequest, so that when someone clicks on it, it would send them to say a google forms survey that they could fill out. This project might take longer than I thought. lol
Freya Mokusei Posted May 23, 2016 Posted May 23, 2016 VonNixon wrote: Ok. So if I understand you correctly. I create an object to rez in world, that has a script for a IIHTPPRequest, so that when someone clicks on it, it would send them to say a google forms survey that they could fill out. Hm, no, although that is also possible. I didn't describe that method because you stated "survey that they could take in-world". llHTTPRequests send information to webpages as form data using a HTTP method. Something like... http://youtube.com/watch?v=123 Sends the variable 'v' with result '123' to the webpage 'watch', hosted at youtube.com. This matches the method POST in the link above. A HTTP request model looks like this (although in my description, step 4 would store the data in a database and transmit very little to the client.) This is the exact same path that a web browser goes through to show you a webpage. Reconstructing that process yourself would allow you to send survey results from an in-world data collection mechanism (multiple choice would use llDialog, open questions might use listen or llTextBox) and send that data across to a webpage - and then to a database for storage.
Freya Mokusei Posted May 23, 2016 Posted May 23, 2016 Running short on time now, so I'll just say that maybe the Wanted forum would be a better place to ask for something like this. The LSL Scripting forum is typically the place to go if you're looking to write your own code. If you're not familiar with HTTP or LSL then maybe finding a pre-made solution where you can just enter the questions and receive the results would be more suitable. I imagine engines such as this exist, like you've already mentioned it's possible to use Google Docs for this application (though i can't speak for its confidentiality, I'd expect it to be low, because it's Google). 1
VonNixon Posted May 24, 2016 Author Posted May 24, 2016 Thanks for your help. Your suggestion is probably a good one. I am clearly out of my element. haha
Freya Mokusei Posted May 24, 2016 Posted May 24, 2016 No problem. I've tried to include as many links as possible but... it sounds like - to get something like this going - you'll have to pick up quite a bit of new information. That might be prohibitive, if all you want to do is ask a few questions. Anyway, if you do make a request in the Wanted forum (or elsewhere, there are many professional scripters in-world), you may want to borrow the wording of the most suitable method from those that I listed. It may help narrow down your seach, and will give any prospective scripter an idea needs to be done by using relatable keywords. I'll include it again, and include the option for Google Docs. Method One: Web storage (best for large datasets, many questions or complex, multi-dimensional surveys) A scripted in-world object (probably a rezzed object, on land which you own)... that sends llHTTPRequests (linked previously)... to a webpage hosted on a webserver you control and trust... which sends form-input data to a database... which would then be exported to Excel. Method Two: Live storage (only for small datasets, simple or single questions) A scripted in-world object (definitely a rezzed object, on land which you own)... That records simple, identity-less data in stacks (e.g. votes for blue: 18, votes for red: 20)... And then outputs that data in CSV style in chat or via instant message, ready to be copy-pasted into Excel. Method Three: Online Redirect (as suggested by you) A scripted object (either given to inventory or rezzed on land which you own)... that sends clickable URLs to users... directing them to a Google Docs page set-up to take questionnaire information. Good luck! 1
Recommended Posts
Please take a moment to consider if this thread is worth bumping.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now