Midterm update
It’s (long overdue) for an update, we’re already halfway through the summer, and there’s a lot to do. The synchronization project has turned out a bit different than I expected before I started on this project, more people involved and a different way of working than what I’m used to, basically more planning and coordination. I guess that’s mainly a good thing, but it tends to make me a bit more passive than I should be.
A lot of discussions has been going about how to handle the synchronization, what to include, what’s needed, what’s needed if we do it like this and so on. History and auditing has been a big part of this lately, and that task is now being worked on by two of the other developers. Personally I’d prefer seeing the full implementation of that on all the tables, keeping track of all changes and making figuring out the changes between the servers easier since we have the new and the old data available. Currently this is being implemented fully on two tables to see if it works out as planned, and if it’s feasible to implement for the rest too.
The project and the tasks around is now split up as described on the project plan page.
I’ve been looking at SyncML and JAXB, but get some errors that I at the time of writing haven’t figured out yet. Basically coding up a few POJOs to keep the information needed in the XML-format, and then trying to use JAXB to bind those to XML. I haven’t touched JAXB before, and so far I must say I prefer XStream
Better stick with what’s already present though.
The other thing I’ve been trying to get working is a Web Service interface for the synchronization. There’s already another branch that has implemented that, and I’ve been looking around the code there. For some reason the branch doesn’t want to run on my computer though, but it’s time for a revisit to that part now. Would be nice if it was merged into the alpha-trunk so that there wasn’t a need to duplicating much of the work already done there.
My first try on merging those two mentioned parts and coding them at the same time failed of course, it just got too messy since I haven’t used any of those technologies before with Java. I’ve since split it up into separate non-OpenMRS projects just to figure it out, and then I’ll move it back in when I get it working properly.
Should get going with the coding again I guess, lost too much time to other things lately.

Leave a Reply