[Portfolio] Null pointer errors

Maurer, Christopher Wayne chmaurer at iupui.edu
Wed Mar 25 08:36:44 PDT 2009


I think this bug is what you¹re talking about (or pretty close, at least):
http://jira.sakaiproject.org/jira/browse/SAK-11468

Might be useful if you added your errors to it, that way we¹d have some
current references.
Dealing with the ³Back² button is tricky business, especially when it comes
to these form helpers.
If this is turning into a big headache, feel free to bump up the priority on
the issue (or if permissions don¹t allow it, make the suggestion, and
someone else will).

Chris


On 3/25/09 5:48 AM, "Sander Steeman" <sander at portfolio4u.nl> wrote:

> Dear all,
> 
> We have been able to reproduce the stack trace below in our own production
> environment (Sakai 2.5.2) and on nightly build (Maintenance Branch). Here is
> the scenario:
> 
> - In Matrices/Wizard click on a link to fill out a form
> (reflection/feedback/evaluation)
> - Start filling out the form
> - Click the browser's "Back" button (presumably because the user wants to
> check something on the previous page -i.e. matrix cell/wizard page)
> - Click again on the link to fill out the form > Stack trace :
> 
> caused by: java.lang.NumberFormatException: null
>     at java.lang.Integer.parseInt(Integer.java:415)
>     at java.lang.Integer.parseInt(Integer.java:497)
>     at 
> org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(Revi
> ewHelperController.java:130)
>     at 
> org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(View
> ControllerImpl.java:78)
>     at 
> org.springframework.web.servlet.mvc.AbstractCommandController.handleRequestInt
> ernal <http://web.servlet.mvc.AbstractCommandController.handleRequestInternal>
> (AbstractCommandController.java:84)
>     at org.springframework.web.servlet.mvc.AbstractController.handleRequest
> <http://web.servlet.mvc.AbstractController.handleRequest>
> (AbstractController.java:153)
>     at 
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle
> <http://web.servlet.mvc.SimpleControllerHandlerAdapter.handle>
> (SimpleControllerHandlerAdapter.java:48)
> 
> I couldn't find a JIRA ticket for it. Is it there? Should I file one?
> 
> Regards,
> 
> Sander Steeman
> 
> product manager
> Learning4u (Portfolio4u b.v.)
> Science Park 400
> 1098 XH Amsterdam
> The Netherlands
> 
> 
> On Wed, Dec 10, 2008 at 8:28 PM, Noah Botimer <botimer at umich.edu> wrote:
>>  
>> Hi Marc,
>> 
>> There are a couple of exceptions that we have been seeing occasionally but
>> haven't been able to track down yet.  This particular one doesn't look
>> familiar, but here are some of the hotspots we're seeing (with a few lines of
>> stack trace for each).
>> 
>> Initial inspection points at session/helper stuff for each of these, but
>> reproduction has proven elusive.  We'll be looking into these in more detail
>> as time permits.  There are likely to be some JIRA tickets to track once we
>> know more.
>> 
>> Thanks,
>> -Noah
>> 
>> 
>> request-path: 
>> /portal/tool/6a9c3957-548e-4dd2-00c8-d3d6c6b8ea11/osp.wizard.page.contents.he
>> lper/sakai.metaobj.form.helper/formEditHelper
>> caused by: java.lang.NullPointerException
>>     at 
>> org.sakaiproject.metaobj.shared.control.EditXmlElementController.fillBackingO
>> bject(EditXmlElementController.java:114)
>>     at 
>> org.sakaiproject.metaobj.utils.mvc.impl.servlet.FormControllerImpl.formBackin
>> gObject(FormControllerImpl.java:159)
>>     at 
>> org.springframework.web.servlet.mvc.AbstractFormController.getErrorsForNewFor
>> m <http://web.servlet.mvc.AbstractFormController.getErrorsForNewForm>
>> (AbstractFormController.java:343)
>>     at org.springframework.web.servlet.mvc.AbstractFormController.showNewForm
>> <http://web.servlet.mvc.AbstractFormController.showNewForm>
>> (AbstractFormController.java:323)
>> 
>> request-path: 
>> /portal/tool/ffdbaa61-8404-458b-be4e-784eeecf36d1/osp.wizard.page.contents.he
>> lper/sakai.metaobj.form.helper/formEditHelper
>> caused by: java.lang.NullPointerException
>>     at 
>> org.sakaiproject.metaobj.shared.model.ElementBean.getType(ElementBean.java:35
>> 4)
>>     at 
>> org.sakaiproject.metaobj.utils.mvc.impl.MapWrapper.setPropertyValue(MapWrappe
>> r.java:116)
>>     at 
>> org.sakaiproject.metaobj.utils.mvc.impl.MapWrapper.setPropertyValue(MapWrappe
>> r.java:136)
>>     at 
>> org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(Abstract
>> PropertyAccessor.java:78)
>>     at 
>> org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java
>> :532)
>>     at org.springframework.validation.DataBinder.doBind(DataBinder.java:434)
>> 
>> request-path: 
>> /portal/tool/ffdbaa61-8404-458b-be4e-784eeecf36d1/osp.wizard.page.contents.he
>> lper/sakai.metaobj.form.helper/formCreateHelper.osp
>> caused by: java.lang.NullPointerException
>>     at 
>> org.sakaiproject.metaobj.shared.mgt.home.StructuredArtifactDefinition.<init>(
>> StructuredArtifactDefinition.java:101)
>>     at 
>> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.createHome
>> (DbXmlHomeFactoryImpl.java:82)
>>     at 
>> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.getHome(Db
>> XmlHomeFactoryImpl.java:58)
>>     at 
>> org.sakaiproject.metaobj.shared.mgt.factories.DbXmlHomeFactoryImpl.handlesTyp
>> e(DbXmlHomeFactoryImpl.java:46)
>>     at 
>> org.sakaiproject.metaobj.shared.mgt.HomeFactoryImpl.getHome(HomeFactoryImpl.j
>> ava:64)
>>     at 
>> org.sakaiproject.metaobj.shared.control.XmlControllerBase.getSchema(XmlContro
>> llerBase.java:219)
>> 
>> request-path: 
>> /portal/tool/49a87eaa-3e88-4803-bc6b-6da5a1b12321/osp.review.processor.helper
>> /reviewHelper.osp
>> caused by: java.lang.NullPointerException
>>     at 
>> org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(Rev
>> iewHelperController.java:145)
>>     at 
>> org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(Vie
>> wControllerImpl.java:78)
>>     at 
>> org.springframework.web.servlet.mvc.AbstractCommandController.handleRequestIn
>> ternal 
>> <http://web.servlet.mvc.AbstractCommandController.handleRequestInternal>
>> (AbstractCommandController.java:84)
>>     at org.springframework.web.servlet.mvc.AbstractController.handleRequest
>> <http://web.servlet.mvc.AbstractController.handleRequest>
>> (AbstractController.java:153)
>>     at 
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle
>> <http://web.servlet.mvc.SimpleControllerHandlerAdapter.handle>
>> (SimpleControllerHandlerAdapter.java:48)
>> 
>> [somewhere in the review helper process]
>> caused by: java.lang.NumberFormatException: null
>>     at java.lang.Integer.parseInt(Integer.java:415)
>>     at java.lang.Integer.parseInt(Integer.java:497)
>>     at 
>> org.theospi.portfolio.matrix.control.ReviewHelperController.handleRequest(Rev
>> iewHelperController.java:130)
>>     at 
>> org.sakaiproject.metaobj.utils.mvc.impl.servlet.ViewControllerImpl.handle(Vie
>> wControllerImpl.java:78)
>>     at 
>> org.springframework.web.servlet.mvc.AbstractCommandController.handleRequestIn
>> ternal 
>> <http://web.servlet.mvc.AbstractCommandController.handleRequestInternal>
>> (AbstractCommandController.java:84)
>>     at org.springframework.web.servlet.mvc.AbstractController.handleRequest
>> <http://web.servlet.mvc.AbstractController.handleRequest>
>> (AbstractController.java:153)
>>     at 
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle
>> <http://web.servlet.mvc.SimpleControllerHandlerAdapter.handle>
>> (SimpleControllerHandlerAdapter.java:48)
>> 
>> On Dec 10, 2008, at 2:02 PM, Marc Zaldivar wrote:
>> 
>>>       All,
>>>  
>>>  We received a bunch of errors last night that were essentially null pointer
>>> errors.  It looks like a majority of them (though not all) came from users
>>> using the Matrix and Portfolio tools from their My Workspace area.  I¹m
>>> copying a typical error below.  This one points at the ³viewmatrix.osp²
>>> tool, but the most frequent errors came from the
>>> ³sakai.metaobj.form.helper/formEditHelper² or the ³.../formCreateHelper²
>>>  tools.  We can¹t seem to duplicate the issue on our test machines.  It
>>> seems to affect Mac users, Vista users, and XP users, and we got reports
>>> from users using Firefox 3, IE7, Chrome, and Safari (even though we don¹t
>>> support the last two browsers).
>>>  
>>>  My questions:
>>>  
>>> 1. Has there been a known issue with the Matrix/Portfolio tool use from the
>>> My Workspace (filling out forms in a matrix, viewing a matrix, creating a
>>> portfolio, viewing a portfolio)?
>>> 2. Have any of you seen these regular null pointer errors originating from
>>> OSP forms? I didn¹t see anything in the Sakai Jira referencing these.
>>> 3. Does anyone see anything in the report below indicating what the issue
>>> is?   
>>> 4.  
>>> 
>>>  Thanks!
>>>  
>>>  Marc Zaldivar
>>>  ====================================
>>>  usage-session: 051e9554-06bc-426d-b5b1-ef2e2f420211
>>>  stack-trace-digest: 30739E2B5592E037F0B64B56330FFE8610B9E8D2
>>>  sakai-version: 2.5.0
>>>  service-version: 2.5
>>>  app-server: ketchup
>>>  user-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4)
>>> Gecko/2008102920 Firefox/3.0.4
>>>  browser-id: Win-Mozilla
>>>  IP: 127.0.0.1
>>>  request-path: 
>>> /xsl-portal/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/viewMatrix.osp
>>>  time: Dec 10, 2008 05:56:55
>>>  
>>>  
>>>  stack trace:
>>>  
>>>  org.sakaiproject.portal.api.PortalHandlerException:
>>> org.sakaiproject.tool.api.ToolException: Request processing failed; nested
>>> exception is java.lang.NullPointerException
>>>      at 
>>> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPo
>>> rtal.java:892)
>>>  caused by: org.sakaiproject.tool.api.ToolException: Request processing
>>> failed; nested exception is java.lang.NullPointerException
>>>      at 
>>> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCh
>>> aronPortal.java:1344)
>>>  caused by: org.springframework.web.util.NestedServletException
>>> <http://web.util.NestedServletException> : Request processing failed; nested
>>> exception is java.lang.NullPointerException
>>>      at org.springframework.web.servlet.FrameworkServlet.doGet
>>> <http://web.servlet.FrameworkServlet.doGet> (FrameworkServlet.java:430)
>>>  caused by: java.lang.NullPointerException
>>>      at 
>>> org.theospi.portfolio.matrix.control.ViewMatrixController.referenceData(View
>>> MatrixController.java:219)
>>>      at 
>>> org.sakaiproject.metaobj.utils.mvc.impl.servlet.FormControllerImpl.reference
>>> Data(FormControllerImpl.java:115)
>>>      at org.springframework.web.servlet.mvc.AbstractFormController.showForm
>>> <http://web.servlet.mvc.AbstractFormController.showForm>
>>> (AbstractFormController.java:559)
>>>      at org.springframework.web.servlet.mvc.SimpleFormController.showForm
>>> <http://web.servlet.mvc.SimpleFormController.showForm>
>>> (SimpleFormController.java:198)
>>>      at org.springframework.web.servlet.mvc.SimpleFormController.showForm
>>> <http://web.servlet.mvc.SimpleFormController.showForm>
>>> (SimpleFormController.java:175)
>>>      at 
>>> org.springframework.web.servlet.mvc.AbstractFormController.showNewForm
>>> <http://web.servlet.mvc.AbstractFormController.showNewForm>
>>> (AbstractFormController.java:323)
>>>      at 
>>> org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInte
>>> rnal <http://web.servlet.mvc.AbstractFormController.handleRequestInternal>
>>> (AbstractFormController.java:263)
>>>      at org.springframework.web.servlet.mvc.AbstractController.handleRequest
>>> <http://web.servlet.mvc.AbstractController.handleRequest>
>>> (AbstractController.java:153)
>>>      at 
>>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle
>>> <http://web.servlet.mvc.SimpleControllerHandlerAdapter.handle>
>>> (SimpleControllerHandlerAdapter.java:48)
>>>      at org.springframework.web.servlet.DispatcherServlet.doDispatch
>>> <http://web.servlet.DispatcherServlet.doDispatch>
>>> (DispatcherServlet.java:857)
>>>      at org.springframework.web.servlet.DispatcherServlet.doService
>>> <http://web.servlet.DispatcherServlet.doService>
>>> (DispatcherServlet.java:792)
>>>      at org.springframework.web.servlet.FrameworkServlet.processRequest
>>> <http://web.servlet.FrameworkServlet.processRequest>
>>> (FrameworkServlet.java:475)
>>>      at org.springframework.web.servlet.FrameworkServlet.doGet
>>> <http://web.servlet.FrameworkServlet.doGet> (FrameworkServlet.java:430)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
>>> FilterChain.java:269)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
>>> ain.java:188)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
>>> java:691)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
>>> patcher.java:469)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
>>> er.java:403)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
>>> .java:301)
>>>      at 
>>> org.sakaiproject.spring.util.SpringTool.dispatch(SpringTool.java:231)
>>>      at org.sakaiproject.spring.util.SpringTool.doGet(SpringTool.java:294)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
>>> FilterChain.java:269)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
>>> ain.java:188)
>>>      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:555)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
>>> FilterChain.java:215)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
>>> ain.java:188)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
>>> java:691)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
>>> patcher.java:469)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
>>> er.java:364)
>>>      at 
>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
>>> .java:301)
>>>      at 
>>> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveTo
>>> olComponent.java:459)
>>>      at 
>>> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCh
>>> aronPortal.java:1344)
>>>      at 
>>> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:
>>> 163)
>>>      at 
>>> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:8
>>> 6)
>>>      at 
>>> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPo
>>> rtal.java:892)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
>>> FilterChain.java:269)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
>>> ain.java:188)
>>>      at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:592)
>>>      at 
>>> com.rsmart.sakai.kernel.request.BrandRequestFilter.doFilter(BrandRequestFilt
>>> er.java:79)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
>>> FilterChain.java:215)
>>>      at 
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
>>> ain.java:188)
>>>      at 
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
>>> va:210)
>>>      at 
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
>>> va:174)
>>>      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:151)
>>>      at 
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>>>      at 
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
>>> onnection(Http11BaseProtocol.java:665)
>>>      at 
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
>>> a:528)
>>>      at 
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
>>> rkerThread.java:81)
>>>      at 
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
>>> a:685)
>>>      at java.lang.Thread.run(Thread.java:595)
>>>  
>>>  
>>>  Tool Placement:
>>>  No Placement
>>>  
>>>  
>>>  Request:
>>>  :    AuthType:null
>>>  :    CharEncoding:UTF-8
>>>  :    ContentLength:-1
>>>  :    ContentType:null
>>>  :    ContextPath:/xsl-portal
>>>  :    LocalAddress:127.0.0.1
>>>  :    LocalName:localhost
>>>  :    LocalPort:8080
>>>  :    Method:GET
>>>  :    PathInfo:/tool/909437e5-8cde-44a3-8c5f-2c1389421dcf/viewMatrix.osp
>>>  :    Protocol:HTTP/1.1
>>>  :    QueryString:page_id=30FA0EA54C504429C834B7C3AD2A8A34
>>>  :    RemoteAddress:127.0.0.1
>>>  :    RemoteHost:127.0.0.1
>>>  :    RemotePort:59636
>>>  :    Requested
>>> URL:https://scholar.vt.edu/xsl-portal/tool/909437e5-8cde-44a3-8c5f-2c1389421
>>> dcf/viewMatrix.osp
>>>  :    Scheme:https
>>>  :    ServerName:scholar.vt.edu <http://scholar.vt.edu>
>>>  :    Headers:
>>>  :        Header:host:localhost:8080
>>>  :        Header:user-agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
>>> rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
>>>  : 
>>>        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:referer:https://scholar.vt.edu/xsl-portal/tool/909437e5-8cde-4
>>> 4a3-8c5f-2c1389421dcf/osp.wizard.page.contents.helper/sakai.metaobj.form.hel
>>> per/formEditHelper
>>>  :        Header:cookie:---censored---
>>>  :        Header:x-forwarded-for:204.119.253.226
>>>  :        Header:x-forwarded-host:scholar.vt.edu <http://scholar.vt.edu>
>>>  :        Header:x-forwarded-server:ketchup
>>>  :        Header:connection:Keep-Alive
>>>  :    Parameters:
>>>  :        Parameter:page_id:0:30FA0EA54C504429C834B7C3AD2A8A34
>>>  :    Attributes:
>>>  : 
>>>        Attribute:tool.url.manager:org.sakaiproject.portal.util.ToolURLManage
>>> rImpl at 3f08a36c
>>>  : 
>>>        Attribute:sakai.session:org.sakaiproject.tool.impl.SessionComponent$M
>>> ySession at 26242c7e
>>>  :        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.js:<script type="text/javascript"
>>> language="JavaScript" src="/library/js/headscripts.js"></script>
>>>  
>>>  :        Attribute:sakai.html.head:<link href="/library/skin/tool_base.css"
>>> type="text/css" rel="stylesheet" media="all" />
>>>  <link href="/library/skin/Virginia-Tech/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.html.body.onload:setMainFrameHeight('Main909437e5x8cd
>>> ex44a3x8c5fx2c1389421dcf');setFocus(focus_path);
>>>  :        Attribute:sakai.filtered:sakai.filtered
>>>  :        Attribute:sakai.html.head.css.skin:<link
>>> href="/library/skin/Virginia-Tech/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/Virginia-Tech/tool.css" type="text/css"
>>> rel="stylesheet" media="all" />
>>>  
>>>  Session:
>>>  :    Created:1228892326942
>>>  :    LastAccess:1228906615479
>>>  :    MaxInactive:3600
>>>  :    Attributes:
>>>  :        Attribute:portalskin:defaultskin
>>>     
>>> 
>>> 
>>> This automatic notification message was sent by Sakai Collab
>>> (https://collab.sakaiproject.org//portal) from the Project: Portfolio site.
>>> You can modify how you receive notifications at My Workspace > Preferences.
>>>   
>> 
>> 
>> 
>> 
>> This automatic notification message was sent by Sakai Collab
>> (https://collab.sakaiproject.org//portal) from the Project: Portfolio site.
>> You can modify how you receive notifications at My Workspace > Preferences.
>>   
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/portfolio/attachments/20090325/02b5ee3f/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2141 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/portfolio/attachments/20090325/02b5ee3f/attachment-0001.bin 


More information about the portfolio mailing list