...
- added jndi datasource to uPortal55.xml
Code Block <Resource name="jdbc/ourNewAudResolutionDb" auth="Container" type="javax.sql.DataSource" username="<at:var at:name="ourNewAud001jdbcUser" />" @ourNewAud001jdbcUser@" password="<at:var at:name="ourNewAud001jdbcPassword@ourNewAud001jdbcPassword@" />" driverClassName="<at:var at:name="ourNewAud001jdbcDriver" />@ourNewAud001jdbcDriver@" url="<at:var at:name="ourNewAud001jdbcUrl@ourNewAud001jdbcUrl@" />" maxActive="100" maxIdle="30" maxWait="10000" poolPreparedStatements="<at:var at:name="poolPreparedStatements" />@poolPreparedStatements@" removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" />
- added jndi attribute mappings to rdbm.properties
Code Block ourNewAud001jdbcDriver=oracle.jdbc.driver.OracleDriver ourNewAud001jdbcUrl=jdbc:oracle:thin:@ourNewHostDb:1521:ourNewHostSid ourNewAud001jdbcUser=ourNewDbUid ourNewAud001jdbcPassword=ourNewDbPsw
- changed personDirectory.xml to support merged attributes
Code Block <bean id="personAttributeDao" class="org.jasig.portal.services.persondir.support.CachingPersonAttributeDaoImpl"> <property name="cachedPersonAttributesDao"> <ref bean="mergedAttributes"/> </property> </bean> <bean id="mergedAttributes" class="org.jasig.portal.services.persondir.support.MergingPersonAttributeDaoImpl"> <property name="personAttributeDaos"> <list> <ref bean="uPortalLdapAttributeSource"/> <ref bean="ourNewAudJdbcAttributeSource"/> </list> </property> </bean>
- added our new audience datasource bean details to personDirectory.xml
Code Block <bean id="ourNewAudJdbcAttributeSource" class="org.jasig.portal.services.persondir.support.JdbcPersonAttributeDaoImpl"> <constructor-arg> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="staticMethod"> <value>org.jasig.portal.RDBMServices.getDataSource</value> </property> <property name="arguments"> <list><value>ourNewAudResolutionDb</value></list> </property> </bean> </constructor-arg> <constructor-arg> <list> <value>username</value> </list> </constructor-arg> <constructor-arg> <value>select count(uid) as is_new_aud_user from ourNewAudTable where uid=?</value> </constructor-arg> <property name="columnsToAttributes"> <map> <entry key="is_new_aud_user"> <value>isNewAudUser</value> </entry> </map> </property> </bean>
- added audience resolution condition to dlm.xml (referencing the person attribute created above)
Code Block <dlm:fragment name='frg-our-new-fragment' ownerID='our-new-fragment-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers.PersonEvaluatorFactory'> <paren mode="AND"> <paren mode="NOT"> <attribute name="username" mode='equals' value='guest-usr'/> </paren> <paren mode="NOT"> <attribute name="isNewAudUser" mode='equals' value='0'/> </paren> </paren> </dlm:audience> </dlm:fragment>