There were six files that used to be managed from deployment to deployment.
2 Spring config files in webaccess...
- webaccess/tool/src/webapp/WEB-INF/spring-beans.xml
- webaccess/tool/src/webapp/WEB-INF/spring-servlet.xml
Fix: Reference sakai.properties with a system variable.
No configuration change required for this fix. Just update from subversion. webaccess/tool/src/webapp/WEB-INF/spring-beans.xml<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> - <property name="location"><value>file:/usr/local/sakai-2.3/sakai/sakai.properties</value></property> + <property name="location"><value>file:${sakai.home}/sakai.properties</value></property> </bean>
webaccess/tool/src/webapp/WEB-INF/spring-servlet.xml<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> - <property name="location"><value>file:/usr/local/sakai-2.3/sakai/sakai.properties</value></property> + <property name="location"><value>file:${sakai.home}/sakai.properties</value></property> </bean>
2 CAS Filter Implementations
- login/login-tool/tool/src/webapp/WEB-INF/web.xml
- uportal-connector/tool/src/webapp/WEB-INF/web.xml
Fix: Modified casclient-2.1.1 to casclient-2.1.2 to include initialization from JNDI and servlet context. I used JNDI for Sakai
Configuration change required for this fix. Update from subversion and make the following changes in server.xml and context.xml. login/login-tool/tool/src/webapp/WEB-INF/web.xml<filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> - <param-value>https://secure.its.yale.edu/cas/login</param-value> + <param-name>edu.yale.its.tp.cas.client.filter.configJndiPath</param-name> + <param-value>java:comp/env/cas/sakai-login-tool</param-value> </init-param> - <init-param> - <param-name> - edu.yale.its.tp.cas.client.filter.validateUrl - </param-name> - <param-value> - [https://secure.its.yale.edu/cas/serviceValidate] - </param-value> - </init-param> - <init-param> - <param-name> - edu.yale.its.tp.cas.client.filter.serverName - </param-name> - <param-value>sakai21-dev.its.yale.edu</param-value> - </init-param> - <init-param> - <param-name> - edu.yale.its.tp.cas.client.filter.wrapRequest - </param-name> - <param-value>true</param-value> - </init-param> </filter>uportal-connector/tool/src/webapp/WEB-INF/web.xml<filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> - <param-value>[https://secure.its.yale.edu/cas/login]</param-value> + <param-name>edu.yale.its.tp.cas.client.filter.configJndiPath</param-name> + <param-value>java:comp/env/cas/uportal-connector</param-value> </init-param> - <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> - <param-value>[https://secure.its.yale.edu/cas/proxyValidate]</param-value> - </init-param> - <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.authorizedProxy</param-name> - <param-value> - https://portal.yale.edu/CasProxyServlet - https://bramhall.cis.yale.edu/uPortal/CasProxyServlet - https://portaldev.its.yale.edu/uPortal/CasProxyServlet - https://portaldev.its.yale.edu/YaleInfoDLM/CasProxyServlet - https://portaldev.its.yale.edu/YaleInfo2dotoh/CasProxyServlet - https://portaldev.its.yale.edu/skindev/CasProxyServlet - </param-value> - </init-param> - <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> - <param-value>localhost:8080</param-value> - </init-param> - <init-param> - <param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name> - <param-value>true</param-value> - </init-param> </filter>
$CATALINA_HOME/conf/server.xml+ + <Resource name="cas/sakai-login-tool" + auth="Container" + type="edu.yale.its.tp.cas.client.filter.CASFilterConfig" + factory="org.apache.naming.factory.BeanFactory" + loginUrl="https://secure.its.yale.edu/cas/login" + validateUrl="https://secure.its.yale.edu/cas/serviceValidate" + serverName="classesv2-dev.its.yale.edu" + wrapRequest="true" /> + + <Resource name="cas/uportal-connector" + auth="Container" + type="edu.yale.its.tp.cas.client.filter.CASFilterConfig" + factory="org.apache.naming.factory.BeanFactory" + loginUrl="https://secure.its.yale.edu/cas/login" + validateUrl="https://secure.its.yale.edu/cas/proxyValidate" + authorizedProxy="https://portal.yale.edu/CasProxyServlet + https://bramhall.cis.yale.edu/uPortal/CasProxyServlet + https://portaldev.its.yale.edu/uPortal/CasProxyServlet + https://portaldev.its.yale.edu/YaleInfoDLM/CasProxyServlet + https://portaldev.its.yale.edu/YaleInfo2dotoh/CasProxyServlet + https://portaldev.its.yale.edu/skindev/CasProxyServlet" + serverName="classesv2-dev.its.yale.edu" + wrapRequest="true" />
$CATALINA_HOME/conf/context.xml+ <ResourceLink name="cas/sakai-login-tool" type="edu.yale.its.tp.cas.client.filter.CASFilterConfig" global="cas/sakai-login-tool" /> + <ResourceLink name="cas/uportal-connector" type="edu.yale.its.tp.cas.client.filter.CASFilterConfig" global="cas/uportal-connector" />
James Configuration...
- The James configuration file is initialized with values from sakai.properties during the JamesServlet initialization. Setting the file back to the original distribution version fixes the per deployment dependency.

No configuration change required for this fix. Must have james properties in sakai.properties and/or local.properties mailarchive/mailarchive-james/james/src/webapp/apps/james/SAR-INF/config.xml... - <postmaster>postmaster@classesv2.yale.edu</postmaster> + <postmaster>postmaster@[HOST]</postmaster> ... - <servername>classesv2.yale.edu</servername> + <servername>[HOST]</servername> ... - <server>130.132.1.10</server> - <server>130.132.1.9</server> + <server>[DNS1]</server> + <server>[DNS2]</server> ... - <port>8025</port> + <port>[SMTP.PORT]</port>
sakai/sakai.properties# the DNS name of the server serverName=jvtp.its.yale.edu # dns addresses used by James for incoming email smtp.dns.1=130.132.1.9 smtp.dns.2=130.132.1.10sakai/local.properties# SMTP port on which James runs. Default is 25. Recommend running on 8025, and using a standard mailer on 25 to forward mail to Sakai. smtp.port=8025
Log4J Configuration file log4j.properties
- We are keeping the Production version of the log4j.properties in source control, therefor deployed on all releases. To manage a local logging policy we add the following line to $CATALINA_OPTS during tomcat startup, and manage a local log4j.properties in the sakai dir.

No configuration change required for this fix. If you want a local logging policy, edit your startup script. $CATALINA_HOME/startup.shOPTS="-Xms2048m" OPTS="${OPTS} -Xmx2048m" OPTS="${OPTS} -XX:PermSize=128m" OPTS="${OPTS} -XX:MaxPermSize=256m" OPTS="${OPTS} -XX:NewSize=400m" OPTS="${OPTS} -XX:MaxNewSize=400m" OPTS="${OPTS} -server" OPTS="${OPTS} -Djava.net.preferIPv4Stack=true" OPTS="${OPTS} -Djava.awt.headless=true" + OPTS="${OPTS} -Dlog4j.configuration=file:${CATALINA_HOME}/sakai/log4j.properties " export CATALINA_OPTS="${OPTS}"
Labels
(None)