Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Capturing Quiz results to SQL Database

Community Beginner ,
Jan 10, 2008 Jan 10, 2008
We are building our own custom solution around Captivate. We would like to be able to capture the quiz scores generated by Captivate. Where are the results being sent? What do we need to do in order to have the results sent? I tried filling in the PENS section with our test URL but no data came in. Any ideas?
TOPICS
Quizzing and LMS
6.5K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , Jan 23, 2008 Jan 23, 2008
OK guys! Here is my (very easy) solution:

All I wanted to do is get the quiz results submitted to my ASP.net page (.aspx) using the POST method.

I generated a quiz and in the settings specified that the results should be sent via email. I then edited the resulting .htm file with the following changes made to the sendMail() function:

Instead of:
document.emailForm.action = 'mailto:' + gstrEmailTo + '?subject=' + gstrEmailSubject;

Change it to:
document.emailForm.action = ' http://YourURL/YourPage.aspx';...
Translate
Advocate ,
Jan 10, 2008 Jan 10, 2008
Hi YossiC and welcome to the forums!

Captivate only supports reporting through standard interfaces like SCORM, AICC, a couple of proprietary ones, and a crude e-mail offering. Take a look at the options in the Quiz preferences and you'll see what's available are.

For my money, your best bets for creating your own interfaces are the e-mail and AICC reporting options.

The e-mail option is Javascript-based so it's easy to patch into if you've got some experience at such things. This would be my preferred method of making Captivate work with a foreign system.

AICC is publicly documented and has a fairly limited feature set, making it appear to the easiest "standard" to try to work with. But there may be some procedural gotchas that would make me leery of trying to work with it.

For more info on AICC, I suggest you go to the AICC website.

For the basic approach to use for intercepting the Javascript-based e-mail functionality in Captivate, take a look at the first three pages of the following Adobe Developer Center article:

http://www.adobe.com/devnet/captivate/articles/store_cpresults.html
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 11, 2008 Jan 11, 2008
I'll take any interface. What about that PENS section. I filled in the target URL with a test ASP.net site that we built for testing Captivate's reporting. In the PENS section I specified GET as the data submittal method and expected to see my test site being hit. But it didn't. Do I have to publish the Captivate site in order for it to submit test results?

As far as the email thing goes, I am not too happy about having to depend on using the end user's email client program. I'd much rather get the data in the form of a POST to my custom page. From then on, I can take the dat and stick it in my own database.

So that is my question. What do I have to do in order to tell Captivate to send the results to a particular URL?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 11, 2008 Jan 11, 2008
Hi YossiC and welcome to our community

PENS works in conjunction with a Learning Management System (LMS). Basically, it's used to notify a LMS administrator if the Captivate content that has already been uploaded to the LMS has changed. Think about it this way. With a LMS, Captivate content is stored inside the LMS. Before that happens, it is placed in a location by the Captivate author. The LMS Administrator then navigates to where the Captivate content is stored and pulls it inside.

But what happens if the Captivate content is later updated by the Captivate author? With PENS configured, a message is sent to the LMS Admin that alerts them to go fetch the updated content and ensure it's inside the LMS.

Cheers... Rick
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jan 13, 2008 Jan 13, 2008
Hi. I also need to capture Captivate test scores for a customer who does not have an LMS. I have started the tutorial that you recommend. It looks very straightforward. Unfortunately, I can't get past the point where I am supposed to see the pop-up window when I browse my HTML file. The test results display, I push the button to Send Email, and nothing happens.

I note that the tutorial is written for Captivate 2 and I am in 3. The settings are just slightly different between the two versions. Perhaps I have a setting wrong.

Is there any advice you can give?

Thank you,
Paula
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 12, 2008 Jan 12, 2008
OK, so back to my question. I am a developer. All I need to know is how Captivate submits the results. I will write an interface to capture the data.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 13, 2008 Jan 13, 2008
Examine the parent HTML file that is published by a SCORM-compliant CP
lesson. All data is sent to an LMS via javascript SCORM calls defined in
that HTML file (essentially, a CP variable is populated with a value,
then a JS function is called to pass that data from the SWF to the HTML
to the LMS). So if you know JS, you can likely decipher those functions
and send the data to an ASP/PHP page instead of to an LMS API. In
another sense, you pretty much recreate an LMS API yourself for the
predefined JS functions to work with.
Erik

YossiC wrote:
> OK, so back to my question. I am a developer. All I need to know is how Captivate submits the results. I will write an interface to capture the data.

--
Erik Lord
http://www.capemedia.net
Adobe Community Expert - Authorware
http://www.adobe.com/communities/experts/
------------------------------------------------------------------------
http://www.awaretips.net - samples, tips, products, faqs, and links!
*Search the A'ware newsgroup archives*
http://groups.google.com/group/macromedia.authorware
*The Blankenship Caveat: Note that direct linking to http content
through any Authorware icon will likely fail if a proxy server is present!*
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 14, 2008 Jan 14, 2008
I followed your suggestion and then some more. I published five diffrent quizzes, each with a different reporting format. I did this in order to find the one that is the simplest in reporting back the test scores. I decided to actually run the one that is supposed to send an email. I made no changes to its script files. To my suprise, I did not see any email being sent!!!

What gives?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 14, 2008 Jan 14, 2008
I'm working on the same issue and I'm also not getting any email. Am I missing something as well? By the way the tutorial is very well done. Any chance on getting for created for php/mysql?
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 15, 2008 Jan 15, 2008
I'm not sure how I did it, but now the email feature works. I think that what made the difference was to publish the site to my IIS and running it off the IIS server and not my C: drive.

Now on to the next step, and that is to change the javaScript code so sthastthe test results are sent to a URL rather than via email.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 30, 2009 Jun 30, 2009

I just developed a course with reporting done by email. The Email option would not work when I tested locally. When I uploaded to SharePoint, the email functionality worked perfectly. The user was prompted with two alerts to confirm the email send. We opted for sending the data as an attachment, which I then imported into Excel for manual tracking. Worked like a charm. We're using IE 6, SP3.

HTH,

Kymm

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Jan 15, 2008 Jan 15, 2008
The actual e-mail submission functionality is very problematic. It relies on old browser functionality that is not well supported in today's security-conscious environments, so you'll find many posts here saying that it doesn't work reliably.

The point of this thread is that the code that triggers the e-mail submission functionality (regardless of whether the functionality itself actually works) is typically the easiest/best place to "hack in" and create your own data capture interface from Captivate to a custom system of your own design.

I'm not aware of any custom database solution that uses PHP/MySQL. I've only seen one that uses ASP and MSAccess. A reference to that can be found here:

http://iconlogic.blogs.com/weblog/2007/03/adobe_captivate_3.html
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jan 16, 2008 Jan 16, 2008
Actually - I would recommend using the solution I put together. Of course,
I didn't write a Developers Center Article (though I should have) - so you
have to read through the JS on your own.

Feel free to download it from:
http://www.learningconsulting.com/Content/Macromedia/Captivate/Captivate_GenericTracking.zip

It's probably based on Captivate 1 - but nothing really would have changed.

Regards,

Andrew

Andrew AT LearningConsulting DOT com


Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jan 17, 2008 Jan 17, 2008
I have discovered another possibility that may work for some as far as passing variables in and out of Captivate to a database but it requires some knowledge of Flash. The ExternalInterface.call command in Flash can allow you to send and receive information from the javascript sandbox of the HTML page. If you can send the data up from within Captivate (such as through a javascript command sequence within Captivate) to a variable on the page, you can write a small Flash animation using the ExternalInterface.call command to pull the data from the javascript variable and write it out with sendAndLoad to a PHP script or the like.
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 23, 2008 Jan 23, 2008
OK guys! Here is my (very easy) solution:

All I wanted to do is get the quiz results submitted to my ASP.net page (.aspx) using the POST method.

I generated a quiz and in the settings specified that the results should be sent via email. I then edited the resulting .htm file with the following changes made to the sendMail() function:

Instead of:
document.emailForm.action = 'mailto:' + gstrEmailTo + '?subject=' + gstrEmailSubject;

Change it to:
document.emailForm.action = ' http://YourURL/YourPage.aspx';

Right after that line, insert the following:
document.emailForm.method='post';

Get rid of the 'enctype' attribute in the <form> element. That is, instead of:
<form name="emailForm" action = "" method="POST" enctype="text/plain">

you want:
<form name="emailForm" action = "" method="POST">


It's that simple.

Enjoy!
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 15, 2015 Nov 15, 2015
LATEST

Not sure if you are still searching for the answer, but with some help and many testing, I did find a way to get rid of the popup.

The PopUp is displayed because Captivate does not know any details from the student, however it does needs these to post the results.

Captivate stores these values in the variables cpQuizInfoStudentID (for email) and cpQuizInfoStudentName (for name) and you can pass these via the URL that you use to start the course:

Instead of using the <a href = 'course.htm'> link, you can use <a href = 'course.htm?cpQuizInfoStudentID=[email]&cpQuizInfoStudentName-[name]'>, this did completely remove the popup and does post the results straight after the last answer.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Help resources