I would like this feature for all types of content, from threads to posts to media and resources.
One thing I don't like about the approach on how the add ons work is that they immediately create an item in the table — take xf_thread
or xf_post
for example — and getting the next auto increment id number assigned.
I took notice of this quickly.
It looks odd having thread ids 1000-2500 then a new thread, 999, appear as if it were posted in the present, which if it were, it should be thread id 2501 — this is much more prominent on threads as the id is affixed in the URL, but hovering links in posts can give it away that it was scheduled as well.
The approach I would take is to insert scheduled posts into something like xf_thread_scheduled
or xf_post_scheduled
, and then when the date to post arrives, have the task enter it into xf_thread
or xf_post
to inherit the post id that it should be if it were genuinely posted at that time and date.
Scheduled content should still be visible and editable up until the posting date to those with permission though.
I don't know if it's possible to use the same tables (xf_thread
or xf_post
) to achieve a "stealthy" future post, unless, it creates a new item in the table and removes the old one so that the ids remain incremental.
Two ways to do it — unsure of the best approach.
Nevertheless, I'd prefer if a future thread, post, etc. we're created, the telling sign that it was made in the past by the id, would be addressed in some manner to make a scheduled post appear as if it were posted in the present with the next auto increment id for that content.