Passing data to a database

For discussing Thinking Worlds topics not covered in the other forums

Passing data to a database

Postby Coffee16 » Wed Nov 25, 2009 5:39 am

Hi

Sorry to ask so many questions suddenly. I have been learning thinking worlds on my own for about 2 months now, experimenting with different logic and I have solved many issues from trial and error. Initially many problems surfaced from lack of using the software and I think I have found acceptable solutions to many of them, however, now I think I am coming up against some things that I will never figure out on my own. So...

We will be using the data from our simulation to collect data on student learning and then run some statistical analysis for research purposes. What I would like to know is what would the easiest way to pass data from the game to a database like MySQL, ultimately so that the data can be output to a .CSV or .TXT format to be used by our statistical package. I am familiar with the front end of Moodle, an LMS that will accept SCORM, but I am thinking that it might not be necessary to use Moodle. We have a our web guy who is familiar with web design and databases and dynamic websites but he is not familiar with SCORM compliance. Is it possible to export variables from the game (about 25-100 or so) from the game that could be read into a database? Would using Moodle and SCORM be easier? For example, how would the variable CurrentScore be passed out of the game to a database?

On the SCORM side of things, what exactly would you write in the Path>Text> [Enter data path here], and the Text value>Text> [Enter text here] slots on the Set SCORM data node? I can guess that the output variable would go in the Numeric variable >Variable > {none} slot but I can't figure out the other slots.

Any advice would be greatly appreciated.

Coffee
Coffee16
 
Posts: 49
Joined: Wed Nov 11, 2009 9:00 am

Re: Passing data to a database

Postby Neville » Wed Nov 25, 2009 8:53 am

Hi Coffee

It is certainly possible to pass data from a Thinking Worlds simulation to the outside world, such as a database. This is achieved using some custom scripting and a script command called 'javascriptinvoke'. Using this you can pass variables to javascript functions in the outter HTML page and then use these via php or similar to write to your database.

Using SCORM to write to an LMS (such as Moodle) is an alternative, and easier in that it be achieved without having to write script for Thinking Worlds and javascript, SQL etc. The SCORM nodes are an integral part of Thinking Worlds, and SCORM is a well established route to capturing learner data.

As you have seen the 'Set SCORM data' node requires two inputs. The 'path' requires a valid SCORM element, for example cmi.core.score.raw, or cmi.core.lesson_status. If you are sending numeric data then you reference a Thinking Worlds variable. If you are sending text data then you enter the text explicitly. The screen shot below illustrates this. I set two Thinking Worlds variables for miminum and maximum scores. I then use the 'Initialise SCORM' node to start the SCORM session. I then set the lesson status as 'incomplete' and the minimum and maximum values using the 'Set SCORM data' node.

SCORM2.jpg
SCORM2.jpg (83.49 KiB) Viewed 1529 times


Have a think about which data transfer method you would like to use. If you want to go down the scripting route then it would probably be beneficial to arrange a small training webinar to get you started.

Neville
Neville
 
Posts: 196
Joined: Tue Aug 11, 2009 3:19 pm

Re: Passing data to a database

Postby Coffee16 » Wed Nov 25, 2009 6:02 pm

Hi Neville

Thank you for that introduction to passing variables to the LMS. I think the built in Set SCORM Data is the easiest way to go. I tested out a 3D Sim package in Moodle with your instructions on how to pass in variables and it worked and it all seemed so simple. However, when I tried to pass in more variables, it all stopped working. :( I hope you can help me out with some SCORM basics. I found a Run Time Reference chart (Valid SCORM elements) at: http://www.scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/ and I saw the standard cmi function calls. You used cmi.core.lesson_status, and cmi.core.score.max, and cmi.core.score.min and I was also able to pass these data to the LMS successfully. However, I tried to pass more variables using cmi.objectives.n.score.raw function but with no success. I am planning on having quite a few variables to track and I assume that it is possible, but I can't figure it out. I tried replacing the "n" in the function with a number to increment them like: cmi.objectives.1.score.raw, cmi.objectives.2.score.raw, cmi.objectives.3.score.raw ... but that didn't work. How would I pass in say variables called score01, score02, score03, ... score_n? I am terribly sorry to bother you with these SCORM questions. Any advice would be greatly appreciated.

Coffee
Coffee16
 
Posts: 49
Joined: Wed Nov 11, 2009 9:00 am

Re: Passing data to a database

Postby Neville » Thu Nov 26, 2009 8:42 am

Hi Coffee

We have also had technical challenges to overcome writing what seemd valid SCORM data to Moodle, and reading the Moodle forums we are not alone. In fact we are currently working on a project to send data using cmi.interactions.n.learner_responses to Moodle, and this is causing us to scratch heads.

I recommend joining the Moodle forums (if you have not already done so) as these are rich and hold a wide range of information and a good user community. I would also recommend edutechwiki (http://edutechwiki.unige.ch/en/SCORM_1.2) as a great jumping off point.

Neville
Neville
 
Posts: 196
Joined: Tue Aug 11, 2009 3:19 pm

Re: Passing data to a database

Postby Coffee16 » Thu Nov 26, 2009 10:28 am

Neville

Yes, I will certainly check out the Moodle and SCORM boards. Thank you for your help this far. :D
Actually, there is another problem that I noticed recently, which is not related to Thinking Worlds but more with Moodle, is that there doesn't seem to be a user-friendly way to get Tracking data out of Moodle into a CSV or other practical file format. I hope we can both make progress in these areas in the up coming months.

Cheers,
Coffee
Coffee16
 
Posts: 49
Joined: Wed Nov 11, 2009 9:00 am

Re: Passing data to a database

Postby Coffee16 » Thu Nov 26, 2009 4:12 pm

Just an additional comment to my previous post.
Moodle does seem to be behind the curve in the area of exporting SCORM tracking data like cmi.interactions._children into a CSV format. Even if you get Thinking Worlds to SetValues (write data) to Moodle, it might be quite frustrating trying to do anything meaningful with the data other than just look at it from within the interface. I hope I am wrong on this, but Moodle currently doesn't have an export function for SCORM-package-tracking-data as one of its standard modules. The up side is that there are many other LMSs out there, some free and some not, that do see the need to incorporate this type of functionality as a core feature. One that my research team and I are looking into is the Dokeos LMS. I don't know how it is going to pan out but they seem to have proper reporting features, again, something that Moodle is lacking. I have been using Moodle and Blackboard for many years now and have been happy with the functionality, but ever since I started attempting to collect data through SCORM modules, I have been running up against some major limitations. Again I hope I am wrong on several of these issues but from what I can see at the moment, you should be wary of Moodle's data export functionality. Anyway, I look forward to figuring out how to write variables in a SCORM compliant way to an LMS that can report and export those variables properly. Please let me know when you have more information about exporting cmi.interactions out of Thinking Worlds.

Cheers,
Coffee
Coffee16
 
Posts: 49
Joined: Wed Nov 11, 2009 9:00 am


Return to General Thinking Worlds Discussion

Who is online

Users browsing this forum: No registered users and 1 guest