[Building Sakai] Roster Tool Issue
JOSE MARIANO LUJáN GONZáLEZ
jmariano at um.es
Thu Jul 24 04:26:28 PDT 2014
Thanks Adrian,
We will try to help with it too.
Enjoy your vacations,
Mariano
El 24/07/2014 11:41, Adrian Fish escribió:
> 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
> <mailto: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 <mailto: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
>> <mailto:sakai-dev-bounces at collab.sakaiproject.org>
>> [sakai-dev-bounces at collab.sakaiproject.org
>> <mailto:sakai-dev-bounces at collab.sakaiproject.org>] on behalf
>> of Miller, Jeffrey [jeffrey.miller.ctr at usuhs.edu
>> <mailto:jeffrey.miller.ctr at usuhs.edu>]
>> *Sent:* 23 July 2014 09:47 PM
>> *To:* sakai-dev at collab.sakaiproject.org
>> <mailto: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 <tel: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
>> <tel:%2B27%2021%20650%209111>. 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 <tel:301-319-0442>
>>
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org <mailto:sakai-dev at collab.sakaiproject.org>
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email tosakai-dev-unsubscribe at collab.sakaiproject.org <mailto: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
> <mailto: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
> <mailto: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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20140724/7edc5a6f/attachment.html
More information about the sakai-dev
mailing list