[Building Sakai] Profile2 help needed: Twitter integration link never displays in Profile2

Steve Swinsburg steve.swinsburg at gmail.com
Mon Aug 26 15:35:41 PDT 2013


Note that the old Twitter API was switched off by Atwitter which forced an upgrade of all twitter clients. I fixed this in Profile2 a few weeks ago. If you search Jira for twitter you'll find the Jira and can patch your environment.

Cheers,
Steve

Sent from my iPad

On 27/08/2013, at 3:32, Sanghyun Jeon <euksa99 at gmail.com> wrote:

> Ying, I am having the same problem and have you had a chance to resolve this issue?
> 
> S
> 
> 
> On Thu, Apr 18, 2013 at 12:16 PM, Wang, Ying <wang58 at iupui.edu> wrote:
>> Hi all,
>> 
>> We just upgraded our profile2 to 1.5.0 and found  in preferences page,  the "Link Twitter account" link never displays, the little icon just keeps spinning. (We are using java 1.6, tomcat 7.0)
>> 
>> Here is the stack trace showed in the log:
>> ----------------------------------------
>> TwitterException{statusCode=401, retryAfter=0, rateLimitStatus=null}
>> at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:301)
>> at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:68)
>> at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:99)
>> at twitter4j.http.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:121)
>> at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:1603)
>> at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:1596)
>> at org.sakaiproject.profile2.tool.pages.panels.TwitterPrefsPane.setTwitterRequestToken(TwitterPrefsPane.java:226)
>> at org.sakaiproject.profile2.tool.pages.panels.TwitterPrefsPane.<init>(TwitterPrefsPane.java:52)
>> at org.sakaiproject.profile2.tool.pages.MyPreferences$7.getLazyLoadComponent(MyPreferences.java:216)
>> at org.apache.wicket.extensions.ajax.markup.html.AjaxLazyLoadPanel$1.respond(AjaxLazyLoadPanel.java:79)
>> at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
>> at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:142)
>> at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
>> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
>> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:644)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>> at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>> at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1470)
>> at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
>> at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>> at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:729)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> at java.lang.Thread.run(Thread.java:680)
>> 2013-04-17 10:59:05,930 ERROR http-bio-8080-exec-6 org.apache.wicket.RequestCycle - No get method defined for class: class org.sakaiproject.profile2.model.ProfilePreferences expression: twitterAuthLink
>> org.apache.wicket.WicketRuntimeException: No get method defined for class: class org.sakaiproject.profile2.model.ProfilePreferences expression: twitterAuthLink
>> at org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:488)
>> at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:330)
>> at org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:237)
>> at org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:91)
>> at org.apache.wicket.model.AbstractPropertyModel.getObject(AbstractPropertyModel.java:118)
>> at org.apache.wicket.Component.getDefaultModelObject(Component.java:1720)
>> at org.apache.wicket.markup.html.link.ExternalLink.onComponentTag(ExternalLink.java:153)
>> at org.apache.wicket.Component.renderComponent(Component.java:2657)
>> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
>> at org.apache.wicket.Component.render(Component.java:2517)
>> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)
>> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)
>> at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1527)
>> at org.apache.wicket.markup.html.panel.Fragment.renderFragment(Fragment.java:284)
>> at org.apache.wicket.markup.html.panel.Fragment.onComponentTagBody(Fragment.java:212)
>> at org.apache.wicket.Component.renderComponent(Component.java:2686)
>> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
>> at org.apache.wicket.Component.render(Component.java:2517)
>> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)
>> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)
>> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:696)
>> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
>> at org.apache.wicket.Component.renderComponent(Component.java:2686)
>> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
>> at org.apache.wicket.Component.render(Component.java:2517)
>> at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1440)
>> at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1603)
>> at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:696)
>> at org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
>> at org.apache.wicket.Component.renderComponent(Component.java:2686)
>> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1538)
>> at org.apache.wicket.Component.render(Component.java:2517)
>> at org.apache.wicket.Component.renderComponent(Component.java:2627)
>> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponent(AjaxRequestTarget.java:853)
>> at org.apache.wicket.ajax.AjaxRequestTarget.respondComponents(AjaxRequestTarget.java:682)
>> at org.apache.wicket.ajax.AjaxRequestTarget.respond(AjaxRequestTarget.java:592)
>> at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
>> at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
>> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
>> at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
>> at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
>> at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:644)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
>> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
>> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
>> at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:511)
>> at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1470)
>> at org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:213)
>> at org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>> at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:881)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:729)
>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> at java.lang.Thread.run(Thread.java:680)
>> ----------------------------------
>> Any idea about what caused this? 
>> 
>> It seems some Jiras talked about this https://jira.sakaiproject.org/browse/PRFL-603  and https://jira.sakaiproject.org/browse/PRFL-578 . But I am still not sure what happened and why it worked fine in our instance before with the same configurations. Is this issue the configuration/settings related ?
>> 
>> Thank you very much for your help.
>> 
>> Regards,
>> Ying Wang  
>> 
>> 
>> _______________________________________________
>> 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"
> 
> _______________________________________________
> 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/20130827/06e6d948/attachment.html 


More information about the sakai-dev mailing list