denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise posting in [site community profile] dw_dev
It's storytime with mama rahaeli: I think we've got a legacy 'feature' that can be removed, but I'm not 100% sure. Read the background and try to convince me one way or the other.

The situation as it is now: If you try to post to your journal with a time before your most recent entry, you are prevented from doing so.

(The check is in cgi-bin/LJ/, lines 1323-1327; the error is "You have an entry which was posted at $u->{'newesteventtime'}, but you're trying to post an entry before this. Please check the date and time of both entries. If the other entry is set in the future on purpose, edit that entry to use the \"Don't show on Reading Pages\" option. Otherwise, use the \"Don't show on Reading Pages\" option for this entry instead.")

This check was added in the LJ days (I'm not sure when, because the web gateway to LJ's source is down right now and I can't look up the history, but it was very early in my tenure so I want to say 2002 or so) to prevent a very common problem with people's computer clocks being set wrong. It was a horrible support burden (leading to dozens if not more support requests per day): someone's computer battery would be dying and their clock was set wrong because of it, or their clock would just be set a year or two off. Because entries in personal journals are displayed on the Recent Entries page by the time they're dated, not by the time the server received the post, a post dated 1970-01-01 would disappear completely: the person would post it, it would display on Recent Entries behind every other post they'd ever made, and they wouldn't be able to find it when they loaded their journal to see it so they would assume it hadn't been posted at all.

(This is not a problem in communities: to avoid the problem with having posters from many timezones, communities show all entries ordered by server time, not by user-supplied time.)

The fix definitely helped that problem, but it introduced the opposite problem (someone who posts once with an accidental date of 2038-01-01 then has to do some farting around with the backdating flag) and the whole concept of backdating in general is very hard to explain to people. It also, for us, causes issues with emailed-in posts: when someone emails a post to the site, it's posted with the timestamp in UTC (aka, DW server time), which then causes problems if someone wants to post within the 'window' of their timezone offset. (This is what made me start this post: I emailed in today's stupid kitten pic, which got a timestamp of 2014-04-21 0500 UTC, then I tried to post a second entry at 2014-04-21 0421 EDT and got the error. I've opened an issue for applying timezone offsets to emailed-in posts, but there's still the wider question to address.)

My gut instinct is that this check may have been necessary in 2002 (or whenever) when very few people had self-correcting clocks, but now it's 2014 and I don't think there's a single operating system out there that doesn't ship with the "update from timeservers" checkbox checked. I think the few people who will have disabled that auto-time-correction will be used to things behaving weirdly for them if their clock is hella off, and any potential support burden will be alleviated by the lack of having to support questions like "I posted an entry in 2020 to future-date it and now I can't update without errors".

So, discuss:

1) Do people think we can safely remove the "are you trying to post in the past" check?

2a) If not, should we switch to using system time for the "are you trying to post in the past" check? (IE, go by "time the entry was received by DW" rather than "time the user specifies for their post".)

2b) If yes, which of the two options should we take:

2b1) Eliminate all future-date/past-date checks when updating, but otherwise leave things as-is, so that entries on a personal journal's Recent Entries page are still displayed in the order they're dated, not the order they were posted;

2b2) Eliminate all future-date/past-date checks when updating, and switch to treating personal journals like communities, in which entries are displayed in strict order they're posted regardless of date specified by the user.

(I can make up some examples if people are confused about the distinction.)

I think we should get rid of the check, and we should otherwise leave things as-is (so: yes to 1, and of the two, option 2b1) but I am willing to entertain arguments in any direction. Convince me!

On clients and APIs

Apr. 20th, 2014 01:53 am
darael: Black lines on a white background.  A circle, with twenty-one straight lines connecting seven equally spaced points. (Default)
[personal profile] darael posting in [site community profile] dw_dev
Dreamwidth's APIs are poorly documented (people basically have to work off docs for old versions of LJ's APIs). They're also missing key features, like comment handling for more than backups.

I've been told there have been "some internal conversations about deprecating the XML-RPC API -- keeping it for backwards compatability, but moving to a much more modern second-gen API", but that nobody has had both the time and the inclination to work on designing such a thing.

Well, this is me, volunteering. To that end, I'm looking for input on what exactly such a new API needs to provide, and whether there's a preferred underlying technology to build on (exempli gratia, stick with XML-RPC? Change to SOAP? Use JSON? RESTful or not? et cetera). What I'm getting at here is that I'm entirely happy to take point, as it were, and to make decisions (especially where there's little or no consensus and someone has to make the call), draw up specs, write docs, and so forth, but the result is highly unlikely to be a really useful API unless I get input from more sources than my own experience and looks at the code.

At this stage, therefore, I want everything you, the reader, have to say on the subject. Use cases especially.

rydra_wong: dreamsheep with spork and "SheepSpork" logo; no, it wouldn't make any more sense if you saw it  (dreamwidth -- sheepspork)
[personal profile] rydra_wong posting in [community profile] metaquotes
[personal profile] minim_calibre had a terrible idea:

Or, why the hell did I decide to put on Acqua di Gio (pour femme)?



I can't even review it. It's... a fruity floral with notes of Weezer.



June 2011

192021 22232425

Style Credit

Page generated Apr. 25th, 2014 03:16 am
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags

Most Popular Tags