Blog
Scribe Options Format
Date: 25/10/2006
I've spent the last 10 hours of coding time converting Scribe's internal settings format across to a new thread safe XML format. The old system used a non-thread safe property list and associated UI serialization code. And rather than try and hack thread safety onto that I decided to move Scribe over to XML at the same time. I underestimated the amount of work involved to a large degree. The code base has been converted over and is kinda running, but there is a lot of clean up work and testing still to go.

Apart from thread safety, one of the reasons I wanted to do this now is that I couldn't tack on extra meta data to the information about messages still on the server. With XML this will be easy and extensible. So features like "leave mail on server for [5 ] days" should be far easier. Not to mention that it'll open up the options format for inspection by users. I expect that I'll feel happier about adding "hidden" options in the XML for users that need some obscure behaviour modification.

I expect that even with a lot of testing there will be some amount of regression bugs in the next release. With that number of code changes there is simply no way that nothing will break. But it'll mean better stability, feature depth and flexibility in the future. Sometimes it's two steps forward, one back.

Update: Core functionality is back online, I'm receiving email using the new code base. SSL is still dead and there is no way to import settings from an old Scribe.r file. Which people will no doubt need right?

Update2: SSL now works and I've fixed Bug #118 as well.
Comments:
fret
26/10/2006 1:38am
Just so that I don't get out of implementing "delete from server after 'n' days", someone had to go and put it in the bug database didn't they. *grimice*
bret
26/10/2006 9:06pm
Just curious - What are you using for XML support? A 3rd party library or MSXML?
fret
26/10/2006 10:24pm
GXmlTree from Lgi. It's a lightweight symetrical parser/generator that uses a DOM tree internally. It's probably not compliant in some regards but it's small and compatible with everything else in Lgi.
 
Reply
From:
Email (optional): (Will be HTML encoded to evade harvesting)
Message:
 
Remember username and/or email in a cookie.
Notify me of new posts in this thread via email.
BBcode:
[q]text[/q]
[url=link]description[/url]
[img]url_to_image[/img]
[pre]some_code[/pre]
[b]bold_text[/b]