Fully Qualified Paths and Paths to Solutions
(Please excuse my cheesy attempt to link the two topics of this blog post.)
First off - the Windows nightly builds (graciously hosted by Marc) have been fixed. I changed the scripts pretty severely recently when I moved them to look at SVN instead of CVS. The result is a lot nicer, more modular build scripts. However, it hadn’t been actually seeing the updates, and I had been so busy working on Summer of Code stuff that I hadn’t had a chance to figure out why. Well, it turns out I was specifying a relative path to one of my scripts, from the wrong directory. The script was the one that does the updating. Oops. Fixed that with a fully qualified path (absolute), fixed a similar issue with the location of files being uploaded to FTP, et voila - it works! While I was at it, I updated the version of LibGSF to 1.14.4 in anticipation of the progressing OpenXML support (Thanks to TML for the libgsf binaries and PhilM for the SoC OpenXML work!), so do test these builds and see if they work for you.
Now to my second topic - paths to solutions. My progress on Summer of Code has brought me into some rarely-explored bits of code in AbiWord: displaying dialogs from plugins on Windows. One plugin did this (Aiksaurus) but I am told it hasn’t compiled in a while, and its dialog code looks very little like the other dialog code in AbiWord. The failure mode is amusing, at least before you spend a good deal of time trying to figure out why it happens (Windows compilation is slow….): The Collaboration Accounts menu item brings up the Change Case dialog. I’ve tossed some debugging lines in there, and I’m told the ID that the SessionManager (in charge of registering the dialogs) is getting okay IDs, AbiWord core is just returning/displaying the wrong dialog. I’ve emailed the AbiWord developer’s list to try to figure out what is going on from someone with more experience in these parts of the code: hopefully a solution can be found soon so that my work on the Win32 part of the project can move forward.
On the other part of my project, I’ve worked on some “thinking and documenting” parts, which are showing up at my Summer of Code page. Marc has been doing some pretty serious work on the conflict resolution for OLPC, and so I’m waiting on the code part of this project component until that seems to settle a bit, giving me time to analyze the situation without being keyboard-addicted. I’ve also started working on a “gremlin” plugin which will eventually be used to run fully-automated torture testing of AbiCollab and its conflict resolution by making random changes to the document. After hurdling a few difficulties (who knew that nextgen.sh and autotools would have such a hard time with DOS line endings?) the basics of that plugin compile and run on Windows and Linux, inserting a one-off secret message into your document upon execution.
If anybody has any ideas or advice to offer based on what I’ve talked about, please feel free to email me. My username is abiryan, and the domain name is that of my company, ryand.net. I’ll let you figure that out, so I minimize spam… (In a pinch, I have a spammy address listed on my company page…)
Till next time, keep hacking, ants!