The last few days I’ve been working on the CallHelix Webservices… well, server. I said to myself that I would work half the week on this, and half the week on other projects.
That still might be true, but it’s going to be a toss-up… I am so close to totally implementing one XML-RPC function I can just taste it. I have the Java/JNI/Helix architecture worked out (most of it implemented, with certain parts that I just figured out before I started this entry.)
My testing plan, for things returned through the XML-RPC API, breaks down like so:
- Basic MacOS Error handling (process not found, etc)
- HEEA error handling (both the error codes and their meanings)
- Data resulting from a successful call of my test selector (selector 190, “check view state”). (For the unschooled in Helix AppleEvent communications: selectors are like tokens which you pass to the API, which tells it how to interpret the rest of the data in that particular AppleEvent.)
I am so close to getting the first two items done I can feel it. A little bit of rearranging for my Java/JNI stuff and I’ll be set.
Today was a lot of integrating: integrating stuff I wrote years ago (mostly C++ interfaces over particular areas of the Toolbox or AppleEvent stuff), and stuff I wrote this week.
Oh, what did I write earlier this week? For one thing I wrote functionality so the webservices API has UTF8 to MacRoman encoding conversion (thanks to Apple’s Text Encoding Converter). Some internal junk too: supporting classes, modifying some of my old classes to work even better, that kind of thing. Writing the code to actually do the “check view state” function, of course.
Anyway, another few hours I should have this thing returning informative errors properly… another hour or two after that may, if I’m very, very lucky, get the “check view state” functionality returning useful information.
Of course, those familiar with the HEEA spec knows that a selector 190 really isn’t all that useful. Still, it’s a good, simple place to start.
So, now the question remains: ignore the other project and hit this one milestone? I was planning on the other project taking up all my time (regular working hours + the hours I put in at night), so little time remains, on that front. Do I ignore the milestone, losing all that state (but I will have my notes…), and return to the CallHelix WebServices Server (CHWSS… hmmm…) project next week - yet keep my other (paying) clients happy? I need the CallHelix WebServices stuff for about two other projects though, so I’d like to get it done ASAP.
In spite of this question, I think I’ve made huge progress so far this week. One XML-RPC function almost done really doesn’t mean a lot… but it means the foundational stuff is mostly behind me. There’s something to be said for that.