[Building Sakai] Error creating bean with name 'PersistenceService'

Paul Dagnall dagnalpb at notes.udayton.edu
Sun Jun 13 04:42:23 PDT 2010


Yikes!
Following an update and restart, I'm getting the following error when I try
to access the Samigo tool. There were some Samigo updates but they were
cosmetic. All other tools appear to work fine. Any ideas?

Jun 13, 2010 7:21:54 AM org.sakaiproject.component.impl.SpringCompMgr get
WARNING: get(PersistenceService):
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'PersistenceService' defined in file
[/opt/apache-tomcat-5.5.27/components/sakai-samigo-pack/WEB-INF/components.xml]:
Cannot resolve reference to bean 'AssessmentFacadeQueries' while setting
bean property 'assessmentFacadeQueries'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'AssessmentFacadeQueries' defined in file
[/opt/apache-tomcat-5.5.27/components/sakai-samigo-pack/WEB-INF/components.xml]:
Invocation of init method failed; nested exception is
java.lang.NoClassDefFoundError
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'AssessmentFacadeQueries' defined in file
[/opt/apache-tomcat-5.5.27/components/sakai-samigo-pack/WEB-INF/components.xml]:
Invocation of init method failed; nested exception is
java.lang.NoClassDefFoundError
Caused by: java.lang.NoClassDefFoundError
    at sun.reflect.GeneratedConstructorAccessor337.newInstance(Unknown
Source)
    at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:588)
    at
org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:117)
    at
org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
    at
org.springframework.aop.framework.AbstractSingletonProxyFactoryBean.getProxy(AbstractSingletonProxyFactoryBean.java:187)
    at
org.springframework.aop.framework.AbstractSingletonProxyFactoryBean.afterPropertiesSet(AbstractSingletonProxyFactoryBean.java:159)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at
org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:115)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
    at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
    at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
    at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at
org.sakaiproject.util.NoisierDefaultListableBeanFactory.getBean(NoisierDefaultListableBeanFactory.java:115)
    at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733)
    at
org.sakaiproject.component.impl.SpringCompMgr.get(SpringCompMgr.java:188)
    at
org.sakaiproject.component.cover.ComponentManager.get(ComponentManager.java:80)
    at
org.sakaiproject.tool.assessment.services.PersistenceService.getInstance(PersistenceService.java:66)
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.addPrivilege(AuthorizationBean.java:231)
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.canCreateAssessment(AuthorizationBean.java:150)
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.addAllPrivilege(AuthorizationBean.java:94)
    at
org.apache.jsp.jsf.index.mainIndex_jsp._jspService(mainIndex_jsp.java:83)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
    at
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
    at
org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:137)
    at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:285)
    at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:479)
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
    at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
    at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
    at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:595)
Jun 13, 2010 7:21:54 AM org.sakaiproject.portal.util.ErrorReporter
logAndMail
WARNING: Bug Report bug-id: 7ea818fb-6ce1-454a-94fb-e1320e5ebe4b user:
547cc901-d49c-4096-b3ed-7d457e52f15b usage-session:
31355d0d-2246-462d-b4ea-5604ed5efb3b time: Jun 13, 2010 07:21:54 user
comment: null stack trace
org.sakaiproject.portal.api.PortalHandlerException:
org.sakaiproject.tool.api.ToolException
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
caused by: org.sakaiproject.tool.api.ToolException
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
caused by: org.apache.jasper.JasperException
    at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
caused by: java.lang.NullPointerException
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.addPrivilege(AuthorizationBean.java:231)
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.canCreateAssessment(AuthorizationBean.java:150)
    at
org.sakaiproject.tool.assessment.ui.bean.authz.AuthorizationBean.addAllPrivilege(AuthorizationBean.java:94)
    at
org.apache.jsp.jsf.index.mainIndex_jsp._jspService(mainIndex_jsp.java:83)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
    at
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
    at
org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:137)
    at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:565)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
org.sakaiproject.jsf.util.SamigoJsfTool.dispatch(SamigoJsfTool.java:285)
    at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)
    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:479)
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)
    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:188)
    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:93)
    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
    at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
    at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
    at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:595)

Tool Placement:
No Placement

Request:
:    AuthType:null
:    CharEncoding:UTF-8
:    ContentLength:-1
:    ContentType:null
:    ContextPath:/portal
:    LocalAddress:null
:    LocalName:isidore.udayton.edu
:    LocalPort:443
:    Method:GET
:    PathInfo:/tool/dc5fc464-07e7-4997-8e3e-62ec2b72fcdb/jsf/index/mainIndex
:    Protocol:HTTP/1.1
:    QueryString:null
:    RemoteAddress:99.135.10.30
:    RemoteHost:99.135.10.30
:    RemotePort:-1
:    Requested URL:
https://isidore.udayton.edu/portal/tool/dc5fc464-07e7-4997-8e3e-62ec2b72fcdb/jsf/index/mainIndex
:    Scheme:https
:    ServerName:isidore.udayton.edu
:    Headers:
:        Header:host:isidore.udayton.edu
:        Header:user-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
:
Header:accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
:        Header:accept-language:en-us,en;q=0.5
:        Header:accept-encoding:gzip,deflate
:        Header:accept-charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
:        Header:Keep-Alive:115
:        Header:connection:keep-alive
:        Header:referer:
https://isidore.udayton.edu/portal/site/9bda087a-88d2-4250-afd8-738813e04391/page/29230ad3-a369-4dfa-8bc0-94394bb004b7
:        Header:cookie:---censored---
:    Parameters:
:    Attributes:
:
Attribute:tool.url.manager:org.sakaiproject.portal.util.ToolURLManagerImpl at 241424cc
:
Attribute:sakai.session:org.sakaiproject.tool.impl.SessionComponent$MySession at 50be34f9
:        Attribute:javax.servlet.request.key_size:256
:        Attribute:sakai.html.head.js:<script type="text/javascript"
language="JavaScript" src="/library/js/headscripts.js"></script>

:
Attribute:sakai.html.body.onload:setMainFrameHeight('Maindc5fc464x07e7x4997x8e3ex62ec2b72fcdb');setFocus(focus_path);
:
Attribute:javax.servlet.request.cipher_suite:DHE-RSA-CAMELLIA256-SHA
:        Attribute:sakai.html.head.css.base:<link
href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
media="all" />

:
Attribute:sakai.character.encoding.done:sakai.character.encoding.done
:        Attribute:sakai.html.head:<link href="/library/skin/tool_base.css"
type="text/css" rel="stylesheet" media="all" />
<link href="/library/skin/isidore/tool.css" type="text/css" rel="stylesheet"
media="all" />
<script type="text/javascript" language="JavaScript"
src="/library/js/headscripts.js"></script>

:        Attribute:sakai.request.native.url:sakai.request.native.url
:        Attribute:sakai.filtered:sakai.filtered
:        Attribute:sakai.html.head.css.skin:<link
href="/library/skin/isidore/tool.css" type="text/css" rel="stylesheet"
media="all" />

:        Attribute:sakai.html.head.css:<link
href="/library/skin/tool_base.css" type="text/css" rel="stylesheet"
media="all" />
<link href="/library/skin/isidore/tool.css" type="text/css" rel="stylesheet"
media="all" />

:
Attribute:javax.servlet.request.ssl_session:F51A08EFB3C224AEC94C420351196843C9E0E406672B727E1CFB873E2C55CAEE
Session:
:    Created:1276427926391
:    LastAccess:1276428114381
:    MaxInactive:3600
:    Attributes:
:        Attribute:portalskin:defaultskin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20100613/65e31f8d/attachment.html 


More information about the sakai-dev mailing list