![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[site community profile]](https://www.dreamwidth.org/img/comm_staff.png)
Get rid of restrictions on future-dated posts
Title:
Get rid of restrictions on future-dated posts
Area:
posting
Summary:
DW doesn't allow you to post a future-dated post, and then follow it with a present-dated post. There are probably other restrictions along these lines. I suspect they are all there for historical reasons that don't matter any more, and I propose we get rid of them.
Description:
I came across this bug when crossposting from my Wordpress blog using JournalPress. My Wordpress blog (and my DW, for that matter) both have their timezones set as Australia/Melbourne, which as you probably know is almost as far in the future as it's possible to be without being a hobbit. So, I posted post A from my wordpress blog, and it was crossposted. Then I went to post another post, locked to my access list, directly on my DW. I was greeted with this error message:
<blockquote><strong>Error updating journal:</strong> Incorrect time value: You have an entry which was posted at 2012-10-01 02:02, 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. </blockquote>
Initially I was going to submit some kind of bug report, but then I got to thinking... why is this limitation there at all? It has the whiff of something that was done for historical reasons, back in LJ's early days, and hasn't been revisited.
Why do we care about future-dated posts anyway?
Before sticky posts, people used to post future-dated posts (eg. dated 10 years in the future) so they would always show up at the top of their journal. This has been superseded by the sticky post feature, though I suspect some people may still use the old technique.
<user name="azurelunatic">, on IRC, suggested that it might also have something to do with people's computers having really wacky times set on them. I can see this being a problem a decade ago, but I think almost everyone's computer these days using <a href="http://en.wikipedia.org/wiki/Network_Time_Protocol">NTP</a> to automatically set the time, yes? So this would be a much rarer thing than it used to be.
I don't actually have a good feeling for what the solution is here, but I wanted to raise this suggestion to ask:
1) what benefit is there to limiting posting in this way?
2) do those benefits still apply, or are they historical only?
3) can we just get rid of it?
4) if not, can we modify it so that only egregious badness is prevented, but posting from a third-party client in another timezone is permitted?
For the purposes of voting, please consider the suggestion to be "get rid of future-date limitations on posts to the greatest degree possible."
This suggestion:
Should be implemented as-is.
24 (42.9%)
Should be implemented with changes. (please comment)
7 (12.5%)
Shouldn't be implemented.
10 (17.9%)
(I have no opinion)
13 (23.2%)
(Other: please comment)
2 (3.6%)
no subject
no subject
It was really, really, really common at the time (I want to say like 2003? 2004?) and it was a huge support burden, so the restriction was put in to keep people from doing it accidentally, and making it so that you had to explicitly set the "date out of order" flag if you really did want that entry all the way back there.
I'm not convinced that NTP is widespread enough to make it not be a problem; I still see people posting with really wacky dates in ways that look unintentional often enough.
no subject
Suggestion for a more intuitive approach:
- On the update page, initially show a "now" timestamp from the server, taking account of the user's time zone
- If somebody wants to edit this, either let them just edit it, or they have to click a button or enable a check box to be able to do so
- If the user has edited the time, use the time that they edit it to. If they don't choose to edit it, use the server-provided time.
This would mean that the only time a user-provided date was used would be if they made a deliberate effort to provide it - so it should avoid picking up odd times from users' bad clocks. Probably? :-)
Disadvantage: Time zone shenanigans and resulting confusion. People will have them set wrongly, and people (like me) who travel and change time zone often may get annoyed.
(also, just as a data point, I used to use the far-future-date technique in place of a sticky post, because that way it mirrors to LJ correctly.)
no subject
no subject
no subject
And is that an issue for future dates - i.e. could you keep things as they are for past-dated things, but allow them for future dated things? Or do people occasionally show up with their computer clocks set to the future?
no subject
In conclusion, time is hard.
no subject
no subject
no subject
no subject
no subject
or, of course, make the post sticky instead of mucking around with future-dating.
no subject
This is LJ we're talking about, so not an option (unless they've introduced that in their own new revision of their update page - I haven't looked). The original date hiccup was years ago and she's gone with it since. Manually fixing all the posts made in the meantime would be hideous.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
(Though on a separate note, under the current way things are built, entries do stop showing up on reading pages 14 days after they are initially posted, even if they're edited later, so if you find you're having trouble with people not seeing entries, that could be one possible cause.)
no subject
a) to still get a warning that you're posting something with a weird date (sometimes, say, you're posting something that's been in an open tab for, *cough*, days, and the reminder to change the timestamp is nice);
b) to still have the "don't show on reading list" option. I've never used sticky posts, but I use that regularly - because I sometimes actually use my journal as a journal rather than a blog, so I'll backdate a series of posts that were, say, written on paper while I was off-internet, or something, and I don't want them flooding the reading page. There are other reasons too - like if I have to lock an old post for some reason and want to put up a public placeholder explaining that it was locked if people come looking. It's nice to have a way to post something public without broadcasting it. It remains a very useful option.
no subject
It should be available to:
* The original poster (journal owner or community entry creator)
* Community admins
* People with the appropriate support priv (who exactly gets this would be a definite discussion to have)
no subject
1. On the server, posts are stored with their posting timestamps expressed in UTC.
2. On the reading page, posts are displayed in order of their posting timestamps (in UTC), but the displayed times are given in the reader's local timezone as expressed in Account Settings.
3. The Create Post page will be modified to change the date UI, and make it more like Wordpress's -- the default posting time is "Immediately", and you have to click on a something to pop out a date UI to pick another time.
3a. Assuming you leave it as "immediately", the posts timestamp will be the moment at which the "Post" button was clicked and it hit the server. This gets rid of the "oops I've had the tab open for three days" problem.
3b. If you choose a date/time explicitly, there'll also be a checkbox saying "show on reading page".
4. API changes. These are intended to be backward-compatible, and to not break functionality if the same client is used for LJ and DW. The changes are actually in the behaviour on the server end. So, when a post is made using a third-party client:
4a. if no date-time is provided by the client, post with the current time as if "Immediately" were selected.
4b. if that date-time given is within 24 hours of current time, behaviour is as if time were selected explicitly on the posting page and "show on reading page" were selected.
4c. if the date-time is further distant (1970, etc), behaviour is as if time were selected explicitly and "show on reading page" were NOT selected.
4d. if the client provides an explicit "show on reading page" flag, then that overrides the previous points.
4e. not actually an API issue, but a related point: all these settings should of course be stored and should be editable via editjournal afterwards.
5. Remove the behaviour in the Create Entry page that blocks you from posting if you have posts out of order. Replace it with a warning that mentions that you appear to have posts out of order, and links so you can edit them if desired, but don't make it compulsory.
no subject
no subject
no subject
no subject
no subject
no subject
Too, I very much don't want the default behavior to be "set the time to whenever I finish the entry".
5 on its own seems like it could work, I suppose...
no subject
auuuuuuugh no no no no no no
(There is a very large group of people, myself included, who want entries to post at the time you OPENED the posting tab, even if it was open for three days.)
I don't actually know if we can keep backwards compatability if we do what you specify; the posts-out-of-order thing is a protocol warning, not part of the site's frontend. I am not sure if changing it would break clients.
Also, yeah, I really don't want to know what time so-and-so wrote/posted the entry in *my* timezone, I want to know what time they wrote/posted the entry in *their* timezone. I don't think I'm the only one. That's going to require at least two additional settings. :(
no subject
*gets the BIKESHED EVEN SPLIT pompoms ready*no subject
If nothing else of this entire suggestion gets implemented, I would still want to see 3b. It frustrates me amazingly that a post cannot show up in reading pages only because I want it timestamped mere hours or even just minutes earlier than an existing post.