Reference material JavaScript for Captivate

For the last day, I searched for the reference material on the use of Javascript in Captivate. I really can't find much. There is nothing in the product help and these forums are fairly dry.

The only thing I've found is http://captivatedev.com/series/captivate-javascript-series/, a really good introduction to using Javascript in Captivate. I wish there was more.

Basically, I want to know what functions are available and what I call (that is, objects, they do part, perhaps with code samples).

Anyone know where I can find this for Captivate?

Check this out for Cp5 Variables:

http://pipwerks.com/2010/08/23/complete-list-of-variables-for-Adobe-Captivate-5/

And this in different ways on how to use JS in Captivate:

http://pipwerks.com/tag/Adobe-Captivate/

Philip has done a great job with its CaptivateController... worth the good!

http://pipwerks.com/2010/08/23/captivatecontroller-updated-to-support-Adobe-Captivate-5/

HTH (hope that helps),

Jim Leichliter

Tags: Adobe Captivate

Similar Questions

  • Captivate 6 does not support JavaScript / / for comments on one line?

    In this message, http://captivatedev.com/2012/07/01/adobe-captivate-6-the-javascript-api/

    I read that does not support JavaScript in Captivate 6 / / comment out a single line ("you ' / / 'comment markers in your JavaScript?") The JS Captivate Panel cannot treat those and will jumble your JS code")

    I just tried this and it seems to be true.  Comment a line with / * at the beginning and * / at the end semes to be OK but / / in front of the line is not. What is the experience that meet other people?  Anyone know if this will be fixed soon?

    Hello

    Please send a bug request to [email protected] so that it is at the age of weight to prioritize issues of difficulty.

    Thank you

    Vish

  • JavaScript in Captivate 9 project does not run

    I tried for hours to get little JavaScript inside an Adobe Captivate 9 (published in SWF and HTML5), deployed to a web server public project, to run. For help troubleshooting, I wrapped in various stages of the script with console.log ("status"); and even those who are not running.

    A demonstration project file is located here: https://dl.dropboxusercontent.com/u/6787201/Test%20Interaction%20Data%20HTML5/Test-Interac tion - Data .cptx

    If you look at the JavaScript window, you will notice there is a function call to sendInteractionData();

    This is a custom function to trigger the data in various Captivate variables in a Google spreadsheet, I wrote. It is contained in the index.html page I change after publication. I tested this feature and it works when the values are explicitly defined and sendInteractionData() is called from a static web site... but when it is embedded in the code JavaScript of Captivate, no luck.

    If you are interested, here is the code I have insert to support the sendInteractionData() function:

    Configuration section

    Paste the URL of the WEB service (obtained after you run the command POST > DEPLOY AS WEB APP) in the variable below!

    var WebServiceURL = "mywebserviceurl";

    Do not edit below this line, unless you intend to change the inner workings of the script

    Declaring variables

    var FirstName;

    var name;

    var Email;

    var attribute;

    Function to send data to interaction in the Google spreadsheet. This function must be called by the Captivate player after setting the variables above.

    function sendInteractionData() {}

    Get and set the relevant data from the Captivate player

    FirstName = window.cpAPIInterface.getVariableValue('cpFirstName');

    LastName = window.cpAPIInterface.getVariableValue('cpLastName');

    Email = window.cpAPIInterface.getVariableValue ('cpEmail');

    Attribute = window.cpAPIInterface.getVariableValue ('cpAttribute');

    Send the data to the Google map via AJAX call

    request = $.ajax({)

    URL: WebServiceURL,

    type: 'post',

    data: "FirstName =" + FirstName + "& LastName =" + LastName + "& Email = ' + Email + ' & attribute ="+ attribute.

    });

    Reminder Manager who will be called to success

    Request.Done (function (response, textStatus, jqXHR) {}

    Save a message to the console

    Console.log ("wrote interaction data sheet: FirstName =" + FirstName + "& LastName =" + LastName + "& Email =" + Email + "& attribute =" + attribute + "/ / Message: success!");

    });

    Reminder Manager who will be called if an error occurs

    Request.Fail (function (jqXHR, textStatus, errorThrown) {}

    Logs the error in the console

    Console.Error)

    "Interaction data could not be saved: FirstName =" + FirstName + "& LastName =" + LastName + "& Email = ' + Email + ' & attribute = ' + attribute + ' / / The following error occurred: ' +"

    textStatus, errorThrown

    );

    });

    }

    PS - declaration of a Google spreadsheet should really be standard features now...

    Thanks for your help.

    You really use the listener attached to the window module ready event to ensure that the API is present.

    var interfaceObj, eventEmitterObj;

    window.addEventListener ("moduleReadyEvent", function (e)
    {
    interfaceObj = e.Data;
    eventEmitterObj = interfaceObj.getEventEmitter ();
    initializeEventListeners();
    });

    function initializeEventListeners()

    {

    If (interfaceObj)

    {

    If (eventEmitterObj)

    {

    window.cpAPIEventEmitter.addEventListener ("CPAPI_VARIABLEVALUECHANGED", function)

    {

    sendInteractionData(); }, 'cpAttribute '.

    );

    }

    }

    }

  • Go to slide revisited for Captivate 5

    I found two forums on the topic, but I can't code proposed to work for me. Re: jumping into a new project [for heading 4] offers a solution that was revisited in Re: Got code works in Captivate 5. The solution offered for Captivate 5 has:

    if ( window.location.href.indexOf('?slide=') != -1 ) { 
      var slideNumber = window.location.href.substring(window.location.href.indexOf('?slide=' )+7);
      var cp = document.getElementById('Captivate');
      cp.cpEISetValue('cpCmndGotoSlide',slideNumber-1);
      cp.cpEISetValue('rdcmndResume',1);
    }

    I couldn't get it work. I even tried a simplified version:

      var slideNumber = 4;
      var cp = document.getElementById('Captivate');
      cp.cpEISetValue('cpCmndGotoSlide',slideNumber-1);
      cp.cpEISetValue('rdcmndResume',1);

    He did nothing (and Yes, I was running the .htm and .swf from a server, not only using the preview). Finally, according to http://captivatedev.com/series/captivate-javascript-series/, I tried

    var slideNumber = 4;
    var objCP = document.Captivate;
    objCP.cpEISetValue('rdCmndGotoFrame',slideNumber);
    objCP.cpEISetValue('rdcmndResume',1);

    This code caused the player access to a slide internal (probably slide 4), but the reader doesn't display a dimmed page and did not play.

    I'm at one end of my rope. Here's what I'm actually trying to do:

    I have a few short tutorials, already created, they work fine. I want to create a new tutorial that provides a context and then launches the tutorials previously created on an arbitrary slide. A nice to have would be for the small tutorial understanding that it was launched by another video swf (rather than by a direct link) and then exit to the tutorial of aggregation.

    Any ideas how to get every function/feature to work?

    Take a look at this tutorial and see if it helps:

    http://captivatedev.com/2011/05/01/how-to-jump-to-a-specific-slide-in-a-separate-course/

    Jim Leichliter

  • How to block the javascript for custom websites?

    Sometimes, I need to not allow javascript for certain sites only. I can do this at the opera. Is this possible in FireFox?

    For example, I don't like the JavaScript on google.com when I'm looking for images because the images (thumbnails) increase in size on the mouse on. Can I disable javascript for google.com only?

    It is not an integrated way to do this, but you can add this functionality by using the YesScript add-on.

  • How to choose a material suitable for my application

    How to choose a material suitable for my application. I expect a generic response that will suit all scenarios. Normal 0 false false false MicrosoftInternetExplorer4

    After a few details about your request.

    What types of signals you want to acquire?  How many?  How often, once a day, once per second, thousands per second, millions per second?  Do you need to output analog or digital inputs or outputs?

    You need a conditioning of special as for thermocouple signals, gauges of constraint, accelerometers, amplification of the tensions, the reduction of tensions, current loops?

  • Problem in javascript for OS 6 API extension

    I wrote an application for smartphone using Webworks with javascript extension. I created a JavaScript library using barcode API of OS 6.0. Ideally WebWorks support OS 5.0 and above so that any javascript extension written using OS6.0 API should work. I followed the direction:

    http://docs.BlackBerry.com/en/developers/subcategories/?usertype=21&category=BlackBerry+WebWorks+for...

    I created a library for barcode scanner added this library in my webworks app and try to compile. It gives me error all the APIs I took the OS 6.0. as

    ********************************************************************************

    DemoProject BUILDING

    cmd.exe /c bbwp D:\abc\projects\webworks\workspace\DemoProject\build\DemoProject.zip/o D:\Manish_Ranjan\projects\webworks\workspace\DemoProject\build

    [INFO]                  Parsing of the command line options

    [INFO]                  Bbwp.properties analysis

    [INFO]                  Validation of archive application

    [INFO]                  The analysis of config.xml

    [INFO]                  The application of filling source

    [INFO]                  Compilation of application BlackBerry WebWorks

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:8: package net.rim.device.api.barcodelib does not exist

    Import net.rim.device.api.barcodelib.BarcodeDecoder;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:9: package net.rim.device.api.barcodelib does not exist

    Import net.rim.device.api.barcodelib.BarcodeDecoderListener;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:10: package net.rim.device.api.barcodelib does not exist

    Import net.rim.device.api.barcodelib.BarcodeScanner;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:18: package com.google.zxing does not exist

    import com.google.zxing.BarcodeFormat;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:19: package com.google.zxing does not exist

    import com.google.zxing.DecodeHintType;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:59: cannot find symbol

    symbol: BarcodeScanner class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    private BarcodeScanner _scanner;

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:70: cannot find symbol

    symbol: variable BarcodeFormat

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    formats.addElement (BarcodeFormat.QR_CODE);

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:72: cannot find symbol

    symbol: variable DecodeHintType

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    hints.put (DecodeHintType.POSSIBLE_FORMATS, formats);

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:75: cannot find symbol

    symbol: BarcodeDecoder, class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    Decoder BarcodeDecoder = new BarcodeDecoder (hints);

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:75: cannot find symbol

    symbol: BarcodeDecoder, class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    Decoder BarcodeDecoder = new BarcodeDecoder (hints);

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:80: cannot find symbol

    symbol: BarcodeDecoderListener, class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    BarcodeDecoderListener decoderListener = new BarcodeDecoderListener() {}

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:80: cannot find symbol

    symbol: BarcodeDecoderListener, class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    BarcodeDecoderListener decoderListener = new BarcodeDecoderListener() {}

    ^

    C:\Users\abc\AppData\Local\Temp\widgetGen.1978923101309259162010.tmp\extension\barcode\BarcodeFunction.Java:92: cannot find symbol

    symbol: BarcodeScanner class

    Location: class bar code. BarcodeFunction.ViewFinderScreen

    _scanner = new BarcodeScanner (decoder, decoderListener);

    In my extension javascript library.xml file I defined the platform tag.

    Although if I write any extension of javascript for the API available in OS 5.0 that works very well. Is there something more I need to follow for OS 6.0 API-specific javascript extension?

    Thank you

    Manish

    The question that you are running is the WebWorks SDK provided with the library net_rim_api.jar for BB5.  This means that the BB6 API are not in this library link to.

    We are looking to add a new net_rim_api.jar to the SDK so that people can take advantage of the API of BB6.  However, do not know if you are using a BB6 API your app does not work on BB5.  When the application starts, it will get a link error because the API expected is not present.

    You can make your extension work on BB6 by downloading the Java SDK and copy the net_rim_api.jar file and place it in your SDK WebWorks... I believe in the SDK WebWorks is in your directory "lib".

  • Cannot save for Captivate trial

    Hello

    I tried to register for Captivate trial, but get the message attached and not able to connect to the program.

    I appreciate if someone can help me please where I am wrong?

    Thank you very much

    Claudine

    The following error message:

    {'success': true}

    "data": {"faas_unique_submission_id": "{0FA1A4B4-FE9A-5A81-4B58-115CEACC7B48}", "faas_form_6 8_hash": "e56643b5e40cf1fe72ab6d50656ccb4d", "faas_form_68_status": 'complete', 's_iid': '7011 4000002JZ1WAAW', 'destination': "\/loginpost?accountId=dummy & userId = dummy & workflowId = 1 & main subdo = 6811f98612bf411da723eb39234e4d61 & code = eyJ4NXUiOiJpbXNfbmExLWtleS0xLmNlciIsImFsZyI6IlJ TMjU2In0.eyJmZyI6IlFVRUhDRDYzQU1BQUFBQUFBQUFBQUFFTEFBPT09PT09IiwiYXMiOiJpbXMtbmExIiwidXNlc l9pZCI6IkY1QzU5MzYyNTc5QjNENTA3RjAwMDEwMUBBZG9iZUlEIiwic2NvcGUiOiJBZG9iZUlELG9wZW5pZCIsImN yZWF0ZWRfYXQiOiIxNDY5NzkxNzQ4NjM2IiwiaWQiOiIxNDY5NzkxNzQ4NjM2LWEwMDMxNDIzLWQxMWItNGQ1Yi04M jU1LWJjODAwNTRlZGY0YyIsInN0YXRlIjoiIiwidHlwZSI6ImF1dGhvcml6YXRpb25fY29kZSIsImV4cGlyZXNfaW4} iOiIxODAwMDAwIiwiY2xpZW50X2lkIjoiQ2FwdGl2YXRlMSJ9.LBsMzgYD - zQ2ykwgF8K97KFXdzpleJsisASEzIyB A6E6M-4GAOF4RZyJi58wEhBLhsoCo9zzXcmRmOWR6v1zYBItlFPEssFUoljIMREWkTVuXDZ07dqnUmzr-ngMdqZIHg z0AfmBKqzWGCe0uGYTUYhx1Pu6UbJ_-DX7dJ1o1-ZspcBxtrmxR0Bo6ohagzaLmEiSvQE-u6cg8_vnjsJkLt-8xwTf F8XHdnF9aTfFJCBnvYnJ0Bg9joIvGhhkI4saRevyqMyovGHbOlupIEs3F7bTYsqgXOxGz17DceQKUJXAOEPoO96CAe 2y6f51SkrbN-PnQc-DT9bZahkKTyubww & isImsRedirect = Yes & s_qp_request_origin = first"},

    'mistakes': [],.

    "messages": [{"message_text": '107491160 Answer was successfully saved.}] {"= > Sarah","id": null, "created": null, "request_log_id": null}, {"message_text": '107491161 Answer was successfully saved.} {"= > Fisher","id": null, "created": null, "request_log_id": null}, {"message_text": '107491162 Answer was successfully saved.} {' = > [email protected]"," id ": null,"created": null,"request_log_id": null}, {"message_text": '107491163 Answer was successfully saved.} {= > 07930003000 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491164 Answer was successfully saved.} {"= > SF Consulting","id": null, "created": null, "request_log_id": null}, {"message_text": '107491165 Answer was successfully saved.} {= > 1035 ","id": null,"created": null,"request_log_id": null}, {"message_text": 'AnswerCollectionVa read 17638195 was successfully saved.} {= > 1035 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491166 Answer was successfully saved.} {"= >","id": null, "created": null, "request_log_id": null}, {"message_text": '107491167 Answer was successfully saved.} {"= > SW4 7DT","id": null, "created": null, "request_log_id": null}, {"message_text": '107491168 Answer was successfully saved.} {= > 467 ","id": null,"created": null,"request_log_id": null}, {"message_text": ' AnswerCollectionVal EU 17638196 was successfully saved."} {= > 467 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491169 Answer was successfully saved.} {= > 39 ","id": null,"created": null,"request_log_id": null}, {'message_text': 'e AnswerCollectionValu 17638197 has been saved successfully.} {= > 39 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491170 Answer was successfully saved.} {' = > CaptivatePrime "," id ": null,"created": null,"request_log_id": null}, {"message_text": '107491171 Answer was successfully saved.} {' = > 70114000002JZ1WAAW "," id ": null,"created": null,"request_log_id": null}, {'message_text': 'Rep re 107491172 was successfully saved.} {= > 84 ","id": null,"created": null,"request_log_id": null}, {'message_text': 'e AnswerCollectionValu 17638198 has been saved successfully.} {= > 84 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491173 Answer was successfully saved.} {= > 0 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491174 Answer was successfully saved.} {= > 1 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491175 Answer was successfully saved.} {= > 0 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491176 Answer was successfully saved.} {' = > {0FA1A4B4-FE9A-5A81-4B58-115CEACC7B48} "," id ": null,"created": null,"request_log_id": null}, {"message_text": '107491177 Answer was successfully saved.} {"= > Responded","id": null, "created": null, "request_log_id": null}, {"message_text": '107491178 Answer was successfully saved.} {= > 1 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491179 Answer was successfully saved.} {= > 1 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491180 Answer was successfully saved.} {= > 1 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491181 Answer was successfully saved.} {= > 1 ","id": null,"created": null,"request_log_id": null}, {"message_text": '107491182 Answer was successfully saved.} = > V1 [CS] | {"2BCD9E760531213A-400001052001ABA3 [THIS] ',' id ': null,"created": null,"request_log_id": n ull}, {"message_text": ' 107491183 Answer was successfully saved "}. {"= > FAAS","id": null, "created": null, "request_log_id": null}, {"message_text": '107491184 Answer was successfully saved.} {' = > marketing_web_form "," id ": null,"created": null,"request_log_id": null}, {'message_text': 'Rep re 107491185 was successfully saved.} {' = > trial_download "," id ": null,"created": null,"request_log_id": null}, {"message_text": '107491186 Answer was successfully saved.} = > 2016-07-29 04:29:51 "," id": null,"created": null,"request_log_id"{: null}, {"message_text": '107491187 Answer was successfully saved.}" {[{"= > ZP46FDR1","id": null, "created": null, "request_log_id": null}]}

    Could you please try another browser like Google chrome.

  • WebCenter Capture - how to debug javascript for import processor

    Javascript for import processor code is server-side.  Therefore, it does not println in the java console.

    How to debug a process of import or of javascript recognition process?

    Thank you

    you will use the standard recorder instead of the println function. as you say, that only works for running javascript on the client side.

    See doc-id 1946012.1 for a good example.

    hope this helps,

    -ryan

  • Replace Cropbox Acrobat Javascript for automation

    Hello world

    I am access some data inside the bowl of doc PDF Javascript for automation of OSX

    I can get the cropBox... "var cropBoxx = acro.activeDoc.pages.cropBox ();

    But how can I SET the cropbox

    ' acro.activeDoc.pages.cropBox.value ='0, 1224, 192, 612'; '... does not work

    Maybe I'm far from the best way to send data to acrobat

    Can someone guide me

    Thank you

    Okay i ' v got

    At least I can put it on a specific page

    acro.activeDoc.pages[0].cropBox = [0, 1224, 192, 612];

  • What's the use of the second available for Captivate perpetual licenses right?

    What's the use of the second available for Captivate perpetual licenses right?

    If you ask if the software can be installed and enabled on both machines, yes it can.

  • How to find the latest version of material available for a virtual computer

    Hi, I have a problem to upgrade the hardware of the VMS version.

    My $vm = Vim::find_entity_view (view_type = > 'VirtualMachine', filter = > {'name' = > $vm_name});

    $vm-> UpgradeVM();

    Call to the UpgradeVM method I sometimes get an error saying: compatibility of the virtual machine is already up to date

    I can get the latest version of hardware verification $vm - > config-> version, but I don't know whether it is the latest version of material available. How can I find out who is the latest material available for a virtual machine before you upgrade?

    Thanks in advance.

    You can retrieve the list of configurations of operating systems, virtual material, supported, capabilities, etc. using the http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.EnvironmentBrowser.html EnvironmentalBrowser

    For the version of VTM, take a look at the QueryConfigOptionDescriptor() that returns a list of the ESXi hosts and VTM version, he takes in charge. Joint a screenshot using the vSphere MOB

  • How to change the javascript for Indesign cs 5 in a version for cc

    Hello

    I have a javascript for Indesign CS5, but I want to use it in Indesign CC, but it won't work

    What should I do, if I can use the script in Indesign CC?

    Kind regards

    EVI

    Why did you change to 10? It must be 5.

  • Write an equation in JavaScript for a loan agreement

    Hello

    I can't put an equation in the form of JavaScript. I'm trying to calculate how much a loan will cost a fixed interest for a period of time.

    So we have the equation: estimated current value = (1 + InterestRate) ^ LoanTerm

    With the fields in my form, I think that it would look like this: Ttl = AmountFinanced (1 + rate) ^ NumberofPaymentsRow1

    My JavaScript for my form named "Ttl" currently looks like this: AmountFinanced * Math.pow (1 + rate, NumberofPaymentsRow1)

    -Unfortunately, it does not return a value, and I'm out of ideas. I don't know where I'm wrong and any help would be appreciated.

    javahelp.png

    You get the errors arise?

    Have you checked the JavaScript console to find errors?

    The custom JavaScript calculation option requires the complete JavaScript coding and is not a front-end process collection of treatment parameters as the first calculation of two options. You must write the JavaScript complete not one shortened.

    JavaScript is an object oriented language, you will need to connect to a domain object until you can access the value property of the field. You must use the 'doc.getField (cName)' method to acquire the field object.

    You must also specify the target or object where you want to place the result.

    Event.Value = this.getField("AmountFinanced").value * Math.pow (1 + this.getFieldI "spleen '") .value, this.getField("NumberofPaymentsRow1").value);

    Note that JavaScript is case-sensitive for domain names, function names, variable names, etc.

  • DIY LMS for Captivate

    Anyone has the experience to create your own simple LMS for Captivate projects? This should save progress, bookmark and completion. I wonder how easy it would be. I'm assuming that a database MySQL, PHP etc would do the job

    TIA

    Yes, all the tracking options that Captivate offers can be used to 'follow completions '.

    The biggest problem, how YOU (or anyone who cares) check out these completions, maybe? How do you run reports?

    LMS products do that pretty easy (in general). Personalized follow-up can get more complicated and may require you to create a custom reporting tool.

    Captivate Quiz results Analyzer is supposed to be the declaration too for these solutions non - LMS... but it works well for your needs?

Maybe you are looking for