Dynamic Component Template no longer going to broker db - tridion

I have made an adjustment to my blueprinting structure, so that what was previously a publishable web publication has now been turned into a non publishable web publication at a parent level. A new child web publication has been created to take it's place.
As such, this has created a new publication ID. I've updated all configurations with this new ID, and been able to successfully publish content to the presentation servers on the file system. Dynamic component presentations are also being published into the broker database using the new ID.
However, recently one of my dynamic component templates has stopped publishing to the broker. It publishes to the file system, but no record of the component appears in the LINK_INFO table of the broker. This means dynamic linking for content using this template is failing on the website.
Could anyone possible tell me if they know why this is occurring?
UPDATE 2: Found something interesting.....dynamic linking is actually working but only for some component templates. I discovered this by using the ComponentLink.GetLink(string) method to see if it would return a link...for some content types it does, but for others which previously had links, it now doesn't, even after republishing these templates :s
UPDATE: cd_storage.xml
<Configuration Version="6.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
<Global>
<ObjectCache Enabled="false">
<Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
<Param Name="MemSize" Value="16mb"/>
</Policy>
<Features>
<Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
</Features>
</ObjectCache>
<Storages>
<StorageBindings>
<Bundle src="AudienceManagerDAOBundle.xml" />
</StorageBindings>
<Storage Type="persistence" Id="defaultdb" dialect="MSSQL"
Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120"
CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="lon1udb01.int.rroom.net" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="uat_mal_Tridion_Broker_2" />
<Property Name="user" Value="uat_mal" />
<Property Name="password" Value="mj][zdvd=h" />
</DataSource>
</Storage>
<Storage Type="persistence" Id="profiledb" dialect="MSSQL"
Class="com.tridion.storage.persistence.JPADAOFactory"
defaultStorage="false">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120"
CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="lon1udb01.int.rroom.net" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="uat_mal_Tridion_submgmt" />
<Property Name="user" Value="uat_mal" />
<Property Name="password" Value="mj][zdvd=h" />
</DataSource>
</Storage>
<Storage Type="persistence" Id="trackingdb" dialect="MSSQL"
Class="com.tridion.storage.persistence.JPADAOFactory"
defaultStorage="false">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120"
CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="lon1udb01.int.rroom.net" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="uat_mal_Tridion_tracking" />
<Property Name="user" Value="uat_mal" />
<Property Name="password" Value="mj][zdvd=h" />
</DataSource>
</Storage>
<Storage Type="filesystem" Id="defaultFile"
Class="com.tridion.storage.filesystem.FSDAOFactory"
defaultFilesystem="false"
defaultStorage="false">
<Root Path="c:\websites\live" />
</Storage>
<Storage Type="filesystem" Id="defaultFileAssets"
Class="com.tridion.storage.filesystem.FSDAOFactory"
defaultFilesystem="false"
defaultStorage="true">
<Root Path="c:\websites\live\malvern.com.en\Assets" />
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory"
Id="malenctrls" defaultFilesystem="false" defaultStorage="false">
<Root Path="c:\websites\live\malvern.com.en\usercontrols" />
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory"
Id="malcnctrls" defaultFilesystem="false" defaultStorage="false">
<Root Path="c:\websites\live\malvern.com.cn\usercontrols" />
</Storage>
<SearchFilter Name="SearchFilter"
Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome"
defaultStorageId="defaultdb"/>
</Storages>
<Transaction Timeout="60000" MonitorInterval="5000"/>
</Global>
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Item storageId="profiledb" typeMapping="AudienceManagerProfile" cached="false"/>
<Item storageId="trackingdb" typeMapping="AudienceManagerTracking" cached="false" />
<!-- GLOBAL MASTER -->
<Publication Id="22" defaultStorageId="defaultdb" cached="false">
<Item storageId="defaultFile" typeMapping="Page" cached="false" />
<Item storageId="defaultFile" typeMapping="Binary" cached="false" />
<Item storageId="malenctrls" typeMapping="ComponentPresentation"
itemExtension=".ascx" cached="false" />
</Publication>
<!-- CHINESE WEB -->
<Publication Id="15" defaultStorageId="defaultdb" cached="false">
<Item storageId="defaultFile" typeMapping="Page" cached="false" />
<Item storageId="defaultFile" typeMapping="Binary" cached="false" />
<Item storageId="malcnctrls" typeMapping="ComponentPresentation"
itemExtension=".ascx" cached="false" />
</Publication>
</ItemTypes>
<License Location="c:/tridion/config/cd_licenses.xml"/>

You have
<Storage Type="filesystem" Id="defaultFileAssets"
Class="com.tridion.storage.filesystem.FSDAOFactory" defaultFilesystem="false"
defaultStorage="true">
and no TypeMappings definition anywhere in your cd_storage_conf.xml. This makes the "defaultFileAssets" the storage location of choice for the deployer.
I would normally expect something like this
<ItemTypes defaultStorageId="defaultdb" cached="false">
<Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Item typeMapping="Binary" storageId="defaultFile" cached="false"/>
</ItemTypes>
in your Configuration node.
It would also be very helpful to ensure that the configuration you have posted is actually being used; you can view this in the logfiles generated by Tridion (with debug logging enables) as it logs which config file it is using; there has been more than one occasion where I was puzzled with issues simply because I was looking at the wrong configuration file...

I've removed a lot of unhelpful comments from the storage configuration in the question. Now it's easy to see that as Quirijn suspected, there are publication-specific configurations in play. If your web publication id was previously 15 or 22, and this has changed, that would explain your problem.

I think the issue may be being caused by an expired cd_licence file but i can't confirm it, have asked SDL support to tell me if it's so

Related

Can't access WSO2 ESB proxy service thru its http endpoint URL

We have this WSO2 ESB proxy service that's accessible thru its https endpoint. I want to configure this service so that it will also be accessible via http.
I checked the service configuration in the carbon management console and confirmed that both https and http endpoint were already enabled:
https://10.20.0.20:8245/services/<service_name>
http://10.20.0.20:8282/services/<service_name>
Also, the axis2.xml file in ESB_HOME}/repository/conf/axis2/ seems to be configured just fine.
<!-- ================================================= -->
<!-- Transport Ins (Listeners) -->
<!-- ================================================= -->
<!-- the non blocking http transport based on HttpCore + NIO extensions -->
<transportReceiver name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOListener">
<parameter name="port" locked="false">8280</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
<!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor</parameter>
<!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
<parameter name="disableRestServiceDispatching" locked="false">true</parameter>
</transportReceiver>
<!-- the non blocking https transport based on HttpCore + SSL-NIO extensions -->
<transportReceiver name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLListener">
<parameter name="port" locked="false">8243</parameter>
<parameter name="non-blocking" locked="false">true</parameter>
<!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
<!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
<!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
<parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor</parameter>
<parameter name="disableRestServiceDispatching" locked="false">true</parameter>
<parameter name="keystore" locked="false">
<KeyStore>
<Location>repository/resources/security/iaascol.jks</Location>
<Type>JKS</Type>
<Password>***</Password>
<KeyPassword>rotcelloc</KeyPassword>
</KeyStore>
</parameter>
<parameter name="truststore" locked="false">
<TrustStore>
<Location>repository/resources/security/client-truststore.jks</Location>
<Type>JKS</Type>
<Password>***</Password>
</TrustStore>
</parameter>
<!--<parameter name="SSLVerifyClient">require</parameter>
supports optional|require or defaults to none -->
</transportReceiver>
Port offset in ESB_HOME}/repository/conf/carbon.xml is set to 2.
<Offset>2</Offset>
I can't seem to access this proxy service thru its http endpoint URL. The version of WSO2 ESB is 4.5.0. Please let me know which configuration do I have to check / set. Thanks in advance.
Edit: Below is the proxy service config as well as netstat result.
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="disbursement" statistics="disable"
trace="enable" transports="https,http">
<target>
<inSequence>
<property action="set" name="EXECUTION_CONTEXT"
scope="default" type="STRING" value="disbursement"/>
<property action="set"
expression="fn:concat(//*[local-name()='Header']/*[local-name()='TrackingID'], '.xml')"
name="DumpFileName" scope="default" type="STRING"/>
<log category="INFO" level="full" separator=",">
<property name="EVENT_TYPE" value="PROCESSING_STARTED"/>
<property expression="get-property('DumpFileName')" name="FILENAME"/>
</log>
<property action="set" name="DumpFilePath" scope="default"
type="STRING" value="/home/user1/data/disbursement/incoming"/>
<class name="se.seman.wso2.mediator.WriteFile"/>
<property action="set" name="TopicName" scope="default"
type="STRING" value="VirtualTopic.seman.iaas.user1.topic.disbursement.out"/>
<property action="set" name="ResultCode" scope="default"
type="STRING" value="0"/>
<!--
TODO correct problem with xpath
validate source="/default/xpath">
<on-fail>
<property action="set" name="ResultCode"
scope="default" type="STRING" value="100"/>
<property action="set"
expression="get-property('ERROR_MESSAGE')"
name="ResultMessage" scope="default"
type="STRING"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Namespaces.user1.se:Cmf:InfoModel:FinancialManagement:Payment:Disbursment:0002"/>
<log category="INFO" level="full" separator=",">
<property name="MESSAGE" value="Schema validation failed"/>
<property
expression="get-property('ERROR_CODE')"
name="ERROR_CODE"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Namespaces.user1.se:Cmf:InfoModel:FinancialManagement:Payment:Disbursment:0002"/>
<property
expression="get-property('ERROR_MESSAGE')"
name="ERROR_MESSAGE"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Namespaces.user1.se:Cmf:InfoModel:FinancialManagement:Payment:Disbursment:0002"/>
</log>
<property action="set" name="RESPONSE"
scope="default" type="STRING" value="true"/>
</on-fail>
<schema key="conf:user1/ESBConfig/Common/NetPosti/resources/Disbursement_0002.xsd"/>
</validate -->
<log category="INFO" level="headers" separator=",">
<property name="MESSAGE" value="Before Topic"/>
<property expression="get-property('ERROR')" name="ERROR"/>
</log>
<filter xpath="get-property('ResultCode') = '0'">
<then>
<property action="set" name="ResultMessage"
scope="default" type="STRING" value="OK"/>
<class name="se.seman.wso2.mediator.WriteActiveMQTopic"/>
</then>
<else/>
</filter>
<header action="remove" name="To"/>
<property action="remove" name="NO_ENTITY_BODY" scope="axis2"/>
<property action="set" name="RESPONSE" scope="default"
type="STRING" value="true"/>
<payloadFactory>
<format>
<disr:DisbursementResponse xmlns:disr="urn:Namespaces.user1.se:Service:FinancialManagement:Payment:Disbursement:Response:0001">
<disr:ResponseCode>$1</disr:ResponseCode>
<disr:Message>$2</disr:Message>
</disr:DisbursementResponse>
</format>
<args>
<arg expression="get-property('ResultCode')"/>
<arg expression="get-property('ResultMessage')"/>
</args>
</payloadFactory>
<log category="INFO" level="full" separator=","/>
<send/>
</inSequence>
<outSequence>
<log category="INFO" level="full" separator=",">
<property name="MESSAGE" value="On the way back.."/>
</log>
<send/>
</outSequence>
<faultSequence>
<log category="INFO" level="full" separator=",">
<property name="MESSAGE" value="Error in Call!"/>
</log>
<property action="set" name="RESPONSE" scope="default"
type="STRING" value="true"/>
<enrich>
<source clone="true" type="inline">
<disr:DisbursementResponse xmlns:disr="urn:Namespaces.user1.se:Service:FinancialManagement:Payment:Disbursement:0001">
<disr:ResponseCode>900</disr:ResponseCode>
<disr:Message>General error</disr:Message>
</disr:DisbursementResponse>
</source>
<target action="replace" type="body"/>
</enrich>
</faultSequence>
</target>
<publishWSDL key="conf:user1/ESBConfig/Common/NetPosti/resources/DisbursementService0002.wsdl">
<resource
key="conf:user1/ESBConfig/Common/NetPosti/resources/Disbursement_0002.xsd" location="Disbursement_0002.xsd"/>
</publishWSDL>
[user1#ip-10-20-0-20 ~]$ netstat -pnlt
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 :::8245 :::*
LISTEN 2454/java
tcp 0 0 :::8282 :::*
LISTEN 2454/java
turned out this was only a firewall issue. port 8282 was blocked in wso2 firewall (iptables). thanks for all answers!

Unable to connect Orbeon Remote Server using Orbeon-Auth + Tomcat 8

I want to connect to the Orbeon Remote Server which runs on Tomcat 8, using orbeon-auth application which was provided by Orbeon.
I have created the users and roles in remote server
tomcat-users.xml.
Having default realm in server.xml.
Added below properties in properties-local.xml.
<!-- Security Settings -->
<property as="xs:string" name="oxf.fr.authentication.method" value="container" />
<property as="xs:string" name="oxf.fr.authentication.container.roles" value="orbeon-service" />
<property as="xs:anyURI" processor-name="oxf:page-flow" name="authorizer" value="/orbeon-auth" />
<property as="xs:string" name="oxf.http.state" value="none" />
<property as="xs:string" name="oxf.http.forward-headers" value="Cookie" />
<property as="xs:string" name="oxf.http.forward-cookies" value=" JSESSIONID
iPlanetDirectoryPro" />
<property as="xs:integer" name="oxf.http.so-timeout" value="0" />
<property as="xs:boolean" name="oxf.http.exceptions" value="true" />
<property as="xs:string" processor-name="oxf:page-flow" name="page-public-methods" value="GET HEAD POST PUT DELETE" />
<property as="xs:string" processor-name="oxf:page-flow" name="service-public-methods" value="GET HEAD POST PUT DELETE" />
<property as="xs:anyURI" name="oxf.url-rewriting.service.base-uri" value="http://localhost:8080/forms" />
<property as="xs:anyURI" name="oxf.fr.persistence.exist.uri" value="http://localhost:8080/forms/fr/service/exist" />
<property as="xs:anyURI" name="oxf.fr.persistence.exist.exist-uri" value="http://localhost:8080/forms/exist/rest/db/orbeon/fr" />
And my web.xml contains BASIC authentication with role based configurations.
<security-constraint>
<display-name>No Restriction</display-name>
<web-resource-collection>
<url-pattern>/fr/service/*</url-pattern>
<url-pattern>/fr/style/*</url-pattern>
<url-pattern>/fr/login</url-pattern>
<url-pattern>/xforms-server</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
</security-constraint>
<security-constraint>
<display-name>With Restriction</display-name>
<web-resource-collection>
<web-resource-name>Portal</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>orbeon-service</role-name>
</auth-constraint>
</security-constraint>
But, with all these configurations, when I try to give the orbeon-admin credentials in the local server, it's unable to authenticate, instead provides this log.
xf:submission for submission id: fr-default-submission, error code received when submitting instance: 401
PageFlowControllerProcessor - unauthorized {controller: "oxf:/apps/fr/page-flow.xml", method: "GET", path: "/fr/service/persistence/form", status-code: "401"}
Can any one please help me to fix this issue?

How to create file upload control in custom content model

I create custom model with some textboxes and drop down controls. But I want to create file upload control. How can I do this in alfresco 4.2.f?
Can any one help me please? How can I create file upload in my custom content model??
I created custom model: following is my customModel.xml file
<?xml version="1.0" encoding="UTF-8"?>
<!-- Optional meta-data about the model -->
<description>Custom Model</description>
<author>Admin</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0"
prefix="d" />
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys" />
</imports>
<namespaces>
<namespace uri="http://www.healthindia.org/model/content/1.0" prefix="my" />
</namespaces>
<constraints>
<constraint name="my:departmentcategory" type="LIST">
<parameter name="allowedValues">
<list>
<value>Dep 1</value>
<value>Dep 2</value>
</list>
</parameter>
</constraint>
<constraint name="my:billcategory" type="LIST">
<parameter name="allowedValues">
<list>
<value>BillType1</value>
<value>BillType2</value>
</list>
</parameter>
</constraint>
</constraints>
<types>
<!-- Definition of new Content Type: Press Release -->
<type name="my:content">
<title>My Post</title>
<parent>cm:content</parent>
<properties>
<property name="my:department">
<title>Department</title>
<type>d:mltext</type>
<multiple>false</multiple>
<index enabled="false">
<atomic>false</atomic>
<stored>false</stored>
<tokenised>false</tokenised>
</index>
<constraints>
<constraint ref="my:departmentcategory" />
</constraints>
</property>
<property name="my:subject">
<title>Subject</title>
<type>d:mltext</type>
</property>
<property name="my:billtype">
<title>Bill Type</title>
<type>d:mltext</type>
<multiple>false</multiple>
<index enabled="false">
<atomic>false</atomic>
<stored>false</stored>
<tokenised>false</tokenised>
</index>
<constraints>
<constraint ref="my:billcategory" />
</constraints>
</property>
<property name="my:billtitle">
<title>Bill Title</title>
<type>d:mltext</type>
</property>
<property name="my:billno">
<title>Bill No</title>
<type>d:mltext</type>
</property>
<!-- <property name="my:category"> <title>Category</title> <type>d:mltext</type>
</property> -->
</properties>
<associations>
<association name="my:files">
<title>Files</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:content</class>
<mandatory>false</mandatory>
<many>true</many>
</target>
</association>
</associations>
</type>
<!-- Definition of new Content Type: Press Release -->
<type name="my:housecontent">
<title>House Master</title>
<parent>cm:content</parent>
<properties>
<property name="my:houseid">
<title>House Id</title>
<type>d:mltext</type>
</property>
<property name="my:housename">
<title>House Name</title>
<type>d:mltext</type>
</property>
<!-- <property name="my:category"> <title>Category</title> <type>d:mltext</type>
</property> -->
</properties>
</type>
</types>
In this file I created textboxes and drop down controls, and I want file upload also (like Add Content in alfresco explorer). I don't have any idea about how this can be done.

In sbt, how can I publish to a resolver defined in an external ivy settings file?

We have numerous ant-based projects which depend on a single ivysettings.xml where our ivy resolvers are defined. I'm creating a new sbt-based project, and according to the DRY principle, I'd like for sbt to also depend on this same ivysettings.xml file (rather than attempting to re-defining the resolvers within the sbt script). This turned out to be really easy, using externalIvySettings() -- at least, for resolving dependencies.
However, we also need to publish to one of the resolvers defined in the file. In ant, this is really easy: <ivy:publish resolver="..." />", however with sbt I'm stumped. Sbt has a publishTo setting which can be used to define a resolver to publish to, but I don't want to define a new resolver. Instead, I want to pull a resolver out of the settings loaded by externalIvySettings(), and pass this to publishTo. Is this possible?
Edit:
Here is the ivysettings.xml file as requested. We want to publish to the "modules" resolver.
<ivysettings>
<properties file="${ivy.settings.dir}/ivysettings.properties" />
<settings defaultResolver="default" defaultResolveMode="dynamic"/>
<property name="x1.resolver" value="x1-fs" override="false"/>
<property name="x2.resolver" value="x2-fs" override="false"/>
<property name="x1.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="x1.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="x2.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="x2.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="local.root" value="${ivy.default.ivy.user.dir}/x1-local" override="true"/>
<property name="local.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="local.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="modules.root" value="${ivy.settings.dir}/ivy/published" override="true"/>
<property name="modules.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<property name="modules.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="true"/>
<!-- some default values for paths to the x2 and x1 repositories; these should be overridden in ivysettings.properties -->
<property name="x2.fs.root" value="${ivy.settings.dir}/ivy/x2root" override="false"/>
<property name="x1.fs.root" value="${ivy.settings.dir}/ivy/x1root" override="false"/>
<property name="ivy.cache.dir" value="${ivy.settings.dir}/ivy/cache"/>
<caches defaultCacheDir="${ivy.cache.dir}"/>
<resolvers>
<filesystem name="x1-fs">
<ivy pattern="${x1.fs.root}/${x1.ivy.pattern}" />
<artifact pattern="${x1.fs.root}/${x1.artifact.pattern}" />
</filesystem>
<filesystem name="x2-fs">
<ivy pattern="${x2.fs.root}/${x2.ivy.pattern}" />
<artifact pattern="${x2.fs.root}/${x2.artifact.pattern}" />
</filesystem>
<chain name="x1">
<resolver ref="${x1.resolver}"/>
</chain>
<chain name="x2">
<resolver ref="${x2.resolver}"/>
</chain>
<filesystem name="local">
<ivy pattern="${local.root}/${local.ivy.pattern}" />
<artifact pattern="${local.root}/${local.artifact.pattern}" />
</filesystem>
<filesystem name="modules" checkmodified="true" changingPattern="*" changingMatcher="glob">
<ivy pattern="${modules.root}/${modules.ivy.pattern}" />
<artifact pattern="${modules.root}/${modules.artifact.pattern}" />
</filesystem>
<chain name="main" dual="true">
<resolver ref="modules"/>
<resolver ref="x1"/>
<resolver ref="x2"/>
</chain>
<chain name="default" returnFirst="true">
<resolver ref="local"/>
<resolver ref="main"/>
</chain>
</resolvers>
</ivysettings>
found the answer in this link https://github.com/sbt/sbt/issues/1999
But the answer is to just reference the resolver by name. In your situation it would be
publishTo := Some(Resolver.file("modules"))
since you want to publish using the "modules" resolver

ASCX Web Controls are not stored in Database

Recently we have upgraded to Tridion 2011 SP1 from Tridion 5.3.
In our existing implementation we have various Dynamic Component Templates. For few CTs output format is ASCX Web Control for few CTs output format is HTML Fragment.
After publishing we came across
1) ASCX WebControls are NOT stored to Storage Database (SQLServer). In Tridion 5.3 they were.
2) HTML Fragments are getting stored in database.
In our implementation binary files, page, embedded component templates are stored on file system and Dynamic component templates are stored in SQL Sever database.
We think we have missed something in our cd_storage_config. Please find attached config file.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
<Global>
<ObjectCache Enabled="false">
<Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
<Param Name="MemSize" Value="16mb"/>
</Policy>
<Features>
<Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
</Features>
</ObjectCache>
<Storages>
<Storage Type="persistence" Id="sqlserver" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="local" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="TridionBroker" />
<Property Name="user" Value="TridionBrokerUser" />
<Property Name="password" Value="mypass" />
</DataSource>
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
<Root Path="d:\Inetpub\MyPortal" />
</Storage>
<Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
<Root Path="d:\Inetpub\MyPortal\data" />
</Storage>
<SearchFilter Name="SearchFilter" Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" defaultStorageId="sqlserver"/>
</Storages>
</Global>
<ItemTypes defaultStorageId="defaultDataFile" cached="false">
<Item typeMapping="Query" storageId="sqlserver"/>
<Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Item typeMapping="Binary" cached="false" storageId="defaultFile"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Jsp" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Xml" storageId="sqlserver"/>
<Item typeMapping="ComponentPresentation" itemExtension=".Txt" storageId="sqlserver"/>
<Item typeMapping="Metadata" cached="true" storageId="sqlserver"/>
<Item typeMapping="XSLT" cached="true" storageId="sqlserver"/>
</ItemTypes>
<License Location="d:\Tridion\config\cd_licenses.xml"/>
You don't have any ascx binding in your storage config. In 5.3, it used to be Asp binding.
Change the following:
<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>
To:
<Item typeMapping="ComponentPresentation" itemExtension=".ascx" storageId="sqlserver"/>
Also, in tridion 2011 you don't need to specify mapping for each type (like txt, jsp etc..) if you want all to be stored in db.
You can simply do this:
<Item typeMapping="ComponentPresentation" storageId="sqlserver"/>

Resources