Archive for May 2006

Tuesday 9 May 06

Been playing around a little with the Rico javascript/ajax library as I’d like to make use of the drag and drop functions for the interface on our JoinIn project. It all looks pretty good, although I’ve not been able to find an example of the drag and drop functions where you can just move an object back and forth between two ‘dropzones’. I had a go at creating one myself, though it seems a little flaky at the moment as the lists aren’t always refreshed properly once an object is moved, it appears erratic as to when/if the list is refreshed.

It seems quite complicated what I’ve done to achieve this, though I’m sure there are more efficient and reliable ways of coding it, so I’ll have a look at improving it later this week.

Friday 5 May 06

Thought of a really bad hack around the problems I’m having with the Membership service, and that is that I _could_ just connect the EnterpriseClient module up directly to the database (using the code I have from the JoinInDB service), but this would really be a last resort just to get something working. So if I don’t get anywhere early next week with the Membership service I’ll get this set up, at least then I’ll have something to demonstrate – but would be a far from ideal solution, as it negates the point of using the SDK!

Friday 5 May 06

 Have now got some the the Enterprise SDK working correctly, still working on getting the membership service working, but at least I’m making progress – see the full details on my JoinIn blog

Friday 5 May 06

Have just switched my axis version over to 1.3 in the hope that this would solve the problem with the Membership service, but that unfortunately hasn’t fixed the problem – I still get the same error message, so going back to Axis 1.1. I’ve added some more debug code (in the EnterpriseServer module) to try and track the problem, but the constructor method for the MembershipManagementImpl isn’t getting called, so I think there is something up with the actual service, rather than the code I’m using :-(

Friday 5 May 06

Been getting on well with implementing the Person and Group services, and got the main method done that we needed for these, but have come up against a bit of a problem when implementing the Membership service. I;ve posted a comment on the SF forum about this, but it’s essentially that the service doesn’t appear to the available, just get a null pointer error, and I can’t figure out why this would be. So hope that I can get this resolved soon.

Another question that’s come up is why the deleteMembership method only requires a sourcedId, I don;t quite get what this method then does. Does it delete all the memberships for this group (or for the person)? Isn’t there a way to just remove a person’s membership from a group – if so which method should be used?

Juliette had also raised a couple of queries regarding some of the Moodle integration….

1) Do we allow groups that don’t belong to groupings?
2) When adding a member to a group, should we check that the person is a member of the course?

Both of these are really specific to Moodle rather than the Enterprise side of things – so need to have a chat about these with her.

Tuesday 2 May 06

Made a fair bit more progress today, I’ve now got the readGroup and createGroup methods (doesn’t sound like very much though!!) – so all pleased about that, should get more straightforward to get the other methods that we need implemented.

All I need to figure out now is how to get at the raw XML that gets returned to the client, as I need this to return in the simplified service that Moodle will be connecting to.

Tuesday 2 May 06

Hurray!! – have now got the Enterprise Client connecting up correctly to an Enterprise server and returning group data from the database. This is thanks to Carol sending me the code that she’d got working. I still need to go through and check to see what was wrong with the code I was using.

Very pleased to have got this working now, though it’s only for the readGroup method, but hope it won’t be too difficult to extend this to the other methods.

Monday 1 May 06

Am still attempting to get the SDK working, though still not having any luck, so getting quite frustrated with it all! When the my client code calls the service it just returns an error saying there is a communications link failure – but the service and correct method is actually called (I can see from some of the debugging output that it’s getting to the right method), though the id is not being passed over.

If I try to call up the service in the browser (ie by looking at: http://localhost:8080/EnterpriseServer/services/GroupManagementServiceSyncSoap?method=readGroup) I just get the follwoing error returned:

Tried to invoke method public void uk.ac.cetis.enterprise.group.http.GroupManagementServiceSyncSoapSkeleton.readGroup(uk.ac.cetis.enterprise.group.messages._readGroupRequest,uk.ac.cetis.enterprise.iaf.messages._syncRequestHeaderInfo,uk.ac.cetis.enterprise.group.messages.holders._readGroupResponseHolder,uk.ac.cetis.enterprise.iaf.messages.holders._syncResponseHeaderInfoHolder) throws java.rmi.RemoteException with arguments uk.ac.cetis.enterprise.group.messages._readGroupRequest,uk.ac.cetis.enterprise.group.messages.holders._readGroupResponseHolder,uk.ac.cetis.enterprise.iaf.messages.holders._syncResponseHeaderInfoHolder,null.  The arguments do not match the signature.; nested exception is:
    java.lang.IllegalArgumentException: argument type mismatch

I’m not sure why this is! I’ve been sent an example application which uses Axis 1.3, but I’ve not been able to run this as I need to get the database set up first. I’m also a bit wary of spending a lot of time trying to get something else running, and my feeling is that if I can’t get this running this week, then we’ll just have to stick with the sample database application I wrote a few weeks ago, as we know this works and we’ve got plenty more to be getting on with on the project other than Enterprise :-(