|LJ-Sec 0.1 now released
||[Jul. 14th, 2006|05:56 pm]
LiveJournal Client Discussions
I have decided to create a solution that allows you to mass-change your security settings. This is a dedicated client, and allows for more complicated security changes than simply switching public posts to friends only. It also acts as a journal archive in the process.
I called the program LJ-Sec.
It is open source (C#), of course. It's designed for Windows systems, and requires the .NET framework (1.1).
You can download the program, and optionally the source, here.
Here are some features:
Easily switch post group security levels (eg Public to Friends Only)
Perform more complicated custom selections
LJ-Sec automatically creates a journal archive, because that's the way the interface works. So you can preview your older posts too.
Search your archived journal (boolean search capability). You can tag the results as posts you wish to change.
Open source (C#).
This *is* an initial release, and while I haven't had any problems with post eating etc. in tests, I recommend backing up your journal with Livejournal's backup tool before using this program.
Hopefully you enjoy the program. :)
Any suggestions for future improvements will be appreciated. I've already noted that bulk find-and-replace might be a good thing to add to this in the future...
2006-07-14 10:11 pm (UTC)
Hurrah! You used the syncitems mode! (You also used the flat mode...but whatever!)
I haven't tried it (on a Mac), but the code looked reasonable. I recommend you do some experimenting with posts containing Unicode/non-ASCII characters. That tends to trip up most people first.
Hurrah! You used the syncitems mode!
You know, evreytime I've seen you make a comment, it's always seemed condenscending. :-p Just an observation, I realize the internet sucks out a lot of semantics in language.
2006-07-14 11:09 pm (UTC)
Heh. The reason I used flat mode, primarily, was that XML-RPC (at this time) is not a native function in .Net. I kind of wanted to stick to native .Net framework functions, whenever possible. The only code not using framework functionality is the Internet Explorer component shdocvw.dll, which is used for a lazy preview of a post. :)
Besides, if one of the senior programmers at work ever found out I was using XML-RPC, he'd launch into his standard anti-XML diatribe, and I don't need to hear that again. :) (He doesn't like the added overhead unless you really need the compatability benefits, in essence.)
I'll look into making a nice Chinese-character post and see how well the program handles it...
2006-07-14 11:32 pm (UTC)
Aye, I can see that. I prefer it simply because if everybody used it we could eliminate the flat mode, which is soooo oooooold...
But yeah - seems like a well written system! I took the liberty of browsing through a bunch of the code. Thank you for writing this, and making it open source. :)
Yeah... I got an error that seemed to be complaining about encoding when I tried to do the initial synchronization, so I'm wondering if there's an issue with Unicode support.
I'd give the exact error, but right now it just gives me the "too many sync requests in too short a time" error instead. If I can recreate the original error later I'll post it here.
2006-07-20 02:26 am (UTC)
Probably you're sending ver=0, or not sending ver at all. Set it to 1 and that error should go away.
That's to prevent non-Unicode aware clients from accidentally mangling Unicode data, when we switched the site to support it ages ago... so now you have to specify it. (Of course, clients can set ver=1 if they don't support Unicode... we prevent accidents, not intentional mistakes, heh...)
Err... sorry for the confusion... I meant that I was getting that while trying to use LJ-sec. I just replied to your comment since you had made mention of Unicode.
I tested a post with definite Unicode text. It worked fine. Now I'm thinking the issue might be with older post types that were created before Unicode... not sure what else it could be.
And LJ-Sec uses ver=1. So it looks like the Unicode portion is messed up. Doh!
Hopefully I can get a chance to test this out soon... haven't had a chance to this week so far.