Add advanced action to submit button and setting different objectives score for the same course

Hi, i would like to increase a counter in a quiz slide when the user press the submit button, using advanced actions.
It's like if the submit button is somehow inhibited from certain options, and i cannot find how to add an advanced action to it.
what i need, is to allow unlimited attempt until the user selects the right answer. each time the user click on submit, a counter increases by one. When user finally select the right answer, we read the counter value and assign a different score, depending on the attempt (for example: 1st attempt=20 points, 2nd attempt=10 points, 3rd attempt=0 points)
After that, i need to save all score obtained for a certain group of quiz slide separately from the "main score" (i think the main score is stored in cmi.objectives.0.score)  to have partials scores for a course. I examined the "advanced interactions" panel and i noticed that for each quiz slide there is a specific interaction ID and each quiz slide is associated typically to the same Objective ID. What i need is to associate different groups of slides to different Objective ID's.
In Storyline i was able to do this by passing to the lms a cmi.objectives.n.score (where "n" is the place in the objectives array) and i did it by executing a javascript on success for each question slide. (each javascript added the score of previous slides in the same group to obtain the total score of the group to be passed to lms with a specific function).
examining captivate scorm functions in the published scormdriver.js i found the following function
function SCORM_SetObjectiveScore(strObjectiveID,intScore,intMaxScore,intMinScore)
so i think it can be done the same way in captivate executing javascript in the right way.
Is there also an easier solution to write different scores to different obectives in the same course?
many thanks for any help!

Have a look at:
Question Question Slides in Captivate - Captivate blog
Question Question Slides - Part 2 - Captivate blog
Indeed, Submit button is part of the Question slide, not a normal button. You can add a custom shape button, but it will never replace what happens when the Submit button is clicked: validation of the answer, showing captions, adding to score etc. Making the score depending on the attempt is not possible with default functionality, it is possible with custom question slides, but then the reporting to LMS is another issue. You should try to do it by JS, or if you only need SWF-output you could use the Master widget by InfoSemantics.
Link score to attempts in Custom questions - Captivate blog
Lilybiri

Similar Messages

  • HT1390 Why do I get a different movie price for the same movie on my iPad and iPhone. And 1 device says I can rent it but the other doesn't ,.?

    Why do I get a different movie price for the same movie on my iPad and iPhone. And 1 device says I can rent it but the other doesn't ,.?

    Adding Open DNS codes to your Network Preferences, should give good results in terms of speed-up as well as added security, (including anti-phishing and redirects) (Full information about Open DNS is here: http://www.opendns.com/home/nobloat ) and further independent information can be read here:
    http://reviews.cnet.com/8301-13727_7-57338784-263/free-dnscrypt-tool-enhances-ma c-web-security/?tag=mncol;txt
    and here:
    http://www.macworld.com/article/1146064/troubleshootdns.html?t=234
    Open System Preferences/Network. Double click on your connection type, or select it in the drop-down menu, and in the box marked 'DNS Servers' add the following two numbers:
    208.67.222.222
    208.67.220.220
    (You can also enter them if you click on Advanced and then DNS)
    Sometimes reversing the order of the DNS numbers can be beneficial in cases where there is a long delay before web pages start to load, and then suddenly load at normal speed:
    http://support.apple.com/kb/TS2296

  • My account asks me to change my password every week for no reason and i have different security questions for the same account

    My account asks me to change my password every week for no reason and i have different security questions for the same account

    Does the iPod connect to other networks?
    Does the iPod see the network?
    Any error messages?
    Do other devices now connect?
    Did the iPod connect before?
    Try the following to rule out a software problem:                 
    - Reset the iOS device. Nothing will be lost
    Reset iOS device: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Power off and then back on the router
    - Reset network settings: Settings>General>Reset>Reset Network Settings
    - iOS: Troubleshooting Wi-Fi networks and connections
    - Wi-Fi: Unable to connect to an 802.11n Wi-Fi network
    - iOS: Recommended settings for Wi-Fi routers and access points
    - Try changing the security on the router. Start with no securty as a test.
    - Restore from backup. See:
    iOS: How to back up
    - Restore to factory settings/new iOS device.
    If still problem make an appointment at the Genius Bar of an Apple store since it appears you have a hardware problem.
    Apple Retail Store - Genius Bar

  • HT201359 Why have I been extra charged for an app and have been billed twice for the same app?

    Why have I been extra charged for an app and have been billed twice for the same app?

    We are are fellow users here on these forums, you're not talking to iTunes Support here, we won't know why.
    I don't know what you mean by 'extra charged' (have you made in-app purchases within the app, or are you in the US and need to add on your state's sales tax to the listed price ?), or have you added or changed your credit card details on your iTunes account ? If you have then each time that you do so a small temporary store holding charge may be applied to check that the card details are correct and valid and that it's registered to exactly the same name and address as on your iTunes account - it should disappear off your account within a few days or so.
    Store holding charge : http://support.apple.com/kb/HT3702
    If you've been double-charged then try the 'report a problem' page to contact iTunes Support : http://reportaproblem.apple.com .
    If the 'report a problem' link doesn't work then you can try contacting iTunes support via this page : http://www.apple.com/support/itunes/contact/- click on Contact iTunes Store Support on the right-hand side of the page, then Purchases, Billing & Redemption

  • TS1424 I purchased songs from an EP then bought the album once it was released and have been charged twice for the same song when I already own it. How do I get refunded?

    I purchased songs from an EP then bought the album once it was released and have been charged twice for the same song when I already own it. How do I get refunded?

    Contact iTunes Customer Service
    Apple  Support  iTunes Store  Contact Us

  • Process 4010 and 5010 X12 834 documents for the same ISA identifiers in Biztalk 2010.

    Hi,  
    I am facing an issue, where I have to process 4010 and 5010 X12 834 documents for the same ISA identifiers in Biztalk 2010. Do you have any solution on this?
    Thanks,
    Imran  

    Hi Sean
    I am working on a project where we are processing inbound X12 834 5010 and X12 834 4010 documents using BizTalk 2010. 
    We have setup the parties, which send either 4010 or 5010 documents. Now, few of the parties have started sending both types of documents (4010
    and 5010) and the document has same identifiers.
    I am facing an issue in configuring party to receive both 834 4010 and 5010 transactions using same identifier. How do I setup the party in such case?
    Thanks Imran

  • How to set up 2 agreements for the same From,To,DocType,Version in B2B11g

    Hi
    I am having an issue in configuring more than one agreement for the same DocType, Version, From and To partner in Oracle B2B11g.
    When I click "Valid" button on the second agreement it errors out saying duplicate agreement is found for the same DocType, Version, From and TO partners.
    Is there any mechanism to over ride this?
    We need to have multiple agreements created for the same To Partner, From Partner, Doc Type and Version. Otherwise we will end up creating multiple partners which is a real pain.
    Multiple agreements are required because we have to set up different Interchange and Group IDs for each transaction.
    -Sriharish.
    Edited by: 840696 on Mar 1, 2011 7:30 AM

    You can not have two agreements for same From TP,To TP,DocType & DocType revision combination in B2B 11g.
    Multiple agreements are required because we have to set up different Interchange and Group IDs for each transactionIs this requirement for outbound or inbound? You may send Internal Properties from back-end to override envelope parameters in Oracle B2B in case of outbound -
    B2B 11G Outbound EDI Envelope Override
    http://www.b2bgurus.com/2008/09/internal-properties-in-oracle-b2b.html (this blog is for 10g, so read concept only, not settings)
    In case of Inbound, TP identification can be done on the basis of exchange, interchage, group. So if any of this can be same then you may have single agreement. Make sure to enable property "Functional Ack Internal Properties" on B2B console (Administration --> Configuration)-
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10229/bb_config.htm#CEGEADFJ
    Regards,
    Anuj

  • How to set Different applications running on the same computer to use different Gateways?

    Dear All,
    I would like to have different applications running on the same computer to use different Gateways (both gateways are in the same subnet).
    Is it possible in Windows7 with / without a third-party utility?
    Current scenario & requirements:
    I have two internet connections. Both are in the same subnet (192.168.1.0/24) and connected to the same LAN switch
    Gateway for the first connection is 192.168.1.1
    Gateway for the second connection is 192.168.1.2
    I need to set my chrome browser & google talk to use the gateway 192.168.1.1
    I need to set my IE & skype to use the gateway 192.168.1.2
    Is it possible? Answers are appreciated!!
    Regards,
    Anees

    Hi,
    I agree with Bill. Gateway is essentially an IP address for one network to other networks. For example, you have two networks: network A and network B, to make the two networks communicate with each other, you must go through Gateway. That is, as long
    as you set Gateway, then you can make the two networks communicate with each other. The ip address for Gateway is the ip of device with routing enabled. One host machine can own multiple gateways. 
    Andy Altmann
    TechNet Community Support

  • Oracle Coherence*Web and BlazeDS: Multiple FlexSessions created for the same HttpSession

    Hi all,
    I have searched this forum and found a lot of good information from Alex Glosband and others about the infamous "Detected duplicate HTTP - based FlexSessions, generally due to the remote host disabling session cookies. Session coolkies must be enable to manage the client connection correctly." message.
    It seems, however, none of the cases are identical to ours. This is ours:
    - Resin 3.1.9
    - Oracle Coherence 3.7.1 with Coherence*Web (session replication)
    With this setup we get the "Detected duplicate HTTP..." message on the first attempt to use BlazeDS and on every subsequent call.  The same client and server code works fine in a local sessions setup.  With Coherence 3.3 (currently our production environment) it seems to occur less frequently, but still as frequent as it is a major issue for us.  It fails even with a single node using in-process distributed caching in our test setup (as well as with multi node out of process caching in our staging environment, for Coherence knowledgeable the resin app server runs with tangosol.coherence.session.localstorage=true in the first case and false in the second).
    Both the listener and message broker are mapped as "Coherence aware" in web.xml[1] so that they should use clustered sessions.
    We have been digging a bit and we found out that if we commented out lines 427 and 434 of flex.messaging.endpoints.BaseHTTPEndpoint from version 4.0.0.14931 it seems to mask the bug.  We added some logging in the setupFlexClient method and it seems that we get more or less a new FlexSession for each and every call - but they have the same cookie and thus underlying HttpSession. I.e. the list returned from flexClient.getFlexSessions() keeps growing. Thus we are not so keen on going to production with that memory leak and the above mentioned ugly hack of commenting out the detection of duplicates.
    We use request scope for the remote object, but could in theory use any scope as we do not really have any state on the object itself, it is all HttpSession state and return values that are key (logon is performed prior to doing the first blaze call, in pure forms and ajax, and it is not a timing issue in that regard we are seeing).
    Hope someone can shed some light on what can be happening. Is there any "reference testing"[2] or something when the FlexSessions are created that makes them being created as new? Where are they created?  We do not know the inner workings of the BlazeDS source, we just watched the call trace of the unwanted invalidation and found that to be line 427 of flex.messaging.endpoints.BaseHTTPEndpoint.
    Can we disable FlexSessions?  Since the flex and plain html parts of the app share the sessions, we always use FlexContext.getHttpRequest().getSession() anyway, never storing any state directly in the FlexSession or on the remote object. Or maybe there is a config option to help us with this detection (or creation) of multiple FlexSessions?
    Cheers and TIA,
    -S-
    [1] - For instance, this i the message broker servlet def:
    <servlet>
    <servlet-name>MessageBrokerServlet</servlet-name>
      <display-name>MessageBrokerServlet</display-name>
    <servlet-class>com.tangosol.coherence.servlet.api22.ServletWrapper</servlet-class>       
    <init-param>
    <param-name>coherence-servlet-class</param-name>
    <param-value>flex.messaging.MessageBrokerServlet</param-value>
    </init-param>       
    <init-param>
    <param-name>services.configuration.file</param-name>
    <param-value>/WEB-INF/flex/services-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    [2] - As you undertstand this is speculation based on pure air, but it could be that in Coherence there was a serialization/deserialization happening somehow that would break such a test?

    Just a quick update, it seems things are running in a stable fashion (and without visible memory leaks, just keeping the latest FlexSession) with these changes in BaseHTTPEndpoint:
         * Overrides to guard against duplicate HTTP-based sessions for the same FlexClient which will occur if the remote host has disabled session
         * cookies.
         * @see AbstractEndpoint#setupFlexClient(String)
        @Override
        public FlexClient setupFlexClient(String id) {
            log.debug("setupFlexClient start id " + id);
            FlexClient flexClient = super.setupFlexClient(id);
            // Scan for duplicate HTTP-sessions and if found, invalidate them and throw a MessageException.
            // A request attribute is used to deal with batched AMF messages that arrive in a single request by trigger multiple passes through this
            // method.
            boolean duplicateSessionDetected = (FlexContext.getHttpRequest().getAttribute(REQUEST_ATTR_DUPLICATE_SESSION_FLAG) != null);
            if (!duplicateSessionDetected) {
                List<FlexSession> sessions = flexClient.getFlexSessions();
                log.debug("Client has " + sessions.size() + " sessions.");
                int n = sessions.size();
                if (n > 1) {
                    int count = 0;
                    for (int i = 0; i < n; i++) {
                        if (sessions.get(i) instanceof HttpFlexSession)
                            count++;
                        if (count > 1) {
                            FlexContext.getHttpRequest().setAttribute(REQUEST_ATTR_DUPLICATE_SESSION_FLAG, Boolean.TRUE);
                            duplicateSessionDetected = true;
                            break;
            // If more than one was found, remote host isn't using session cookies. Kill all duplicate sessions and return an error.
            // Simplest to just re-scan the list given that it will be very short, but use an iterator for concurrent modification.
            int i = 0;
            if (duplicateSessionDetected) {
                List<FlexSession> sessions = flexClient.getFlexSessions();
                log.debug("Detected sessions from client: " + sessions);
                for (FlexSession session : sessions) {
                    if (session instanceof HttpFlexSession && i < sessions.size()) {
    //                    log.debug("----> sessionId: " + session.getId());
    //                    Enumeration e1 = session.getAttributeNames();
    //                    while (e1.hasMoreElements()) {
    //                        Object key = e1.nextElement();
    //                        log.debug("--------->" + key + "--------->" + session.getAttribute((String) key));
    //                    session.invalidate();
                        flexClient.sessionDestroyed(session);
                    i++;
                // Return an error to the client.
    //            DuplicateSessionException e = new DuplicateSessionException();
    //            e.setMessage(ERR_MSG_DUPLICATE_SESSIONS_DETECTED);
    //            throw e;
            return flexClient;
    It is not exactly beautiful (to say the least), but if it does the trick I might just be pragmatic enough to go with it... NB: I am of course not proposing this as a patch to this file or anything, it is just an ugly hack for our specific case, but maybe the information can help the BlazeDS team find the root cause making it incompatible with Coherence*Web.
    Will give it a test run on our staging servers.

  • While filling up the set uptables ran twice for the same sales order number

    Hi all,
    I ran the set up tables for a sales order number in the morning and then ran again in the evening by mistake so when i see in the rsa3 i can see 2 sales order number.
    If i load the same in the sales order header and item ods, will there be any duplicates from ecc to bi?
    Thanks
    Pooja

    Hello,
    If you load your ODS in overwrite mode, there should not be any problem.
    Regards,
    Fred

  • SCD - source sets where multiple changes exist for the same natural key

    I am using the Oracle SCD type2 method (end date old record and insert the new record) which was working fine until my source set contained multiple changes for the same natural key. Does anyone know of a way to handle this?
    Thanks

    Hello,
    I think, the way of handling multiply changes of NK is totally depend on business requirements for your project.
    There could be number of approaches for this. For example:
    - all changes but the last are considered active during one day, going subsequently right after previously existed SCD record;
    - all changes but the last are considered “active” depending on its occurrence within “fact” data (as far as you consider NK change based on some attribute set - probably some of attributes show themselves within “fact” data)
    - etc.
    So, make an agreement upon this with your customer – and ETL design decision will follow immediately.
    Sergey

  • How can i disable a submit button and execute submit_action method on click

    Good Day,
    On my page I have a submit button that execute the submit_action method of the page backing bean that submit data captured on the page into a database and activate another class that send mail at the same time on a click of the submit button,the mail process takes a while before returning back to the page.I was able to disable the submit button to prevent the user from keep click while the process is running but the issue is on clicking the submit button it only disable the submit button without executing the submit_action method of the page backing bean.How can i disable the submit button and execute submit_method of the backing bean at the same time.
    Thanks in advance.

    I tried this out on one of my pages to see if it works.
    First, I added the following JavaScript to my submit button's onClick event:
    this.disabled=true; return true;When I clicked the submit button, it was disabled but the form was not submitted.
    I deleted the JavaScript from the onClick event and added the following JavaScript to the form's onSubmit event:
    var button = document.getElementById("form1:submitButton"); button.disabled=true; return true;When I click the submit button, it was disabled and the form was submitted but the button's action method was not called.
    The next thing I tried was to change the onSubmit event code:
    var button = document.getElementById("form1:submitButton"); setTimeout("button.disabled=true", 500); return true;This seemed to work. The difference was that I added a 1/2 second delay before disabling the button.
    See if that works for you. If not then I'm fresh out of ideas.

  • Difference between Submit Button and Button

    Hi,
    Please help me understanding the difference bewteen the following cases.
    1) Submit Button + ActionType : None
    2) Submit Button + Action Type :fire partial action
    3) Submit Button + Action Type : Fire Action
    4) Button + Action Type : fireAction
    5) Button + Action Type : firePartialAction
    My Understanding is 1st and 4th Both submits the form.
    Also, please let me know, is it a valid scenario where we use the SubmitButton and still gives ActionType. What difference it makes when action type is given with submit button.
    I understand that when we use 4th then it submits the form and whereas in case of 5th it doesnt.
    Thanks in advance
    Saurabh Agrawal

    Hi,
    Thanks for your replies.
    Actually i wanted to understand this in context of the issue we are facing.
    We have a text field and a button besides it. We have a TAB OUT even associated with the text field which is captured using firePartialAction event. Also, the button is a SUBMIT BUTTON with a partialFireAction associated with it.
    1) When you give % in textfield and tab out a popups come and load the data in a table - WORKS FINE
    2) When you dont enter anything in textfiled and clicks on the button, same popups comes and loads data into the table. - WORKS FINE
    3) When you give % in Text Field and clicks on the BUTTON, from JDEV, we verified that TAB OUT event gets triggered.Once that event is over, we can see the HOUR GLASS which doesnt go away. --- ISSUE
    Resolution Tested : When i just remove ACTIONTYPE from button and do NAVIGATION - 3, issue is resolved.
    Also, if i make that button as BUTTON and give FIRE ACTION, issue is resolved.
    Now the main concern is the same combination SUBMIT BUTTON and ACTIONTYPE: firePartialAction works fine in 11i and causes issue in R12.
    Please let me know your comments.
    Thanks in advance
    Saurabh Agrawal

  • SUBMIT button and VALUE clause

    I have a jsp screen like below.It shows in a tabular form all the employee data.
    EMPLOYEE DETAILS
    EmpId_______ProcessEmpSalary_____ProcessEmpLeave
    1
    2
    3
    4
    5
    6
    7
    8
    NEXT______PREV____LAST____FIRST
    Under ProcessEmpSalary ,ProcessEmpLeave of each employee I have a submit button and clicking on it the particular employee id has to be processed (for salary or leave).Now I want the employee id to be passed when the submit button of that particular employee is pressed.
    So what I am doing is I put the emp id in the value clause and achieve my purpose.But this results in the display of the emp id over each submit button.It looks ugly and so
    I dont want to use the VALUE clause of the SUBMIT button.........
    So friends please tell me how to achieve it.Someone suggested me to use IMAGE but it doesn't work.Some suggested I use hidden varaible ,but I just don;t understand how is that possible.Some suggested me use javascript to pass the value and throw the form...this make sense but problem is I don't have time to learn javascript now.So please help with some code example how to achieve this result.

    Here is my jsp as it is .Employee id was used for example.In my application it is Submission_Id
    which is used as the key.
    Note:
    The method is given below after the end of this JSP code.
    SubmissionList.jsp
    <%@ page contentType="text/html;charset=WINDOWS-1252"%>
    <%@page import = "oracle.portal.provider.v1.*, oracle.portal.provider.v1.http.*, oracle.portal.utils.v1.*, java.sql.*, ccrspackage.*" %>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=WINDOWS-1252">
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <TITLE>
    </TITLE>
    </HEAD>
    <BODY BGCOLOR = #FFCC00 FONT SIZE = "+2" >
    <FORM ACTION = 'SubmissionList.jsp' method='post'>
    <%
    //retrieve the existing session
    HttpSession Session= request.getSession(true);
    CCRS OCCRS = null;
    Connect OConnect = null;
    try
    if (request.getMethod().equals("POST"))
    if ( request.getParameter("Exit") != null)
    response.sendRedirect("Default.jsp");
    else
    OCCRS = (CCRS)Session.getValue("OCCRS");
    if (request.getParameter("Search") != null)
    OCCRS.InitialSettingForSubmissionList();
    else
    OCCRS.CreatePageOfSubmissionList(request);
    else
    OConnect = (Connect)Session.getValue("OConnect");
    OCCRS = new CCRS(OConnect);
    OCCRS.InitialSettingForSubmissionList();
    Session.putValue("OCCRS",OCCRS);
    catch (Exception e)
    OCCRS.ProcessError(e);
    //MESSAGE (IF ANY)
    out.println("<TABLE ALIGN=CENTER>");
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = RED>");
    out.println("<B>");
    out.println(OCCRS.GetDisplayMessage());
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("</TABLE>");
    if (OCCRS.GetShowRecord() == false)
    String TempValue = "";
    String TempSelected = "";
    String TempText = "";
    out.println("<TABLE ALIGN=CENTER>");
    //Show all the drop down list
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = BLACK>");
    out.println("<B>");
    out.println("Fiscal Year");
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<SELECT name = 'Fiscal_Year' >");
    while (OCCRS.NextItrScrFiscal_Year())
    TempValue = OCCRS.GetItrScrFiscal_Year();
    TempSelected = OCCRS.GetItrSelectedScrFiscal_Year();
    out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempValue + "</OPTION>");
    out.println("</SELECT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = BLACK>");
    out.println("<B>");
    out.println("Fiscal Period");
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<SELECT name = 'Fiscal_Period' >");
    while (OCCRS.NextItrScrFiscal_Period())
    TempValue = OCCRS.GetItrScrFiscal_Period();
    TempSelected = OCCRS.GetItrSelectedScrFiscal_Period();
    out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempValue + "</OPTION>");
    out.println("</SELECT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = BLACK>");
    out.println("<B>");
    out.println("Province");
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<SELECT name = 'Province_Code' >");
    while (OCCRS.NextItrScrProvince_Code())
    TempValue = OCCRS.GetItrScrProvince_Code();
    TempSelected = OCCRS.GetItrSelectedScrProvince_Code();
    TempText = OCCRS.GetItrScrProvince_Desc();
    out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + "</OPTION>");
    out.println("</SELECT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = BLACK>");
    out.println("<B>");
    out.println("Facility");
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<SELECT name = 'Facility_Code' >");
    while (OCCRS.NextItrScrFacility_Code())
    TempValue = OCCRS.GetItrScrFacility_Code();
    TempSelected = OCCRS.GetItrSelectedScrFacility_Code();
    TempText = OCCRS.GetItrScrFacility_Name();
    out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + " " + TempValue + "</OPTION>");
    out.println("</SELECT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR>");
    out.println("<TD>");
    out.println("<FONT COLOR = BLACK>");
    out.println("<B>");
    out.println("Status Code");
    out.println("</B>");
    out.println("</FONT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<SELECT name = 'Status_Code' >");
    while (OCCRS.NextItrScrStatus_Code())
    TempValue = OCCRS.GetItrScrStatus_Code();
    TempSelected = OCCRS.GetItrSelectedScrStatus_Code();
    TempText = OCCRS.GetItrScrStatusDesc();
    out.println("<OPTION value = '" + TempValue + "' " + TempSelected + " >" + TempText + "</OPTION>");
    out.println("</SELECT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("</TABLE>");
    // SHOW 2 SUBMIT BUTTONS ,"Next" and "Close"
    out.println("<TABLE ALIGN = 'CENTER'>");
    out.println("<TR>");
    out.println("<TD ALIGN=CENTER>");
    out.println("<INPUT TYPE = 'SUBMIT' NAME = 'ShowRecord' value ='ShowRecord'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'Exit' value ='Exit'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("</TABLE>");
    else
    out.println("<TABLE ALIGN=CENTER>");
    //THE COLUMN NAME IS SHOWN
    for(int Row = 0;Row <= OCCRS.GetFilledRow();Row++)
    if (Row == 0)
    out.println("<TR BGCOLOR = 'Black' >");
    else
    out.println("<TR BGCOLOR = 'Teal' >");
    for(int Col = 0;Col <= OCCRS.GetFilledCol();Col++)
    out.println("<TD>");
    out.println("<B>");
    out.println("<FONT COLOR = WHITE >");
    out.println(OCCRS.ReturnNewPageElement(Row,Col));
    out.println("</FONT>");
    out.println("</B>");
    out.println("</TD>");
    out.println("</TR >");
    out.println("</TABLE>");
    out.println("<TABLE ALIGN = 'CENTER'>");
    out.println("<TR>");
    if (OCCRS.GetMoreRecExist())
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'Next' value ='Next'>");
    out.println("</INPUT>");
    out.println("</TD>");
    if (OCCRS.GetPageNumber() > 0)
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'Prev' value ='Prev'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'First' value ='First'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'Search' value ='Search'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("<TD>");
    out.println("<INPUT TYPE = 'Submit' NAME = 'Exit' value = 'Exit'>");
    out.println("</INPUT>");
    out.println("</TD>");
    out.println("</TR>");
    out.println("</TABLE>");
    %>
    </FORM>
    </BODY>
    </HTML>
    Here is my method in CCRS class
    This method create a multidimensional array of fixed row
    and column .This array is populated with all the data that has to
    be displayed ,and also satisfies the condition specified by the user.
    This array is subsequently used in the JSP (which calls this method)
    and displays all the row.
    public void CreatePageOfSubmissionList(HttpServletRequest request) throws Exception
    ResultSet ResSet;
    ShowRecord = true;
    DisplayMessage = "";
    if (request.getParameter("ShowRecord") != null )
    ScrProvince_Code = request.getParameter("Province_Code").trim();
    ScrFacility_Code = request.getParameter("Facility_Code").trim();
    ScrFiscal_Year = request.getParameter("Fiscal_Year").trim();
    ScrFiscal_Period = request.getParameter("Fiscal_Period").trim();
    ScrStatus_Code = request.getParameter("Status_Code").trim();
    LastSubmission_Id = 999999999;
    MathematicalSign = "<";
    else
    if (request.getParameter("Release") != null )
    ScrSubmission_Id = request.getParameter("Release").trim();
    Submission_Id = ScrSubmission_Id;
    ReleaseSubmission();
              LastSubmission_Id     =     FirstSubmission_Id;
    MathematicalSign = "<=";
    else
    if (request.getParameter("Process") != null )
    ScrSubmission_Id = request.getParameter("Process").trim();
    Submission_Id = ScrSubmission_Id;
    ProcessSubmission();
              LastSubmission_Id     =     FirstSubmission_Id;
    MathematicalSign = "<=";
    else
    if (request.getParameter("Remove") != null )
    ScrSubmission_Id = request.getParameter("Remove").trim();
    Submission_Id = ScrSubmission_Id;
    RemoveSubmission();
              LastSubmission_Id     =     FirstSubmission_Id;
    MathematicalSign = "<=";
    else
    if (request.getParameter("Prev") != null )
    PageNumber = PageNumber - 1;
    Long Temp = (Long) VecPrevSubmission_Id.elementAt(PageNumber);
    LastSubmission_Id = Temp.longValue();
    MathematicalSign = "<=";
    else
    if (request.getParameter("First") != null )
    Long Temp = (Long) VecPrevSubmission_Id.elementAt(0);
    LastSubmission_Id = Temp.longValue();
    PageNumber = 0;
    MathematicalSign = "<=";
    else
    if (request.getParameter("Next") != null )
    PageNumber = PageNumber + 1;
         VecPrevSubmission_Id.addElement(new Long(FirstSubmission_Id));
    MathematicalSign = "<";
    //initialize the page array
    for(int Row = 0;Row <= MaxPageRow;Row++)
    for(int Col = 0; Col <= MaxPageCol;Col++)
    NewPage[Row][Col] = "";
    Submission_Id = LastSubmission_Id + "";
    Province_Code = ScrProvince_Code;
    Facility_Code = ScrFacility_Code;
    Fiscal_Year = ScrFiscal_Year;
    Fiscal_Period = ScrFiscal_Period;
    Status_Code = ScrStatus_Code;
    BuildQueryForSubmissionList();
    ResSet = Stmt.executeQuery (Query);
    ResSetMetaData = ResSet.getMetaData();
    //remember NumOfFields is O is java variable which starts with 0 and not 1,
    //that is the reason I am subtracting 1 from oracle returned value.
    int NumOfFields = ResSetMetaData.getColumnCount() - 1;
    FilledCol = -1;
    for(int Col = 0; Col <= NumOfFields;Col++)
    //1 is added because JDBC subscripts starts with 1 and not 0
    NewPage[0][Col] = ReturnChangedColumnName(Col + 1,ResSetMetaData);
    FilledCol = FilledCol + 1;
    FilledCol = FilledCol + 1;
    NewPage[0][FilledCol] = "Remove";
    FilledCol = FilledCol + 1;
    NewPage[0][FilledCol] = "Process";
    FilledCol = FilledCol + 1;
    NewPage[0][FilledCol] = "Release";
    FilledCol = FilledCol + 1;
    NewPage[0][FilledCol] = "Preview";
    //Note at this point row number 0 of the array is having the field names
    //Remaining rows (i.e 1,2...etc) will now be populated with field data
    FilledRow = 0;
    MoreRecExist = false;
    while(ResSet.next())
    if (FilledRow == MaxPageRow)
    MoreRecExist = true;
    break;
    FilledRow = FilledRow + 1;
         if     (FilledRow     ==     1)
              FirstSubmission_Id     =     Long.parseLong(ReturnColumnData(1,ResSet));
    FilledCol = -1;
    for(int Col= 0; Col <= NumOfFields;Col++)
    //1 is added because JDBC subscripts starts with 1 and not 0
    NewPage[FilledRow][Col] = ReturnColumnData(Col + 1,ResSet);
    FilledCol = FilledCol + 1;
    LastSubmission_Id = Long.parseLong(ReturnColumnData(1,ResSet));
    Status_Code = ResSet.getString("Status_Code");
    if (Status_Code == null)
    Status_Code = "";
    else
    Status_Code = Status_Code.toUpperCase().trim();
    FilledCol = FilledCol + 1;
    //IF SUBMISSION HAS ONLY BEEN REGISTERED THEN SHOW A REMOVE BUTTON
    if (Status_Code.equals("R"))
    NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' NAME = 'Remove' value ='" + LastSubmission_Id + "'></INPUT>";
    FilledCol = FilledCol + 1;
    //SHOW THE PROCESS BUTTON IF SUBMISSION HAS BEEN BEEN REGISTERED
    if (Status_Code.equals("R"))
    NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' Name = 'Process' value ='" + LastSubmission_Id + "'></INPUT>";
    FilledCol = FilledCol + 1;
    //SHOW THE RELEASE BUTTON IF THE SUBMISSION HAS BEEN BEEN PROCESSED
    if (Status_Code.equals("P"))
    NewPage[FilledRow][FilledCol] = "<INPUT TYPE = 'Submit' NAME = 'Release' value ='" + LastSubmission_Id + "'></INPUT>";
    FilledCol = FilledCol + 1;
    //SHOW THE PREVIEW BUTTON IF THE SUBMISSION HAS BEEN PROCESSED
    if (Status_Code.equals("P") ||
    Status_Code.equals("C") )
    NewPage[FilledRow][FilledCol] =
    "<img src=\"pdf.gif\" border=\"0\" onClick=\" javascript:window.open('" + StringUtil.replaceString(Preview_URL,"%Submission_Id%",new Long(LastSubmission_Id).toString()) + "', 'SubmissionReport','location=no,menubar=no,toolbar=no,scrollbars=yes,left=' + window.screen.availWidth*1.2/8 + ',top='+window.screen.availHeight*1.2/14 + ',width=' + window.screen.availWidth*3/4 + ',height=' + window.screen.availHeight*6/7 + '')\" style=\"cursor:hand\" >";
    // "<img src=\"/appl/development/ccrs/images/pdf.gif\" border=\"0\" onClick=\" javascript:window.open('" + StringUtil.replaceString(Preview_URL,"%Submission_Id%",new Long(LastSubmission_Id).toString()) + "', 'SubmissionReport','location=no,menubar=no,toolbar=no,scrollbars=yes,left=' + window.screen.availWidth*1.2/8 + ',top='+window.screen.availHeight*1.2/14 + ',width=' + window.screen.availWidth*3/4 + ',height=' + window.screen.availHeight*6/7 + '')\" style=\"cursor:hand\" >";

  • Applying Standard Advanced Action to a Button Type

    Hi. Does anyone happen to know if it's possible to apply a Standard Advanced Action to a Button Type that will be used on multiple slides. My project has Home, Back and Next Buttons that I've used on most slides. I've created a Standard Advanced Action for these buttons, but haven't figured out how to apply the advanced action without going through each slide and selecting it from the very long list of Advanced Actions I have for the project. If anyone knows of an easier way to do this it would be very helpful for me. Thanks.
    Kim

    Kim,
    Which version do you use? In Captivate 6 this is possible if you use Shape buttons: you can put them on the Main master slide (or on individual master slides), or time for the rest of the project. Blogged about them:
    http://lilybiri.posterous.com/why-i-like-shape-buttons-captivate-6
    If you are on a previous version, I'm sorry but a normal button cannot be displayed for the rest of the project, nor put on a master slide. However there is a static button widget that has not as many functionalities, navigation however is possible, advanced actions not. Maybe that widget can help you, it is static which means that you can display it for the rest of the project (be sure to check the option 'Always on top') or even use it on a master slide.
    Depending on the exact content of your standard actions, maybe the action can be used without editing on each slide. Then it is just copy+paste work with regular buttons.
    Lilybiri

Maybe you are looking for