123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2014
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <!-- File: Content request for showing the "public" or "Personal" tabs -->
- <xsl:stylesheet version="1.0" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:mvc="http://developer.cognos.com/schemas/xts/mvc" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" exclude-result-prefixes="xts send bus mvc cm">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="root">
- <xts:sequence>
- <xts:append>
- <newSession>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <!-- 1) Get the name of the "Public Folders" root -->
- <cm:query>
- <cm:search>/content</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="storeID"/>
- </cm:properties>
- </cm:query>
- <!-- 2) Get the name of the "My Folders" root -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>~/folder</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="storeID"/>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:query>
- <!-- 3) Get user preferences -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>~</cm:search>
- <cm:properties>
- <cm:property name="portalPages"/>
- <cm:property name="options"/>
- <cm:property name="searchPath"/>
- <cm:property name="defaultName"/>
- <cm:property name="permissions"/>
- </cm:properties>
- <!-- Only ask for permissions if inaccessible tabs are supposed to be hidden -->
- <xsl:if test="string(/root/system/param[@name='hideInaccessibleTabs']) = 'true'">
- <cm:options schemaInfo="false">
- <cm:refProps>
- <cm:refProp refPropName="portalPages">
- <cm:properties>
- <cm:property name="permissions"/>
- <cm:property name="storeID"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </xsl:if>
- </cm:query>
- <!-- 4) Get user capabilities -->
- <cm:query>
- <cm:search>~~</cm:search>
- <cm:properties>
- <cm:property name="identity"/>
- <cm:property name="tenantID"/>
- </cm:properties>
- </cm:query>
- <!-- 5) Get nameSpace info -->
- <cm:query>
- <cm:search>/directory/*[@objectClass='namespace']<xsl:value-of select="/root/system/param[@name='namespace_filter']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="permissions"/>
- <cm:property name="active"/>
- </cm:properties>
- </cm:query>
- <!-- 6) Get 'Report Studio Profiles' info -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/configuration/uiProfileFolder[@name='User Interface Profiles']/uiProfileFolder[@name='Report Studio Profiles']/*</cm:search>
- <cm:properties>
- <cm:property name="name"/>
- <cm:property name="permissions"/>
- </cm:properties>
- </cm:query>
- <!-- 7) Get last profile in catalog -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/catalog/catalogFolder[@name='User Interface Profiles']/catalogFolder[@name='Report Studio Profiles']/userInterfaceProfile[last()]</cm:search>
- <cm:properties>
- <cm:property name="name"/>
- </cm:properties>
- </cm:query>
- <!-- 8) Get readable profile in catalog -->
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/catalog/catalogFolder[@name='User Interface Profiles']/catalogFolder[@name='Report Studio Profiles']/userInterfaceProfile[permission('read')]</cm:search>
- <cm:properties>
- <cm:property name="name"/>
- <cm:property name="permissions"/>
- </cm:properties>
- </cm:query>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- <camIdentity>
- <send:request provider="cam" internal="true">
- <cam:getIdentity xmlns:cam="http://developer.cognos.com/schemas/saCAMService/1"/>
- </send:request>
- </camIdentity>
- </newSession>
- </xts:append>
- <xts:append select="/root/newSession/camIdentity">
- <writeTenantName>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/directory/tenants[@name='Tenants']/tenant[@tenantID='<xts:queryValue select="/root/newSession/camIdentity//*[local-name()='writeTenantID']"/>']</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="tenantID"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </writeTenantName>
- </xts:append>
- <xts:append select="/root/newSession">
- <tenantInfo>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/directory/tenants[@name='Tenants']/tenant[@tenantID='<xts:queryValue select="/root/newSession/camIdentity//*[local-name()='tenantID']"/>']</cm:search>
- <cm:properties>
- <cm:property name="tenantID"/>
- <cm:property name="defaultName"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </tenantInfo>
- </xts:append>
- <xts:append>
- <availableTenants>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>/directory/tenants/tenant</cm:search>
- <cm:properties>
- <cm:property name="tenantID"/>
- </cm:properties>
- <cm:options maxObjects="1"/>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </availableTenants>
- </xts:append>
- <xts:append>
- <rsProfiles>
- <xts:queryNode select="/root/newSession/*[local-name() = 'queryResponse']/*[local-name() = 'queryReply'][6]"/>
- </rsProfiles>
- </xts:append>
- <xts:append>
- <lastUserInterfaceProfile>
- <xts:queryNode select="/root/newSession/*[local-name() = 'queryResponse']/*[local-name() = 'queryReply'][7]"/>
- </lastUserInterfaceProfile>
- </xts:append>
- <xts:append>
- <readableUserInterfaceProfile>
- <xts:queryNode select="/root/newSession/*[local-name() = 'queryResponse']/*[local-name() = 'queryReply'][8]"/>
- </readableUserInterfaceProfile>
- </xts:append>
- <xsl:if test="string(/root/env/param[@name='m_root'])!='' or (string(/root/system/param[@name='consumer-root'])!='' and string(/root/system/param[@name='consumer-root'])!='/content')">
- <xsl:if test="string(/root/env/param[@name='m_root'])!=''">
- <xts:append>
- <mroot>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>
- <xsl:value-of select="/root/env/param[@name='m_root']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </mroot>
- </xts:append>
- </xsl:if>
- <xsl:if test="string(/root/system/param[@name='consumer-root'])!='' and string(/root/system/param[@name='consumer-root'])!='/content'">
- <xts:append>
- <croot>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>
- <xsl:value-of select="/root/system/param[@name='consumer-root']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </croot>
- </xts:append>
- </xsl:if>
- </xsl:if>
- <!-- MVC - read mvc configuration settings -->
- <xts:append>
- <mvcSettings>
- <xts:function name="getConfiguration">
- <xts:param name="MVC_remoteGateway"/>
- <xts:param name="MVC_remoteWebContent"/>
- <xts:param name="MVC_disableAutoLogOn"/>
- </xts:function>
- </mvcSettings>
- <!-- Returns
- <collaborationApps><configuration><property name="lc_'lotus connections interface name'_uri">URL</...>
- -->
- <collaborationApps>
- <xts:function name="getConfiguration">
- <xts:param name="lc_homepage_uri"/>
- <xts:param name="lc_activities_uri"/>
- </xts:function>
- </collaborationApps>
- <configSettings>
- <xts:function name="getConfiguration">
- <xts:param name="portal.showTenantInfoForAllUsers"/>
- </xts:function>
- </configSettings>
- </xts:append>
- <!-- Returns the following when the target file is not available
- <ciInstalled>
- <cddNotFound>/cdd/cdd.xml - file not available</cddNotFound>
- </ciInstalled>
- Otherwise the contents of the cdd.xml file will be returned between the ciInstalled tags.
- -->
- <xts:append>
- <ciInstalled>
- <xts:request protocol="FILEREAD" cache="true" genErrorNode="cddNotFound" target="/cdd/cdd.xml"/>
- </ciInstalled>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
|