123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2014, 2016
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- ===============================================================================================
- Compile all the options into the model which is used by UI and keeps all user choices in /root/deploymentOptionsUI.
- [deploymentOptionsUI]
- [deploymentOption name="package"]
- [packageDeploymentInfo]
- [sourceName]
- [cm:multilingualToken xml:lang="en-US"]A[/cm:multilingualToken]
- [cm:multilingualToken xml:lang="fr-FR"]B[/cm:multilingualToken]
- [sourceName]
- [targetName]
- [cm:multilingualToken xml:lang="fr-CA"]C[/cm:multilingualToken]
- [targetName]
- [enabled]false[enabled]
- [x:guid]1234567890[/x:guid]
- for import also:
- [inTargetContent]true[/inTargetContent]
- [modificationTime][/modificationTime]
- for existing import also:
- [inTargetDefinition]true[/inTargetDefinition]
- [/packageDeploymentInfo]
- [/deploymentOption]
- [deploymentOption name="archive"]a15[/deploymentOption]
- [deploymentOption name="archiveOverwrite"]false[/deploymentOption]
- [deploymentOption name="packageSelect"]true[/deploymentOption]
- [deploymentOption name="packageOutputs" enabled="true"]false[/deploymentOption]
- [deploymentOption name="packageDatasetOutputs" enabled="true"]false[/deploymentOption]
- [deploymentOption name="namespaceSelect" enabled="false"]true[/deploymentOption]
- [deploymentOption name="namespaceThirdParty" enabled="true"]true[/deploymentOption]
- [deploymentOption name="namespaceConflictResolution"]keep[/deploymentOption]
- [deploymentOption name="dataSourceSelect" enabled="true"]false[/deploymentOption]
- [deploymentOption name="dataSourceSignonSelect" enabled="true"]false[/deploymentOption]
- [deploymentOption name="dataSourceConflictResolution"]keep[/deploymentOption]
- [deploymentOption name="recipientsSelect" enabled="true"]false[/deploymentOption]
- [deploymentOption name="recipientsConflictResolution"]keep[/deploymentOption]
- [deploymentOption name="takeOwnership"]false[/deploymentOption]
- [/deploymentOptionsUI]
- ===============================================================================================
- -->
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:dpl="http://developer.cognos.com/schemas/xts/logicsheets/deployment/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:set="http://exslt.org/sets"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- exclude-result-prefixes="xsl send bus pf dpl cm xts xtsext">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no" />
- <!-- add any theme variables -->
- <pf:variables />
- <dpl:variables />
- <dpl:getDefaultPackageName />
- <!-- add any theme variables -->
- <xsl:variable name="archiveOptions" select="/root/archiveOptions/cm:getDeploymentOptionsResponse/cm:deploymentOptions" />
- <xsl:variable name="packagesInContent" select="/root/packagesInContent/cm:queryResponse" />
- <xsl:variable name="deploymentObject" select="/root/deploymentObject/cm:queryResponse/*/cm:deploymentOptions" />
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_deploymentOptionsUI')">
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction( 'sign_unwrap', string(/root/env/param[@name = 'm_deploymentOptionsUI'])), true())" disable-output-escaping="yes" />
- </xsl:when>
- <xsl:otherwise>
- <xts:transform src="transforms/portal/deploymentOptions/packages_sort.xslt" processor="XSLT">
- <cm:deploymentOptionsUI>
- <xsl:choose>
- <!-- Import -->
- <xsl:when test="key('env-param','m_class') = 'importDeployment' ">
- <!-- packages in archive -->
- <cm:deploymentOption name="package" class="cm:deploymentOptionPackageInfo">
- <xsl:for-each select="$archiveOptions/cm:deploymentOption[@name='package']/*[local-name() = 'packageDeploymentInfo']">
- <xsl:variable name="sourceName" select="cm:sourceName/cm:multilingualToken" />
- <xsl:variable name="archiveOptionsArchivePath" select="cm:archiveSearchPath" />
- <!--xsl:variable name="ancestor" select="cm:ancestors/cm:ancestorInfo"/ -->
- <cm:packageDeploymentInfo>
- <xsl:variable name="deploymentSpecObject" select="$deploymentObject/cm:deploymentOption[@name='package']/*[cm:archiveSearchPath=$archiveOptionsArchivePath]" />
- <xsl:choose>
- <xsl:when test="$deploymentSpecObject">
- <!-- object exists in the deployment specification; get target information from deployment spec -->
- <xsl:call-template name="target-dependable-elements">
- <xsl:with-param name="targetName" select="$deploymentSpecObject/*[local-name()='targetName']/cm:multilingualToken" />
- </xsl:call-template>
- <cm:inTargetSpecification>true</cm:inTargetSpecification>
- <cm:inPackagesToInclude>true</cm:inPackagesToInclude>
- <cm:enabled>
- <xsl:value-of select="$deploymentSpecObject/*[local-name()='enabled']" />
- </cm:enabled>
- <cm:searchPath>
- <xsl:value-of select="$deploymentSpecObject/*[local-name()='archiveSearchPath']" />
- </cm:searchPath>
- <xsl:copy-of select="$deploymentSpecObject/*[local-name()='targetLocation']" />
- <cm:ancestors>
- <cm:ancestorInfo>
- <cm:searchPath>
- <xsl:value-of select="$deploymentSpecObject/*[local-name()='ancestorInfo']/*[local-name()='searchPath']" />
- </cm:searchPath>
- <cm:title>
- <xsl:value-of select="$deploymentSpecObject/*[local-name()='ancestorInfo']/*[local-name()='title']" />
- </cm:title>
- <cm:storeID>
- <xsl:value-of select="$deploymentSpecObject/*[local-name()='ancestorInfo']/*[local-name()='storeID']" />
- </cm:storeID>
- </cm:ancestorInfo>
- </cm:ancestors>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="target-dependable-elements">
- <xsl:with-param name="targetName" select="*[local-name()='targetName']/cm:multilingualToken" />
- <xsl:with-param name="targetDefaultName" select="*[local-name()='defaultName']" />
- <xsl:with-param name="targetLocation" select="*[local-name()='targetLocation']" />
- </xsl:call-template>
- <cm:inPackagesToInclude>false</cm:inPackagesToInclude>
- <cm:inTargetSpecification>false</cm:inTargetSpecification>
- <cm:enabled>
- <xsl:value-of select="cm:enabled" />
- </cm:enabled>
- <cm:searchPath>
- <xsl:value-of select="cm:archiveSearchPath" />
- </cm:searchPath>
- <xsl:copy-of select="*[local-name()='targetLocation']" />
- <cm:ancestors>
- <cm:ancestorInfo>
- <cm:searchPath>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='searchPath']" />
- </cm:searchPath>
- <cm:title>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='title']" />
- </cm:title>
- <cm:storeID>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='storeID']" />
- </cm:storeID>
- </cm:ancestorInfo>
- </cm:ancestors>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="*[local-name()='objectClass'] != ''">
- <cm:objectClass>
- <xsl:value-of select="*[local-name()='objectClass']" />
- </cm:objectClass>
- </xsl:when>
- <xsl:otherwise>
- <!-- Default object class. Used for older archives that are missing this value. -->
- <cm:objectClass>package</cm:objectClass>
- </xsl:otherwise>
- </xsl:choose>
- <cm:ancestorsSource>
- <cm:ancestorInfo>
- <cm:title>
- <xsl:value-of select="*[local-name()='sourceAncestorsInfo']/*[local-name()='ancestorInfo']/*[local-name()='title']" />
- </cm:title>
- </cm:ancestorInfo>
- </cm:ancestorsSource>
- <xsl:call-template name="source-dependable-elements">
- <xsl:with-param name="sourceName" select="$sourceName" />
- </xsl:call-template>
- </cm:packageDeploymentInfo>
- </xsl:for-each>
- <!-- packages in spec but not in the archive -->
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name='package']/*">
- <xsl:variable name="sourceName" select="cm:sourceName/cm:multilingualToken" />
- <xsl:variable name="archiveSearchPath" select="cm:archiveSearchPath" />
- <!--xsl:variable name="ancestor" select="cm:ancestors/cm:ancestorInfo"/ -->
- <xsl:if test="not($archiveOptions/cm:deploymentOption[@name='package']/*[cm:archiveSearchPath=$archiveSearchPath])">
- <cm:packageDeploymentInfo>
- <xsl:call-template name="target-dependable-elements">
- <xsl:with-param name="targetName" select="cm:targetName/cm:multilingualToken" />
- <xsl:with-param name="targetDefaultName" select="cm:defaultName" />
- <xsl:with-param name="targetLocation" select="cm:targetLocation" />
- </xsl:call-template>
- <cm:inTargetSpecification>true</cm:inTargetSpecification>
- <cm:inPackagesToInclude>false</cm:inPackagesToInclude>
- <cm:showAsDisabled>true</cm:showAsDisabled>
- <cm:enabled>
- <xsl:value-of select="cm:enabled" />
- </cm:enabled>
- <cm:objectClass>
- <xsl:value-of select="*[local-name()='objectClass']" />
- </cm:objectClass>
- <cm:searchPath>
- <xsl:value-of select="cm:archiveSearchPath" />
- </cm:searchPath>
- <cm:ancestorInfo>
- <cm:searchPath>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='searchPath']" />
- </cm:searchPath>
- <cm:title>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='title']" />
- </cm:title>
- <cm:storeID>
- <xsl:value-of select="*[local-name()='ancestorInfo']/*[local-name()='storeID']" />
- </cm:storeID>
- </cm:ancestorInfo>
- <xsl:call-template name="source-dependable-elements">
- <xsl:with-param name="sourceName" select="$sourceName" />
- </xsl:call-template>
- <xsl:copy-of select="*[local-name()='targetLocation']" />
- </cm:packageDeploymentInfo>
- </xsl:if>
- </xsl:for-each>
- </cm:deploymentOption>
- <!-- options for Import Wizard and Properties.
- If it's New Import take archive options. If it's Update Import
- Wizard and the deployment method in the spec doesn't differ from the one
- in the archive then take spec options otherwise take archive options. -->
- <xsl:choose>
- <xsl:when test="key('env-param','m_obj') != '' and $deploymentObject/cm:deploymentOption[@name='entireContentStoreSelect']=$archiveOptions/cm:deploymentOption[@name='entireContentStoreSelect']">
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name != 'package' and @name != 'deploymentName' and @name != 'deploymentDescription' and @name != 'deploymentScreenTip' and @name != 'tenants' and @name != 'tenantsContentConflictResolution']">
- <xsl:call-template name="other-option-elements" />
- </xsl:for-each>
- <xsl:if test="$deploymentObject/cm:deploymentOption[@name = 'tenants']">
- <cm:deploymentOption>
- <xsl:copy-of select="$deploymentObject/cm:deploymentOption[@name = 'tenants']/@*" />
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name = 'tenants']/*">
- <cm:value><xsl:value-of select="."/></cm:value>
- </xsl:for-each>
- </cm:deploymentOption>
- </xsl:if>
- <xsl:if test="$deploymentObject/cm:deploymentOption[@name = 'tenantsContentConflictResolution']">
- <cm:deploymentOption>
- <xsl:copy-of select="$deploymentObject/cm:deploymentOption[@name = 'tenantsContentConflictResolution']/@*" />
- <xsl:value-of select="$deploymentObject/cm:deploymentOption[@name = 'tenantsContentConflictResolution']"/>
- </cm:deploymentOption>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <!-- options for New Import Wizard and Properties -->
- <xsl:for-each select="$archiveOptions/cm:deploymentOption[@name != 'package' and @name != 'deploymentName' and @name != 'deploymentDescription' and @name != 'deploymentScreenTip' and @name != 'upgradeClasses' and @name != 'tenants' and @name != 'tenantsContentConflictResolution']">
- <xsl:call-template name="other-option-elements" />
- </xsl:for-each>
- <xsl:if test="$archiveOptions/cm:deploymentOption[@name = 'tenants']">
- <cm:deploymentOption>
- <xsl:copy-of select="$archiveOptions/cm:deploymentOption[@name = 'tenants']/@*" />
- <xsl:for-each select="$archiveOptions/cm:deploymentOption[@name = 'tenants']/*">
- <cm:value><xsl:value-of select="."/></cm:value>
- </xsl:for-each>
- </cm:deploymentOption>
- </xsl:if>
- <xsl:if test="$archiveOptions/cm:deploymentOption[@name = 'tenantsContentConflictResolution']">
- <cm:deploymentOption>
- <xsl:copy-of select="$archiveOptions/cm:deploymentOption[@name = 'tenantsContentConflictResolution']/@*" />
- <xsl:value-of select="$archiveOptions/cm:deploymentOption[@name = 'tenantsContentConflictResolution']"/>
- </cm:deploymentOption>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <!-- Export -->
- <xsl:otherwise>
- <!-- packages Export Wizard and Properties -->
- <cm:deploymentOption name="package" class="cm:deploymentOptionPackageInfo">
- <xsl:for-each select="/root/packagesInContent/cm:queryResponse/*[local-name()='queryReply']/*[local-name()='package' or local-name()='folder' or local-name()='account' or local-name()='namespaceFolder' or local-name()='namespace' or local-name()='catalog' or local-name()='catalogFolder' or local-name()='visualization' or local-name()='userInterfaceProfile']">
- <xsl:variable name="sourceName" select="cm:name/cm:multilingualToken" />
- <xsl:variable name="storeID" select="cm:storeID" />
- <xsl:variable name="ancestors" select="cm:ancestors" />
- <cm:packageDeploymentInfo>
- <xsl:variable name="deploymentObjectPackage" select="$deploymentObject/cm:deploymentOption[@name='package']/*[cm:storeID=$storeID]" />
- <xsl:choose>
- <xsl:when test="$deploymentObjectPackage">
- <xsl:call-template name="deployment-object-package">
- <xsl:with-param name="sourceName" select="$sourceName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <cm:targetName><xsl:copy-of select="$sourceName" /></cm:targetName>
- <cm:defaultTargetName>
- <xsl:call-template name="get-default-package-name">
- <xsl:with-param name="package-name" select="$sourceName" />
- <xsl:with-param name="defaultName" select="$sourceName/self::node()[1]" />
- </xsl:call-template>
- </cm:defaultTargetName>
- <cm:enabled>true</cm:enabled>
- <cm:inPackagesToInclude>true</cm:inPackagesToInclude>
- </xsl:otherwise>
- </xsl:choose>
- <cm:objectClass><xsl:value-of select="*[local-name()='objectClass']" /></cm:objectClass>
- <cm:modificationTime><xsl:value-of select="cm:modificationTime" /></cm:modificationTime>
- <cm:storeID><xsl:value-of select="cm:storeID" /></cm:storeID>
- <cm:hidden><xsl:value-of select="cm:hidden" /></cm:hidden>
- <cm:searchPath><xsl:value-of select="cm:searchPath" /></cm:searchPath>
- <cm:parent><xsl:value-of select="cm:parent/*/cm:storeID" /></cm:parent>
- <cm:targetLocation>
- <xsl:value-of select="$deploymentObject/cm:deploymentOption[@name='package']/*[cm:storeID=$storeID]/cm:targetLocation" />
- </cm:targetLocation>
- <cm:ancestors>
- <xsl:for-each select="cm:ancestors/*">
- <cm:ancestorInfo>
- <xsl:copy-of select="cm:objectClass" />
- <xsl:copy-of select="cm:searchPath" />
- <xsl:copy-of select="cm:storeID" />
- <xsl:copy-of select="cm:title" />
- </cm:ancestorInfo>
- </xsl:for-each>
- </cm:ancestors>
- <cm:ancestorsSource>
- <xsl:for-each select="cm:ancestors/*">
- <cm:ancestorInfo>
- <xsl:copy-of select="cm:objectClass" />
- <xsl:copy-of select="cm:searchPath" />
- <xsl:copy-of select="cm:storeID" />
- <xsl:copy-of select="cm:title" />
- </cm:ancestorInfo>
- </xsl:for-each>
- </cm:ancestorsSource>
- <!-- TODO copy ancestors -->
- <xsl:call-template name="source-dependable-elements">
- <xsl:with-param name="sourceName" select="$sourceName" />
- </xsl:call-template>
- </cm:packageDeploymentInfo>
- </xsl:for-each>
- <!-- packages in spec but not in the content -->
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name='package']/*">
- <xsl:variable name="sourceName" select="cm:sourceName/cm:multilingualToken" />
- <xsl:variable name="storeID" select="cm:storeID" />
- <xsl:variable name="archiveSearchPath" select="cm:archiveSearchPath" />
- <xsl:variable name="storeIDFromMap" select="/root/*[local-name()='storeIDMap']/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='package' or local-name()='folder' or local-name()='account' or local-name()='namespaceFolder' or local-name()='namespace' or local-name()='catalog' or local-name()='catalogFolder' or local-name()='visualization' or local-name()='userInterfaceProfile'][*[local-name()='searchPath']=$archiveSearchPath]/*[local-name()='storeID']"/>
- <xsl:variable name="packagesInContentResponse" select="/root/packagesInContent/cm:queryResponse/*[local-name()='queryReply']/*[local-name()='package' or local-name()='folder' or local-name()='account' or local-name()='namespaceFolder' or local-name()='namespace' or local-name()='catalog' or local-name()='catalogFolder' or local-name()='visualization' or local-name()='userInterfaceProfile']"/>
- <!-- need to check for existence in the content using the given storeID AND the one in the storeIDMap because CM does not guarantee
- whether the archive searchPath will be a storeID or a searchPath. -->
- <xsl:variable name="notFoundInContentUsingStoreID" select="not($packagesInContentResponse/*[local-name()='storeID' and contains($archiveSearchPath,.)])"/>
- <xsl:variable name="notFoundInContentUsingStoreIDFromStoreIDMap" select="not($packagesInContentResponse/*[local-name()='storeID' and contains($storeIDFromMap,.)])"/>
- <xsl:if test="$notFoundInContentUsingStoreID and $notFoundInContentUsingStoreIDFromStoreIDMap">
- <cm:packageDeploymentInfo>
- <cm:targetName><xsl:copy-of select="cm:targetName/cm:multilingualToken" /></cm:targetName>
- <cm:defaultTargetName>
- <xsl:call-template name="get-default-package-name">
- <xsl:with-param name="package-name" select="cm:targetName/cm:multilingualToken" />
- <xsl:with-param name="defaultName" select="cm:targetName/cm:multilingualToken/self::node()[1]" />
- </xsl:call-template>
- </cm:defaultTargetName>
- <cm:objectClass><xsl:value-of select="*[local-name()='objectClass']" /></cm:objectClass>
- <cm:enabled><xsl:value-of select="cm:enabled" /></cm:enabled>
- <xsl:choose>
- <xsl:when test="$storeID">
- <cm:inPackagesToInclude>true</cm:inPackagesToInclude>
- </xsl:when>
- <xsl:otherwise>
- <cm:inPackagesToInclude>false</cm:inPackagesToInclude>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="key('env-param','m_uiType') = 'properties'">
- <cm:showAsDisabled>false</cm:showAsDisabled>
- </xsl:when>
- <xsl:otherwise>
- <cm:showAsDisabled>true</cm:showAsDisabled>
- </xsl:otherwise>
- </xsl:choose>
- <cm:modificationTime>
- <xsl:value-of select="/root/packagesInContent/cm:queryResponse/*[local-name()='queryReply']/*[cm:storeID=$storeID]/cm:modificationTime" />
- </cm:modificationTime>
- <xsl:choose>
- <xsl:when test="$sourceName!=''">
- <xsl:call-template name="source-dependable-elements">
- <xsl:with-param name="sourceName" select="$sourceName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO show unavailable -->
- </xsl:otherwise>
- </xsl:choose>
- <cm:storeID><xsl:value-of select="$storeID" /></cm:storeID>
- <cm:searchPath><xsl:value-of select="$archiveSearchPath" /></cm:searchPath>
- <cm:parent />
- <xsl:copy-of select="cm:targetLocation" />
- <xsl:copy-of select="cm:ancestors" />
- <xsl:copy-of select="cm:ancestorsSource" />
- </cm:packageDeploymentInfo>
- </xsl:if>
- </xsl:for-each>
- </cm:deploymentOption>
- <!-- Other export options -->
- <xsl:choose>
- <xsl:when test="key('env-param','m_obj') != '' ">
- <!-- Other options in the deployment object for Update Export Wizard and Propeties -->
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name != 'package' and @name != 'archiveOverwrite' and @name != 'deploymentName' and @name != 'deploymentDescription' and @name != 'deploymentScreenTip' and @name != 'tenants']">
- <xsl:call-template name="other-option-elements" />
- </xsl:for-each>
- <xsl:variable name="optionName">archiveOverwrite</xsl:variable>
- <xsl:if test="$deploymentObject/cm:deploymentOption[@name = 'tenants']">
- <cm:deploymentOption>
- <xsl:copy-of select="$deploymentObject/cm:deploymentOption[@name = 'tenants']/@*" />
- <xsl:for-each select="$deploymentObject/cm:deploymentOption[@name = 'tenants']/*">
- <cm:value><xsl:value-of select="."/></cm:value>
- </xsl:for-each>
- </cm:deploymentOption>
- </xsl:if>
- <cm:deploymentOption>
- <xsl:copy-of select="$deploymentObject/cm:deploymentOption[@name = 'archiveOverwrite']/@*" />
- <xsl:text>true</xsl:text>
- </cm:deploymentOption>
- </xsl:when>
- <xsl:otherwise>
- <!-- other options in content for New Export Wizard -->
- <cm:deploymentOption name="archive" class="cm:deploymentOptionString">
- <xsl:value-of select="key('env-param','m_archive')" />
- </cm:deploymentOption>
- <!-- by default set the archiveOverwite value to true all the time. -->
- <!-- This is to prevent recurring runs of scheduled exports to fail. T#463341, CL#14975 -->
- <cm:deploymentOption name="archiveOverwrite" class="cm:deploymentOptionBoolean">true</cm:deploymentOption>
- <cm:deploymentOption name="packageSelect" class="cm:deploymentOptionBoolean">true</cm:deploymentOption>
- <cm:deploymentOption name="packageOutputs" class="cm:deploymentOptionBoolean" enabled="true">false</cm:deploymentOption>
- <cm:deploymentOption name="packageOutputsConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="packageOutputs">replace</cm:deploymentOption>
- <cm:deploymentOption name="packageDatasetOutputs" class="cm:deploymentOptionBoolean" enabled="true">false</cm:deploymentOption>
- <cm:deploymentOption name="packageDatasetOutputsConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="packageDatasetOutputs">replace</cm:deploymentOption>
- <cm:deploymentOption name="packageHistories" class="cm:deploymentOptionBoolean" enabled="true">false</cm:deploymentOption>
- <cm:deploymentOption name="packageHistoriesConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="packageHistories">replace</cm:deploymentOption>
- <cm:deploymentOption name="packageSchedules" class="cm:deploymentOptionBoolean" enabled="true">false</cm:deploymentOption>
- <cm:deploymentOption name="packageSchedulesConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="packageSchedules">replace</cm:deploymentOption>
- <cm:deploymentOption name="namespaceSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="namespaceThirdParty" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="namespaceConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="namespaceSelect">replace</cm:deploymentOption>
- <cm:deploymentOption name="dataSourceSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="dataSourceSignonSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="dataSourceSelect">false</cm:deploymentOption>
- <cm:deploymentOption name="dataSourceConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="dataSourceSelect">replace</cm:deploymentOption>
- <cm:deploymentOption name="recipientsSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="recipientsConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="recipientsSelect">replace</cm:deploymentOption>
- <cm:deploymentOption name="takeOwnership" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="ownershipConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="">replace</cm:deploymentOption>
- <cm:deploymentOption name="objectPolicies" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="objectPoliciesConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="objectPolicies">replace</cm:deploymentOption>
- <cm:deploymentOption name="entireContentStoreSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="">false</cm:deploymentOption>
- <cm:deploymentOption name="entireContentStoreReplace" class="cm:deploymentOptionBoolean" enabled="true" depend-on="entireContentStoreSelect">false</cm:deploymentOption>
- <cm:deploymentOption name="personalDataSelect" class="cm:deploymentOptionBoolean" enabled="true" depend-on="entireContentStoreSelect">false</cm:deploymentOption>
- <cm:deploymentOption name="tenants" class="cm:deploymentOptionStringArray" enabled="true" depend-on="entireContentStoreSelect"/>
- <cm:deploymentOption name="tenantsContentConflictResolution" class="cm:deploymentOptionResolution" enabled="true" depend-on="tenants">keep</cm:deploymentOption>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="key('env-param','m_recordingLevel') != '' and contains(' full minimal basic ', concat(' ',key('env-param','m_recordingLevel'),' '))">
- <cm:deploymentOption name="recordingLevel" class="cm:deploymentOptionAuditLevel" enabled="true" depend-on="">
- <xsl:value-of select="key('env-param','m_recordingLevel')" />
- </cm:deploymentOption>
- </xsl:when>
- <xsl:when test="$deploymentObject/cm:deploymentOptionAuditLevel[@name='recordingLevel']">
- <cm:deploymentOption name="recordingLevel" class="cm:deploymentOptionAuditLevel" enabled="true" depend-on="">
- <xsl:value-of select="$deploymentObject/cm:deploymentOptionAuditLevel[@name='recordingLevel']" />
- </cm:deploymentOption>
- </xsl:when>
- <xsl:otherwise>
- <cm:deploymentOption name="recordingLevel" class="cm:deploymentOptionAuditLevel" enabled="true" depend-on="">basic</cm:deploymentOption>
- </xsl:otherwise>
- </xsl:choose>
- </cm:deploymentOptionsUI>
- </xts:transform>
- </xsl:otherwise>
- </xsl:choose>
- </xts:append>
- <xsl:if test="/root/env/param[@name='m_recordingLevel']">
- <xts:replace select="/root//*[local-name()='deploymentOptionsUI']/*[local-name()='deploymentOption' and @name='recordingLevel'] ">
- <cm:deploymentOption name="recordingLevel" class="cm:deploymentOptionAuditLevel" enabled="true" depend-on="">
- <xsl:value-of select="key('env-param','m_recordingLevel')" />
- </cm:deploymentOption>
- </xts:replace>
- </xsl:if>
- <xts:delete select="/root/env/param[@name='m_recordingLevel']" />
- </xts:sequence>
- </xsl:template>
- <xsl:template name="source-dependable-elements">
- <xsl:param name="sourceName" />
- <cm:sourceName>
- <xsl:copy-of select="$sourceName" />
- </cm:sourceName>
- <cm:defaultSourceName>
- <xsl:call-template name="get-default-package-name">
- <xsl:with-param name="package-name" select="$sourceName" />
- <xsl:with-param name="defaultName" select="$sourceName/self::node()[1]" />
- </xsl:call-template>
- </cm:defaultSourceName>
- <xsl:variable name="new-guid" select="xtsext:generateGUID()" />
- <x:guid xmlns:x="x">
- <xsl:value-of select="$new-guid" />
- </x:guid>
- </xsl:template>
- <xsl:template name="target-dependable-elements">
- <xsl:param name="targetName" />
- <xsl:param name="targetDefaultName" />
- <xsl:param name="targetLocation" />
- <cm:targetName>
- <xsl:copy-of select="$targetName" />
- </cm:targetName>
- <cm:defaultTargetName>
- <xsl:call-template name="get-default-package-name">
- <xsl:with-param name="package-name" select="$targetName" />
- <xsl:with-param name="defaultName" select="$targetName/self::node()[1]" />
- </xsl:call-template>
- </cm:defaultTargetName>
- <xsl:choose>
- <xsl:when test="/root/packagesInContent/cm:queryResponse/cm:queryReply/*[cm:defaultName=$targetDefaultName and cm:parent/*[local-name()='content']/*[local-name()='searchPath']=$targetLocation]">
- <cm:inTargetContent>true</cm:inTargetContent>
- </xsl:when>
- <xsl:otherwise>
- <cm:inTargetContent>false</cm:inTargetContent>
- </xsl:otherwise>
- </xsl:choose>
- <cm:modificationTime>
- <xsl:value-of select="/root/packagesInContent/cm:queryResponse/cm:queryReply/*[cm:defaultName=$targetDefaultName and cm:parent/*[local-name()='content']/*[local-name()='searchPath']=$targetLocation]/cm:modificationTime" />
- </cm:modificationTime>
- </xsl:template>
- <xsl:template name="deployment-object-package">
- <xsl:param name="sourceName" />
- <!-- XSLTC returns an empty node-set if $variable/something is selected.
- So we cannot get targetName as $deploymentObjectPackage/cm:targetName/cm:multilingualToken.
- To fix the problem we create a separate variable for target name. Same is
- for enabled -->
- <xsl:variable name="deploymentObjectPackageTargetName" select="$deploymentObject/cm:deploymentOption[@name='package']/*[cm:sourceName/cm:multilingualToken=$sourceName]/cm:targetName/cm:multilingualToken" />
- <xsl:variable name="deploymentObjectPackageEnabled" select="$deploymentObject/cm:deploymentOption[@name='package']/*[cm:sourceName/cm:multilingualToken=$sourceName]/cm:enabled" />
- <xsl:choose>
- <xsl:when test="$deployment-method='import'">
- <xsl:call-template name="target-dependable-elements">
- <xsl:with-param name="targetName" select="$deploymentObjectPackageTargetName" />
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <cm:targetName>
- <xsl:copy-of select="set:distinct($deploymentObjectPackageTargetName)" />
- </cm:targetName>
- <cm:defaultTargetName>
- <xsl:call-template name="get-default-package-name">
- <xsl:with-param name="package-name" select="$deploymentObjectPackageTargetName" />
- <xsl:with-param name="defaultName" select="$deploymentObjectPackageTargetName/self::node()[1]" />
- </xsl:call-template>
- </cm:defaultTargetName>
- </xsl:otherwise>
- </xsl:choose>
- <cm:enabled>
- <xsl:value-of select="$deploymentObjectPackageEnabled" />
- </cm:enabled>
- <cm:inPackagesToInclude>true</cm:inPackagesToInclude>
- </xsl:template>
- <xsl:template name="other-option-elements">
- <xsl:if test="@name!='export'">
- <cm:deploymentOption>
- <xsl:copy-of select="@*" />
- <xsl:variable name="optionName" select="@name" />
- <xsl:variable name="enabled">
- <xsl:call-template name="option-enable-attr">
- <xsl:with-param name="optionName" select="$optionName" />
- </xsl:call-template>
- </xsl:variable>
- <xsl:attribute name="enabled">
- <xsl:value-of select="$enabled" />
- </xsl:attribute>
- <xsl:attribute name="depend-on">
- <xsl:call-template name="option-depend-on-attr">
- <xsl:with-param name="optionName" select="$optionName" />
- </xsl:call-template>
- </xsl:attribute>
- <xsl:variable name="optionValue" select="." />
- <xsl:choose>
- <xsl:when test="$enabled='false' and $optionValue='true'">
- <xsl:value-of select="'false'" />
- </xsl:when>
- <xsl:when test="$enabled='false' and $optionValue='keep'">
- <xsl:value-of select="'replace'" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$optionValue" />
- </xsl:otherwise>
- </xsl:choose>
- </cm:deploymentOption>
- </xsl:if>
- </xsl:template>
- <xsl:template name="option-enable-attr">
- <xsl:param name="optionName" />
- <xsl:copy>
- <xsl:choose>
- <xsl:when test="$optionName = 'takeOwnership' ">true</xsl:when>
- <xsl:when test="$archiveOptions/cm:deploymentOption[@name = $optionName] = 'false' ">false</xsl:when>
- <!-- set enabled attribute for Conflict Resolution option to false if respective Select option is false -->
- <xsl:when test="contains($optionName,'ConflictResolution')">
- <xsl:variable name="mainOptionName">
- <xsl:call-template name="main-option-for-conflict-option">
- <xsl:with-param name="optionName" select="$optionName" />
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$archiveOptions and $archiveOptions/cm:deploymentOption[@name=$mainOptionName]='false'">false</xsl:when>
- <xsl:otherwise>true</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>true</xsl:otherwise>
- </xsl:choose>
- </xsl:copy>
- </xsl:template>
- <xsl:template name="main-option-for-conflict-option">
- <xsl:param name="optionName" />
- <xsl:variable name="subName" select="substring-before($optionName, 'ConflictResolution')" />
- <xsl:choose>
- <xsl:when test="$subName='objectPolicies' or starts-with($subName,'package')">
- <xsl:value-of select="$subName" />
- </xsl:when>
- <xsl:when test="$subName='ownership'">
- <xsl:value-of select="''" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat($subName,'Select')" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template name="option-depend-on-attr">
- <xsl:param name="optionName" />
- <xsl:choose>
- <!-- set depend-on attribute for Conflict Resolution option to the respective Select option -->
- <xsl:when test="contains($optionName,'ConflictResolution')">
- <xsl:variable name="mainOptionName">
- <xsl:call-template name="main-option-for-conflict-option">
- <xsl:with-param name="optionName" select="$optionName" />
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="$mainOptionName" />
- </xsl:when>
- <!-- set depend-on attribute for dataSourceSignonSelect option to the dataSourceSelect option -->
- <xsl:when test="$optionName='dataSourceSignonSelect'">dataSourceSelect</xsl:when>
- <!-- set depend-on attribute for package options to the packageSelect option -->
- <xsl:when test="$optionName='packageOutputs' or $optionName='packageDatasetOutputs' or $optionName='packageHistories' or $optionName='packageSchedules'">packageSelect</xsl:when>
- <xsl:otherwise>
- <xsl:text />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- </xsl:stylesheet>
|