Monday, February 25, 2008

Following Sakai developments

Some of my current work involves developing the Sakai portal and collaborating with others in this space. To keep abreast of what is happening I follow the SVN commit messages and have a filter setup in the Sakai bug tracking system (JIRA).

I filter the SVN commit messages (as I get notified of every single Sakai commit) so that I only see the ones that relate to the /portal part of the repository. My filter (GMail) for this is to:(source@collab.sakaiproject.org) (portal/trunk OR portal/branchces). In JIRA I have a filter which emails me any tickets that have changed in the last 24 hours and have it run once a day. The trick for this is to have the Updated From field set to -1d

This all allows me to know about stuff that is changing without being overwhelmed with email.

Monday, January 07, 2008

Disabled input buttons in Sakai

In HTML you can disable the ability for an input button to be clicked typically you just add the disabled attribute to a button with some value. Eg:

<input value="Click" disabled="true" type="button">

Now in Sakai if you do this for an active button (default one for a form) then under Firefox the button loses some of it's 3D look but remains blue (default default button colour). IE always renders a disabled button grey (allowed in W3C spec). To get a consistent look across the browsers and make it clearer to a Firefix user that the button is disabled you have to have the disabled attribute equal disabled:

<input class="active" value="Click" disabled="disabled" type="button">

the button is made grey by the following CSS (from /reference/library/src/webapp/skin/default/tool.css)

.act .active[disabled="disabled"] { color:grey }

Thursday, December 06, 2007

Nicer URLs?

After quite a bit of head bashing nicer URLs in Sakai are coming along, here the site has nice name (/working_lu) and the page has a nice name (siteinfo). It's still at the very early stages but its getting there.

Wednesday, November 28, 2007

SVN Tip for Sakai

When your working on a checkout of Sakai and editing files across multiple projects it can be handy to see what you have changed, svn status is normally the way todo this but due to the number of external definitions in Sakai it produces allot of output which can't easily be suppressed. Piping this through egrep and tr can clean things up.

svn status | egrep -v "^(Perform|X)" | tr -s "\n"

Gives a nice concise output as though those externals didn't exist. Aliasing this to something like svnst makes it easy to get back to.

Wednesday, November 21, 2007

NoMachine Client in Fullscreen

I have recently discovered the machine that is NoMachine and am using it to connect to my work computer from outside the office. So far it seems to work really well. The only thing is that I like to run it in fullscreen mode and was struggling to find out how to return to my local desktop. Eventually I found this post about NX which provided all the solutions. In summary the options are:
Clicking on the top right pixel
Minimises the NX Client and returns you to your client desktop.
CTRL-ALT-M
Same as above
CTRL-ALT-T
Brings up a popup asking if I want to terminate the session or just disconnect from it.
Now if only they had a client of Mac OSX which supported fullscreen mode.

Monday, September 24, 2007

Sakai Sessions and UsageSession

Having just been looking at these for a little while I thought I'd document them a little. The basic setup is that the Sakai Session is your session with the application and is very similar to a HttpSession. Your Session is setup for each request by the Sakai RequestFilter. The UsageSession on the other hand is your logged usage of the application amd is mainly there so that you can enumerate all the active UsageSessions. The UsageSession is actually store in the Session and is mainly used for presence.

However just to confuse things a little the UsageSessionService (manages UsageSessions) has some very important methods, login() and logout(). These setup and destroy your Session and UsageSession at the same time. Login tools in Sakai should call UsageSession.login() to setup the Sakai session with the authenticated user details.

Sunday, September 23, 2007

Formatting with Styles

There is a very clear post from darcusblog about how having a good UI can encourage people to use styles in their document. Unsurprisingly the company with the good UI is Apple, but it shows that a good UI can guide users into good practices.