The Glowfic Constellation

Do you have a setting, character, plot, art, or other notion that you wish to put on the Internet? This is the Internet! Whee!
User avatar
DanielH
Posts: 3745
Joined: Tue Apr 01, 2014 1:50 pm
Pronouns: he/him/his

Re: The Glowfic Constellation

Post by DanielH »

I don’t mind signing up with an email address, although it might be a good idea to put a short “this is never displayed publicly” message underneath the email field in the account form. I’ve reset my password, signed in on my phone, and fixed the email address to not a placeholder. My point 1 was about the form asking for both email and username; asking for just one or the other is just as secure and easier on people who forgot their passwords.
User avatar
DanielH
Posts: 3745
Joined: Tue Apr 01, 2014 1:50 pm
Pronouns: he/him/his

Re: The Glowfic Constellation

Post by DanielH »

Bug report: the Last button doesn’t actually work anymore on mobile, logged in or not.
Marri
Posts: 1026
Joined: Mon Mar 31, 2014 7:47 am

Re: The Glowfic Constellation

Post by Marri »

Aaaah, fair. It was mostly a "sanity check the person actually owns this account so you can't get spammed by someone being a troll"; probably not a huge concern but I miiight want to leave it until I have Redis set up and can implement some auto-expiring rate limits around it.

As far as the last button - Don't Copy and Paste At Home, kids. Better now?
User avatar
DanielH
Posts: 3745
Joined: Tue Apr 01, 2014 1:50 pm
Pronouns: he/him/his

Re: The Glowfic Constellation

Post by DanielH »

Yep
User avatar
pedromvilar
Posts: 1172
Joined: Sun Mar 23, 2014 11:48 am
Pronouns: *shrug*
Contact:

Re: The Glowfic Constellation

Post by pedromvilar »

About threads branching off/subthreading/multi threads, I know I already suggested a thing, but I am gonna suggest another thing that looks neater overall in my head.
Technical Suggestion
If I were to design threads from scratch with the current system requirements in mind, I'd have two relevant entities (and associated tables): Thread and Reply.

The Thread entity has the properties:
  • id - the thread's ID in the DB;
  • authors - the IDs of the authors of this thread, defined during thread creation like in Continuities (or set automatically to the continuity's authors);
  • temp_authors - this may or may not be a good idea, but basically the thread's authors can add a temporary author to a thread to serve as a cameo and then remove them when they're done - the thread authors should probably be able to add new full authors to the thread but then an author would have to voluntarily quit it;
  • title;
  • subtitle - the little blurb after the title (so-and-so in such-and-such);
  • tags;
  • content_warnings;
  • settings;
  • continuity_id - the id in the DB's table of the continuity/subcontinuity this thread is a part of;
  • continuity_order - what "position" in the thread ordering this thread has in the continuity;
  • parent_thread - an id for a thread, NULL for main threads, not NULL for subthreads, explained below;
  • zeroth_reply - the id of the very first post, the one that starts the thread, is necessary for reasons other than redundancy, explained below;
  • created_at, updated_at, etc.
The Reply entity has the properties:
  • id - the reply's ID in the DB;
  • character_id - the ID of the character that's posting this (or whatever other fields are necessary to identify the poster);
  • icon_id - the ID of the icon chosen for this post, or NULL for no icon;
  • thread_id - the ID of the thread this reply is a part of;
  • thread_order - what position this reply has in the ordering of the thread, so that people can reorder posts and such;
  • text - the actual content of the reply;
  • whatever's needed to keep a reply's history;
  • created_at, updated_at, etc.
When you create a new thread, a Thread entity is created with parent_thread and zeroth_reply NULL, then a Reply entity is created with the appropriate thread_id and thread_order = 0, then the Thread entity is updated to have the appropriate zeroth reply.

When you post a new reply to a thread, you create a Reply entity with the appropriate thread_id and thread_order.

Then you can pick a given reply, henceforth called R, and branch off it. When you branch off at R, a new Thread entity is created, with parent_thread holding the id of the thread R is in, and zeroth_reply R's id. All of R's replies, but not R itself, get reassigned to the new Thread created, and their ordering changes so that R's immediate reply has thread_order = 1 (not 0). Then, a further Thread entity is created, as described just now, and the new reply that branches off R is assigned to this thread.

When you're looking at a thread, the very first post is the one whose ID is marked in that thread's zeroth_reply field, not the post marked with that thread's ID and thread_order = 0, but all subsequent replies would be those marked with that thread's ID and thread_order > 0. That way, a subthread's first post is the reply it branched off from.
User Interface Suggestion
When a thread branches off, the post where it branches is the last official post to that thread, and it gets links to each subthread. As an example, Book of Impact would effectively end at this post, which would have two links, one for each subthread.

When you click a subthread link, you are taken to a new page that behaves just like a regular thread would, except the very first post is the post the previous thread got branched off from. So this post would be the first post of both subthreads, and each would continue separately from there.

As to how you'd access subthreads, I don't have strong opinions about it, but I think something like an expandable list of subthreads below the main thread's title would work, and in Unread perhaps each subthread would get its own link.
Throne3d
Posts: 1282
Joined: Sat Oct 10, 2015 1:11 pm
Pronouns: He/him/his
Location: United Kingdom

Re: The Glowfic Constellation

Post by Throne3d »

I agree that each subthread should get its own link in the Unread page (and probably the "Recently updated" page), especially for boxes such as the Demon Cam ones where it's totally different worlds that he goes to.
User avatar
DanielH
Posts: 3745
Joined: Tue Apr 01, 2014 1:50 pm
Pronouns: he/him/his

Re: The Glowfic Constellation

Post by DanielH »

The threads idea seems good, although if I were designing from scratch I would handle continuities differently. In particular, I would have a Continuity object which kept track of threads, not the other way around; this would let a thread like glamour to be part of many continuities.

How difficult would it be to add per_page support to lists of threads? With how many threads updated per day we have it could be useful.
User avatar
pedromvilar
Posts: 1172
Joined: Sun Mar 23, 2014 11:48 am
Pronouns: *shrug*
Contact:

Re: The Glowfic Constellation

Post by pedromvilar »

Ooh, you're right, letting a thread belong to more than one continuity like that would be cool, too.
Kappa
Posts: 3554
Joined: Fri Mar 21, 2014 5:47 pm
Pronouns: 'He' or 'she', interchangeably
Location: under a pile of Jokers
Contact:

Re: The Glowfic Constellation

Post by Kappa »

Is branching-from-replies a thing we want? Branching-from-top-posts is useful for things like Demon Cam threads, but branching-from-replies is thornier imo.
User avatar
Ezra
Posts: 944
Joined: Tue Mar 25, 2014 11:15 am
Pronouns: he/him/his

Re: The Glowfic Constellation

Post by Ezra »

The main advantage that I see to branching-from-replies is structurally accurate Effulgence imports.
Post Reply