123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: AGS
- (C) Copyright IBM Corp. 2005, 2015
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/AGS.xml,messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" includeConfig="true" requiredCapability="canUseEventStudio">
- <!--
- ===============================================================================================
- formlogic_init - standard form logic initialization
- ===============================================================================================
- -->
- <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt"/>
- <!--
- ===============================================================================================
- appendAgentDefinitionBlob - Append the AgentDefinition blob here so we can create the tasks.
- ===============================================================================================
- -->
- <xts:block id="decode_agent_definition" dependency="formlogic_init" processor="XSLT" type="exec" condition=".[/root/env/param[@name = 'agent_definition_blob'] and /root/env/param[@name = 'agent_definition_blob']!='']" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/controller-templates.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append select="/root">
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap_settemplatename_decodeagentdefinition_settemplateid_dialogadapter001', string( /root/env/param[@name = 'agent_definition_blob'])), true() )" disable-output-escaping="yes"/>
- </xts:append>
- <!-- get rid of the blob for the time being -->
- <xts:delete select="/root/env/param[@name = 'agent_definition_blob']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ===============================================================================================
- getContent - get delivery option query results, page definitions and selected languages
- ===============================================================================================
- -->
- <xts:block id="getContent" dependency="decode_agent_definition formlogic_init" processor="XSLT" type="exec" condition=".[/root/agent_definition]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" exclude-result-prefixes="xsl cml send dt xtsext pf cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
-
- <pf:serialize-xml/>
- <pf:variables/>
-
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="checkUIHelpers">
- <xsl:choose>
- <xsl:when test="/root/agent_definition/*[local-name()='agentOptions']/*[local-name()='UIHelpers']">true</xsl:when>
- <xsl:otherwise>false</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- get the delivery options-->
- <xts:append>
- <deliveryOptionsQueries>
- <xts:transform src="transforms/portal/options/generateCMQueriesForDeliveryInfo.xslt" processor="XSLT">
- <root>
- <!-- only query CM for delivery options when UIHelpers is empty-->
- <checkUIHelpers><xsl:value-of select="$checkUIHelpers"/></checkUIHelpers>
- <queryReply><xsl:copy-of select="/root/agent_definition/*[local-name()='agentOptions']"/></queryReply>
- <xsl:copy-of select="/root/agent_definition/*[local-name()='agentOptions']/*[local-name()='UIHelpers']"/>
- </root>
- </xts:transform>
- </deliveryOptionsQueries>
- </xts:append>
- </xts:sequence>
-
- <!-- get the page definitions-->
- <xts:sequence>
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm" requester="AGS:processAgentOptions">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <!-- Page definitions -->
- <cm:query>
- <cm:search>/configuration/pageDefinition</cm:search>
- <cm:properties>
- <cm:property name="displaySequence"/>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- </cm:properties>
- <cm:sortBy>
- <cm:sort name="displaySequence" order="descending"/>
- </cm:sortBy>
- </cm:query>
- <!-- need to get all the archiveLocations -->
- <cm:query>
- <cm:search>/configuration/archiveLocation</cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="defaultName"/>
- </cm:properties>
- <cm:sortBy>
- <cm:sort name="defaultName" order="ascending"/>
- </cm:sortBy>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- <!-- if we have a language blob, then unpack it -->
- <!--xsl:if test="key('env-param','selected_languages')">
- <xts:sequence>
- <xts:append>
- <xsl:value-of select="xtsext:xmldecode( string( /root/env/param[@name = 'selected_languages'] ) )" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:if-->
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- ===============================================================================================
- updateDefaultAgentOptions - build the agentOptions structure using the params present in /env/param. Should only get executed
- when we've returned from the 'agent default options' dialog and the user has hit the OK button
- ===============================================================================================
- -->
- <xts:block id="updateDefaultAgentOptions" dependency="getContent" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[@name = 'run_options_visited'] = 'true' and /root/env/param[@name = 'userHitOK']]" mandatory="false">
- <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="x" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/" xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xts xtsext xsl x cm dt pf cf cp">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- remove the old agentOptions-->
- <xts:delete select="/root/agent_definition/agentOptions/*[local-name()='options' or local-name()='UIHelpers' or local-name()='parameters']"/>
- <!-- remove the old form vars-->
- <xts:delete select="/root/agent_definition/agentOptions/form-vars"/>
- <!-- remove any options from the env that aren't suppose to be there (i.e. dependent on checkboxes that aren't checked -->
- <xts:replace select="/root/env">
- <xts:transform src="transforms/portal/options/cleanEnv.xslt" processor="XSLT">
- <root>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- </xts:replace>
- <!-- if the override default report options checkbox isn't checked, then delete all the m_ro_ from the env -->
- <xsl:if test="not(key('env-param','override_default_options')='true')">
- <xts:delete select="/root/env/param[starts-with(@name,'m_ro_')]"/>
- </xsl:if>
- <xsl:if test="not(key('env-param','override_default_content_task_options')='true')">
- <xts:delete select="/root/env/param[starts-with(@name,'ctro_runoption')]"/>
- </xsl:if>
- <!-- place the updated agent options in the agent definition-->
- <xts:append select="/root/agent_definition/agentOptions">
- <form-vars>
- <!-- save ui variables-->
- <xsl:copy-of select="key('env-param','override_default_options')"/>
- <xsl:copy-of select="key('env-param','override_default_content_task_options')"/>
- <xsl:copy-of select="key('env-param','override_default_deployment_options')"/>
- <xsl:copy-of select="key('env-param','override_default_index_update_task_options')"/>
- <xsl:copy-of select="key('env-param','report_options_collapsed')"/>
- <xsl:copy-of select="key('env-param','content_task_options_collapsed')"/>
- <xsl:copy-of select="key('env-param','index_update_task_options_collapsed')"/>
- <xsl:copy-of select="key('env-param','deployment_options_collapsed')"/>
-
- </form-vars>
- <xts:transform src="transforms/portal/options/buildOptions.xslt" processor="XSLT">
- <root>
- <xts:transform src="transforms/portal/options/buildOptionItems.xslt" processor="XSLT">
- <root>
- <xts:queryNode select="/root/env"/>
- <xts:transform name="XML" src="portal/options.xml"/>
- <contentLocale>
- <xsl:value-of select="$contentLocale"/>
- </contentLocale>
- <xsl:if test="key('env-param','deliveryOptions') != ''">
- <deliveryOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','deliveryOptions') )),true())" disable-output-escaping="yes"/>
- </deliveryOptions>
- </xsl:if>
- <xsl:if test="key('env-param','mobileOptions') != ''">
- <mobileOptions>
- <xsl:value-of select="xtsext:web64decode( xtsext:cafaction('sign_unwrap', string( key('env-param','mobileOptions') )),true())" disable-output-escaping="yes"/>
- </mobileOptions>
- </xsl:if>
- <optionType>runOptions</optionType>
- <xsl:if test="key('env-param','override_default_content_task_options')='true'">
- <optionType>contentTaskOptions</optionType>
- </xsl:if>
- <xsl:if test="key('env-param','override_default_deployment_task_options')='true'">
- <optionType>deploymentOptions</optionType>
- </xsl:if>
- <xsl:if test="key('env-param','override_default_index_update_task_options')='true'">
- <optionType>indexOptions</optionType>
- </xsl:if>
- <optionType>pdfOptions</optionType>
- <optionType>archiveOptions</optionType>
- <genDefaults>false</genDefaults>
- </root>
- </xts:transform>
- </root>
- </xts:transform>
- <!-- update the UIHelper markup-->
- <xsl:if test="key('env-param','override_default_options')='true'">
- <dt:buildUIHelper/>
- </xsl:if>
- </xts:append>
- <!-- remove the options from the environment now that the agentOptions has been created -->
- <xts:replace select="/root/env">
- <xts:transform src="ags/transforms/delete_run_options.xslt" processor="XSLT">
- <!-- do not remove any report options-->
- <root>
- <exclude>reportOptions</exclude>
- <xsl:copy-of select="/root/env"/>
- </root>
- </xts:transform>
- </xts:replace>
- <xts:delete select="/root/env/param[@name='run_options_visited']"/>
- <!-- delete the override flags-->
- <xts:delete select="/root/env/param[@name='override_default_options']"/>
- <xts:delete select="/root/env/param[@name='override_default_content_task_options']"/>
- <xts:delete select="/root/env/param[@name='index_update_task_options_collapsed']"/>
- <xts:delete select="/root/env/param[@name='deployment_options_collapsed']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ================================================================================
- encode the agent items again
- ================================================================================
- -->
- <xts:block id="encode_agent_definition" dependency="updateDefaultAgentOptions" processor="XSLT" type="exec">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="pf xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:serialize-xml/>
- <pf:variables/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="markup">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/agent_definition"/>
- </xsl:call-template>
- </xsl:variable>
- <xts:append select="/root/env">
- <param name="agent_definition_blob">
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport, '_settemplatename_encodeagentdefinition_settemplateid_seqagenttasks002'), xtsext:web64encode( string( $markup ), true()))"/>
- </param>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- render-page: Proxy display and redirect to dialogAdapter
- ===============================================================================================
- -->
- <xts:block id="renderPage" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="encode_agent_definition">
- <!-- portal specific information -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <!-- Get the new theme logicsheets. -->
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <!-- apply the form logic -->
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="utml dp pf xtsext">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <!-- add any theme variables -->
- <pf:variables/>
- <xsl:variable name="agent_definition_blob"><xsl:value-of select="xtsext:javascriptencode(string(/root/env/param[@name='agent_definition_blob']))"/></xsl:variable>
- <xsl:template match="/">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text><dp:page>
- <dp:script>
- <script type="text/javascript" src="../ags/layout.js">//</script>
- <script type="text/javascript" src="../ags/cmd.js">//</script>
- <script type="text/javascript">
- function init() {
- var msgFrame = getMessageIFrame();
-
- //fix "Set Default Options for All Tasks..." options do not get saved issue.
- if (msgFrame.document.getElementsByName("agent_definition_blob").length != 0) {
- msgFrame.d2.removeChild(msgFrame.document.getElementsByName("agent_definition_blob")[0]);
- }
-
- if (msgFrame != null) {
- var elmnt = msgFrame.document.getElementById("agent_definition_blob");
- if (elmnt == null) {
- elmnt = createHiddenInput(msgFrame.document, "agent_definition_blob", "");
- msgFrame.d2.appendChild(elmnt);
- }
- elmnt.value = '<xsl:value-of select="$agent_definition_blob"/>';
- }
-
- //determine whether the report option summary should be updated. This will be seen in the report task in the
- //Options:
- var renderDefaultOptions = false;
- if (msgFrame.document.pform.override_default_run_options==undefined || (msgFrame.document.pform.override_default_run_options!==undefined && msgFrame.document.pform.override_default_run_options.value=='false')) {
- renderDefaultOptions = true;
- }
-
- if (renderDefaultOptions) {
- updateReportOptionSummary();
- }
-
- getConfigFrame().hideDialogFrame();
- }
-
- function updateReportOptionSummary() {
- var msgFrame = getMessageIFrame();
- var doc = getFrameDocument(msgFrame);
- var holder = new Object();
- holder['agent_definition_blob'] = '<xsl:value-of select="/root/env/param[@name='agent_definition_blob']"/>';
- holder['m'] = "/ags/summaryBarUpdate.xts";
- holder['forceSOAPFault'] = "false";
- var dispatcher = new parent.cf.XHTTPDispatcher(updateReportOptionSummaryHTML, holder);
- parent.cf.applicationActionManager.httpStart();
- try{
- dispatcher.dispatch();
- }catch(ex){
- parent.cf.applicationActionManager.httpStop();
- }
- }
- function updateReportOptionSummaryHTML(responseArray)
- {
- var responseXML = responseArray[0];
- var responseText = responseArray[1];
- parent.cf.applicationActionManager.httpStop();
- var summaryNode = responseXML.getElementsByTagName("reportOptionSummary");
- var summaryText = parent.getTextNodeValue(summaryNode[0]);
- var parsedResponse = parent.cf.parseResponse(responseXML);
- // decide what we're going to do
- if (parsedResponse.isLogonFault()) {
- parent.cf.doPassportExpire(responseXML.childNodes[1],null,parsedResponse);
- } else if (parsedResponse.isSoapFault()) {
- // we have a fault which is a genuine fault fault
- parent.cf.doSOAPFault(responseXML.childNodes[1],null,parsedResponse);
- } else if (summaryText && summaryText != '') {
- // do the HTML injection - should be interesting
- var messageIFrame = getMessageIFrame();
- var messageIFrame_doc = getFrameDocument(messageIFrame);
-
- var summaryCell = messageIFrame_doc.getElementById("reportOptionSummaryContents");
- if (summaryCell) {
- var textNode = summaryCell.firstChild;
- textNode.nodeValue=summaryText;
- }
- }
- }
- </script>
- </dp:script>
- </dp:page>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- ===============================================================================================
- debug - display debug information
- ===============================================================================================
- -->
- <xts:block id="debug" dependency="renderPage" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|