Does anybody really think this is normal?

by Volker Weber

DNUG runs a Lotus Connections site on euluc.org. Today I received a user name and a password. Thank you for that.

But frankly, I am really surprised that anybody would use that site. What ever I do, no page ever loads faster than 10 seconds, often taking more than 30. First thing I want to do is to change the password and the calendar preferences. I can't remember the password assigned to me, and my week does not start on a Sunday. There is no obvious place to change those settings. "Edit my profile" takes me to an error message, that I would like to recite:

java.lang.NullPointerException
com.ibm.peoplepages.webui.actions.EditMyProfileViewAction.execute(EditMyProfileViewAction.java:66)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1075)
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1016)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
com.ibm.peoplepages.web.rpfilter.RPFilter.doFilter(RPFilter.java:154)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.lconn.profiles.util.lang.LanguageFilter.doFilter(LanguageFilter.java:85)
com.ibm.lconn.profiles.util.lang.LanguageFilter.doFilter(LanguageFilter.java:73)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.peoplepages.webui.servlet.AppContextFilter.doFilter(AppContextFilter.java:184)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.lconn.core.web.auth.LCBasicAuthFilter.doFilter(LCBasicAuthFilter.java:79)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.lconn.core.web.auth.LCUserDataConstraintFilter.doFilter(LCUserDataConstraintFilter.java:80)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.lconn.profiles.util.Utf8CharsetFilter.doFilter(Utf8CharsetFilter.java:45)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.lconn.profiles.util.lang.I18NFilter.doFilter(I18NFilter.java:56)
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:771)
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:546)
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3391)
com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267)
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1455)
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:115)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)

That seems really useful to present to a user. What is IBM smoking?

Comments

did you consider this is an implementation issue vs the software? We have it working internally without any of those issues.

And yes, the week start date is fixed in connections it seems. something they should change. haven't had anyone internal or customers ask for this though.

john head, 2008-11-11

Are you suggesting that DNUG implemented this error message?

Volker Weber, 2008-11-11

EULUC ist far away from being perfect (although I don't experience such long response times as you mentioned). Primary purpose for us is to gain experience with such kind of a platform that obviously had been developped for an intranet environment. It's better we gain that knowledge commonly rather than each and every member individually

Jürgen Zirke, 2008-11-11

Jürgen, I have tremendous respect for you and everybody else involved in this effort. That is why it makes me so angry when software, and especially expensive software like this undermines the effort. Been there, done that. We have built extensive sites that went largely unused because they did not perform like the user expected them to. The competition is a click away. We have always been struggling with search. Users are accustomed to the Google level of service, and then they have to live with a solution that does not reward you with anything interesting.

Most people don't have the time to spend 15 minutes a day on a site like euluc.org. You only have a few seconds to keep them interested and engaged. Two minutes later it's over. If you burn that time waiting for page loads, they won't come back.

Volker Weber, 2008-11-11

try {
// Some code
} catch(Exception e) {
e.printStackTrace();
}

... Seems to be the standard error handling pattern in most bits of Java I see. It really bugs me (and yes, I’ve done it myself ;o) )

Ben Poole, 2008-11-11

Standard Java error handling would be:

try {
// Some code
} catch(Exception e) {
}

Saw it too often ... ;-)

But I have to agree with vowe. Stack traces belong into a log file or should be sent to someone who cares.

Michael Sedlaczek, 2008-11-11

Performance seems fine to me at the moment - getting sub 2sec load times even for complex pages. That may be helped by having lots of Connections 2.0 images etc cached in my browser already, or else the site config has just been improved.

For sure, the HTTP and WAS servers need to be well spec'd for LC2, plus the setup needs to be carefully configured (HTTP caching, fast LDAP server etc). I am sure that the guys at EULUC are working hard on this.

However, Vowe, I am sure that you more focused on the lack of password change, errors and week change details. The password change functionality in a lot of companies is held alongside the LDAP search/management tools or in an SSO tool such as TAM, so in some ways Connections would be duplicating that functionality if it was implemented. However, I do agree that if users are being encouraged to edit their profiles in LC, then changing their password was also fit well within that UI.

The stack traces are usually shown only if a user requests "More Detail" after an error, but you are also right that the end-user doesn't need to see them at all. I would prefer to see a button that says to send the error to the LC admin. Also, in most situations only the first two lines of the stack trace are relevant anyway, so they could be shown with the error itself.

I've never been asked about changing the start date for a Calendar, in LC or within Notes/Domino so I can't see that this is a major omission. However, vowe, if you want to add it to ideajam, I'm sure others would vote for its addition to the product ;-)

Stuart McIntyre, 2008-11-11

I just ttied it for Jux und Tollerei but it took forever to load .. and it is in the middle of the night in Germany and there can't be any load on that system now. I really like the intro page though, look slick. Too bad that the following page is the same old IBM blue ... really should be changed to fit the intro page.

Victor Toal, 2008-11-12

Maybe it`s better to post a link instead of copying everything :)

http://connections.euluc.com/blogs/connectionswishes/entry/euluc_upgrade2

Greetings

Claus Böhmer, 2008-11-12

I guess you don't want

#forceUpdatingCookie()

to display at the start of each page. :-)


Volker Weber, 2008-11-12

It seems there is a problem with your page. My answer wasn`t posted...

We know that problem. It is connected with the module_expire of the IHS. We have asked IBM for fix of that problem, until that we have to wait.

It is again an early adopter problem as already written in the blog.

Claus Böhmer, 2008-11-12

Sorry all my fault! When migrating the plattform form Version 2.0.0.1 to version 2.1 I changed a script in the TDI (Tivoli Directory Integrator) that is synchronising the users that are created in a Tivoli Directory Server with the profiles which are in the DB2 database behind connections. Because of this mistake, users where not syncronized but where able to log on - but had no profile. That is the reason for the nasty error message that Volker saw. And because of this, "abnormal" situation, it also took very long to load the page.

Normally, if you don't make the same mistake that I made, this error message never pops up. I discribed the cause of this error message before in a session at the DNUG conference.

Users cannot change their passwords because it did not wrote an interface for the LDAP server to do so. Also my fault! But I'm working on it. Because it do it in my spare time, this might take a little time. I put more effort in implementing connections and give DNUG members the opportunity to work with the newest release and discover the new features of this - at least in my opinion - very interesting software.

Henry Walther, 2008-11-13

If it doesn't work on the web then it shouldn't be used even if it is the latest and greatest masterpiece from IBM engineering. I personally find Intranet only software so 90s anyway but great if it works for others. I don't blame the Administrators, BleedYellow.com doesn't work for me either.
At least everyone can have a look for yourself what the buzz is all about.

Henning Heinz, 2008-11-13

Old vowe.net archive pages

I explain difficult concepts in simple ways. For free, and for money. Clue procurement and bullshit detection.

vowe

Paypal vowe