[Building Sakai] Roster Tool Issue

Adrian Fish adrian.r.fish at gmail.com
Thu Jul 24 02:41:10 PDT 2014


Thanks for the email Mariano. I have starred it in Gmail :)

I'm off on holiday for the next two weeks. When I get back I'll take a look
at the list and see if I can get some fixed.

Cheers,
Adrian.


On 24 July 2014 10:35, JOSE MARIANO LUJáN GONZáLEZ <jmariano at um.es> wrote:

>  Hi everyone!
>
> At University of Murcia, we are working on the upgrade to Sakai 10. During
> our testing, we found some issues in Roster 2 and because of our limited
> timing, we have also decided to run Roster 1 with Sakai 10.x because its
> much faster than trying to fix all of them.
>
> We've also tried to run R2 (Trunk version - Sakai 11) with Sakai 10.x but
> we also found some other things, here are the main issues for us in both
> versions:
>
> SAKAI - 10
> https://jira.sakaiproject.org/browse/SAK-27501 Roster 2 require
> roster.viewallmembers or roster.viewgroup to work
> https://jira.sakaiproject.org/browse/SAK-26265 Roster2 shows empty list
> in first attempt.
> SAKAI - 11
> https://jira.sakaiproject.org/browse/SAK-26290 Roster tool does not
> display latin characters properly
> https://jira.sakaiproject.org/browse/SAK-26260 Roster is not displayed in
> default site language but in user language
> https://jira.sakaiproject.org/browse/RSTR-67 Add paging capability to
> entity providers
> https://jira.sakaiproject.org/browse/SAK-27578 Roster2 should show a
> loading image (animated .gif) to advice user that is working on rendering
> the list of participants
> https://jira.sakaiproject.org/browse/SAK-17493 Permissions link should
> not be available to Instructor without realm.upd permission
>
>  Short video: Roster 2 (Trunk version) on a Sakai 10 instance loading 2k
> users
>
>
> https://aulavirtual.um.es/access/content/group/e2968dfa-2579-4afb-b87d-d6aacb502846/imagenes%20publicas%20para%20meetings%20s2u/roster2video/Roster2.html
>
>
> Not huge problems but enough to cause some trouble to our users, specially
> in sites with large membership. Bear in mind that we were currently running
> Sakai 2.9.3 with a modified Roster 1 that includes pagination so we had
> minimized R1 performance problems.
>
> Our plan is to try to upgrade to Roster 2 later this year when most issues
> are fixed. Our priority right now is to complete the upgrade to Sakai 10,
> after that, we might be able to work on solving some of the issues
> described above.
>
> Best regards,
> Mariano
>
>
>
> El 23/07/2014 23:03, Miller, Jeffrey escribió:
>
> Thanks a bunch, it's working now ...
>
>
> On Wed, Jul 23, 2014 at 4:00 PM, Stephen Marquard <
> stephen.marquard at uct.ac.za> wrote:
>
>>  Hi Jeffrey
>>
>>  I'm assuming you want to run "roster classic" in Sakai 10.x.
>>
>>  The combination we have running is roster plus "profile class" or
>> legacy profile manager or whatever:
>>
>> roster	     -r310589	https://source.sakaiproject.org/svn/roster/trunk
>> profile	     -r310589	https://source.sakaiproject.org/svn/profile/trunk
>>
>>  with these build patches:
>>
>>  http://source.cet.uct.ac.za/svn/sakai/patches/trunk/profile_build.diff
>> http://source.cet.uct.ac.za/svn/sakai/patches/trunk/roster_build.diff
>>
>>  and then you might needs this sakai.properties setting:
>>
>> profile.manager.integration.bean=org.sakaiproject.api.app.profile.LegacyProfileManager
>>
>>  and you might need to add roster and profile sections to
>> dependencyManagement in your master/pom.xml. Ours is here:
>>
>>
>> https://source.sakaiproject.org/svn/msub/uct.ac.za/master/branches/vula-10.x/pom.xml
>>
>>  Regards
>> Stephen
>>
>>  ------------------------------
>> *From:* sakai-dev-bounces at collab.sakaiproject.org [
>> sakai-dev-bounces at collab.sakaiproject.org] on behalf of Miller, Jeffrey [
>> jeffrey.miller.ctr at usuhs.edu]
>> *Sent:* 23 July 2014 09:47 PM
>> *To:* sakai-dev at collab.sakaiproject.org
>> *Subject:* [Building Sakai] Roster Tool Issue
>>
>>   I just built the roster tool from the same version that UCT is using,
>> svn co -r310589 https://source.sakaiproject.org/svn/roster/trunk
>> roster-trunk.
>> After some pom tweaks to get it to build and then deploy, I'm
>> experiencing the following:
>>
>>  stack trace:
>>
>>
>>  org.sakaiproject.portal.api.PortalHandlerException:
>> org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException: An
>> exception occurred processing JSP page /roster/main.jsp at line 16
>>
>>
>>  13: <sakai:view title="#{msgs.facet_roster_list}"
>> toolCssHref="/sakai-roster-tool/css/roster.css">
>>
>> 14: <%="<script src=\"js/roster.js\"></script>"%>
>>
>> 15: <h:form id="nav_form">
>>
>> 16: <t:aliasBean alias="#{viewBean}" value="#{overview}">
>>
>> 17: <%@ include file="inc/nav.jspf" %>
>>
>> 18: </t:aliasBean>
>>
>> 19:
>>
>>
>>
>>  Stacktrace:
>>
>>     at
>> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:905)
>>
>> caused by: org.sakaiproject.tool.api.ToolException:
>> javax.servlet.ServletException: An exception occurred processing JSP page
>> /roster/main.jsp at line 16
>>
>>
>>  13: <sakai:view title="#{msgs.facet_roster_list}"
>> toolCssHref="/sakai-roster-tool/css/roster.css">
>>
>> 14: <%="<script src=\"js/roster.js\"></script>"%>
>>
>> 15: <h:form id="nav_form">
>>
>> 16: <t:aliasBean alias="#{viewBean}" value="#{overview}">
>>
>> 17: <%@ include file="inc/nav.jspf" %>
>>
>> 18: </t:aliasBean>
>>
>> 19:
>>
>>
>>
>>  Stacktrace:
>>
>>     at
>> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1570)
>>
>> caused by: javax.servlet.ServletException: An exception occurred
>> processing JSP page /roster/main.jsp at line 16
>>
>>
>>  13: <sakai:view title="#{msgs.facet_roster_list}"
>> toolCssHref="/sakai-roster-tool/css/roster.css">
>>
>> 14: <%="<script src=\"js/roster.js\"></script>"%>
>>
>> 15: <h:form id="nav_form">
>>
>> 16: <t:aliasBean alias="#{viewBean}" value="#{overview}">
>>
>> 17: <%@ include file="inc/nav.jspf" %>
>>
>> 18: </t:aliasBean>
>>
>> 19:
>>
>>
>>
>>  Stacktrace:
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>
>> caused by: javax.faces.FacesException: An exception occurred processing
>> JSP page /roster/main.jsp at line 16
>>
>>
>>  13: <sakai:view title="#{msgs.facet_roster_list}"
>> toolCssHref="/sakai-roster-tool/css/roster.css">
>>
>> 14: <%="<script src=\"js/roster.js\"></script>"%>
>>
>> 15: <h:form id="nav_form">
>>
>> 16: <t:aliasBean alias="#{viewBean}" value="#{overview}">
>>
>> 17: <%@ include file="inc/nav.jspf" %>
>>
>> 18: </t:aliasBean>
>>
>> 19:
>>
>>
>>
>>  Stacktrace:
>>
>>     at
>> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
>>
>> caused by: org.apache.jasper.JasperException: An exception occurred
>> processing JSP page /roster/main.jsp at line 16
>>
>>
>>  13: <sakai:view title="#{msgs.facet_roster_list}"
>> toolCssHref="/sakai-roster-tool/css/roster.css">
>>
>> 14: <%="<script src=\"js/roster.js\"></script>"%>
>>
>> 15: <h:form id="nav_form">
>>
>> 16: <t:aliasBean alias="#{viewBean}" value="#{overview}">
>>
>> 17: <%@ include file="inc/nav.jspf" %>
>>
>> 18: </t:aliasBean>
>>
>> 19:
>>
>>
>>
>>  Stacktrace:
>>
>>     at
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
>>
>> caused by: javax.faces.el.EvaluationException: Cannot get value for
>> expression '#{overview}'
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.Alias.computeEvaluatedExpression(Alias.java:91)
>>
>> caused by: javax.faces.el.EvaluationException: Cannot get value for
>> expression '#{filter}'
>>
>>     at
>> org.apache.myfaces.config.impl.digester.elements.ManagedProperty.getRuntimeValue(ManagedProperty.java:130)
>>
>> caused by: javax.faces.el.EvaluationException: Cannot get value for
>> expression '#{services}'
>>
>>     at
>> org.apache.myfaces.config.impl.digester.elements.ManagedProperty.getRuntimeValue(ManagedProperty.java:130)
>>
>> caused by: javax.faces.FacesException: Cannot coerce
>> com.sun.proxy.$Proxy101 to org.sakaiproject.api.app.roster.RosterManager
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:188)
>>
>> caused by: javax.servlet.jsp.el.ELException: Attempt to coerce a value of
>> type "com.sun.proxy.$Proxy101" to type
>> "org.sakaiproject.api.app.roster.RosterManager"
>>
>>     at org.apache.commons.el.Logger.logError(Logger.java:481)
>>
>>     at org.apache.commons.el.Logger.logError(Logger.java:498)
>>
>>     at org.apache.commons.el.Logger.logError(Logger.java:566)
>>
>>     at org.apache.commons.el.Coercions.coerceToObject(Coercions.java:799)
>>
>>     at org.apache.commons.el.Coercions.coerce(Coercions.java:343)
>>
>>     at
>> org.apache.myfaces.shared_impl.util.ClassUtils.convertToType(ClassUtils.java:304)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:188)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:55)
>>
>>     at
>> org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:314)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:570)
>>
>>     at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:386)
>>
>>     at
>> org.apache.myfaces.config.impl.digester.elements.ManagedProperty.getRuntimeValue(ManagedProperty.java:130)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:170)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:55)
>>
>>     at
>> org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:314)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:570)
>>
>>     at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:386)
>>
>>     at
>> org.apache.myfaces.config.impl.digester.elements.ManagedProperty.getRuntimeValue(ManagedProperty.java:130)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:170)
>>
>>     at
>> org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:55)
>>
>>     at
>> org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:314)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiVariableResolver.resolveVariable(SakaiVariableResolver.java:76)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:570)
>>
>>     at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
>>
>>     at
>> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:386)
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.Alias.computeEvaluatedExpression(Alias.java:91)
>>
>>     at org.apache.myfaces.custom.aliasbean.Alias.make(Alias.java:111)
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.AliasBean.makeAlias(AliasBean.java:310)
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.AliasBean.makeAlias(AliasBean.java:295)
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.AliasBean.encodeBegin(AliasBean.java:262)
>>
>>     at
>> javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:467)
>>
>>     at
>> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:320)
>>
>>     at
>> org.apache.myfaces.custom.aliasbean.AliasBeanTag.doStartTag(AliasBeanTag.java:72)
>>
>>     at
>> org.apache.jsp.roster.main_jsp._jspx_meth_t_005faliasBean_005f0(main_jsp.java:328)
>>
>>     at
>> org.apache.jsp.roster.main_jsp._jspx_meth_h_005fform_005f0(main_jsp.java:297)
>>
>>     at org.apache.jsp.roster.main_jsp._jspService(main_jsp.java:240)
>>
>>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>
>>     at
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
>>
>>     at
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
>>
>>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
>>
>>     at
>> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
>>
>>     at
>> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
>>
>>     at
>> org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:162)
>>
>>     at
>> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>>
>>     at
>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
>>
>>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:394)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
>>
>>     at org.sakaiproject.jsf.util.JsfTool.dispatch(JsfTool.java:222)
>>
>>     at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:242)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
>>
>>     at
>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
>>
>>     at
>> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513)
>>
>>     at
>> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1570)
>>
>>     at
>> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:215)
>>
>>     at
>> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:98)
>>
>>     at
>> org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:905)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
>>
>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:455)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>>
>>     at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>>
>>     at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
>>
>>     at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
>>
>>     at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
>>
>>     at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>
>>     at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>
>>     at
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
>>
>>     at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>>
>>     at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
>>
>>     at
>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
>>
>>     at
>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
>>
>>     at
>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>>
>>     at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>
>>     at
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>
>>     at java.lang.Thread.run(Thread.java:745)
>> Any ideas what may be causing this?  JSF and tomahawk versions all appear
>> to be consistent.
>>
>>  Thanks,
>> -jeb
>>
>>  --
>> Jeb Miller
>> Programmer Analyst - Sakai, HJF
>> USUHS/ATD
>> 4301 Jones Bridge Road
>> Bethesda, MD 20814-4799
>> 301-319-0442
>>     ------------------------------
>> UNIVERSITY OF CAPE TOWN
>>
>> This e-mail is subject to the UCT ICT policies and e-mail disclaimer
>> published on our website at
>> http://www.uct.ac.za/about/policies/emaildisclaimer/ or obtainable from +27
>> 21 650 9111. This e-mail is intended only for the person(s) to whom it
>> is addressed. If the e-mail has reached you in error, please notify the
>> author. If you are not the intended recipient of the e-mail you may not
>> use, disclose, copy, redirect or print the content. If this e-mail is not
>> related to the business of UCT it is sent by the sender in the sender's
>> individual capacity.
>>
>
>
>
>  --
> Jeb Miller
> Programmer Analyst - Sakai, HJF
> USUHS/ATD
> 4301 Jones Bridge Road
> Bethesda, MD 20814-4799
> 301-319-0442
>
>
> _______________________________________________
> sakai-dev mailing listsakai-dev at collab.sakaiproject.orghttp://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
>
>
> --
> ******************************************
> José Mariano Luján González - Aula Virtual
> Area de Tecnologías de la Información
> y las Comunicaciones Aplicadas (ATICA)
> UNIVERSIDAD DE MURCIA - http://www.um.es
>
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to
> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> "unsubscribe"
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140724/b64cbd14/attachment.html 


More information about the sakai-dev mailing list