February 10th, 2002

binary and a cookie to whoever notices
  • xb95

ljprotocol.pl patch -- getfriendposts client protocol addition

Hey everybody!

I've spent the day working on a patch to extend the client functionality another big step. Notably, the below patch enables clients to access the getfriendposts mode which returns, basically, the events on your friends page. It fully supports specifying how many items to return and if you want to skip items or not. Most of the code is pulled from ljviews.pl's friends view generator, so it has the same sort of checks and balances to make sure they're not pulling everything that's ever happened on the friends page. Maximum items returns is 50. There are also options to enable you to skip returning the text of the events and the logprops, individually configurable.

Mode parameters:
userusername to view from
password/hpasswordpassword or MD5 hashed password
showitemsitems to return
itemskipnumber of items to skip
getprops1==return logprops, 0==don't
gettext1==return text, 0==don't

Return values are like this:

errmsgerror message of success==FAIL
event_countnumber of events returned
skipnumber of events skipped
event_X_subjectsubject of event #X
event_X_texttext of event #X if gettext==1
event_X_datetimestamp of event
event_X_posterthe actual person who posted this event
event_X_friendthe journal the event was posted in (community name)
event_X_itemid[j]itemid of this event
event_X_replycountnumber of comments on this entry
event_X_prop_countnumber of properties on this event
event_X_prop_Y_namename of property
event_X_prop_Y_datacontents of property

Ahh! Lots of data, eh? Okay. This has been tested on my local server and is currently running there if anyone wants to play with it. I've tested it with communities and secured entries. I've tested the skip mechanism and specifying the number of items to return. It should work with clustering because the functions it calls are cluster-aware functions.

Comments? Questions? Suggestions? Y'know where to reach me.

Click here for the patch itself.
  • mart

S2 Stuff

It's been a long time since S2 has been mentioned. S2 is not a currently 'active' project as far as BradFitz is concerned, but that doesn't mean I can't continue working on it since my name is in the little bubble too!

core.s2 is now essentially finished. Due to a couple of remaining compiler issues I can't actually compile and run it properly yet, so it's not been through testing and so forth, but the structure is there which means that it's now possible to build layers on top of it and be reasonably sure that the foundation isn't going to change too dramatically from this point forward. As far as I can tell, the design of the core layer is correct and ready, so it shouldn't change at all now unless Brad takes issue with the way I've done something.

At this point I'm the only person working on S2. Back when S2 was announced properly, a massive four people other than me said they wanted to be on the 'team'. Regardless of this, the time is almost here for S2 to become a team effort. All of the current system styles need to be ported to S2. The major problem with this right now is that only about four people actually know S2 the language and how S2 fits together, so what I'm going to aim to do is over the next week finish porting the Default LiveJournal style to S2 and write up a rough guide to what makes an S2 style tick. At that point, people can look at it and see if they fancy tackling the porting of one or more of the other styles to an S2 layout. I've actually picked the easiest one of the bunch for my example, because it has very little in the way of customisation options, but the others will have options like "Do you want the link bar on the left or right?" I'll go into this more later.

This post really has no purpose other than just saying "hey, S2 is moving again". If anyone has any questions about S2 feel free to post them in response to this and I'll do my best to answer. The only question I won't answer is "When will S2 be ready?" because I really have no idea... Brad's the head of the project, and S2's currently not active for him. I'm handling a small part of it currently, although I might expand later if Brad releases what he's done so far regarding the customisation interface. (Anything?)