NokiMo
Touhou-Project.com
Touhou-Project.com

patreon


The story list as it exists

Hey guys, hope you’re well. As promised, we’ll be talking about the story list this time around. I’m going to try something slightly different and split all of this up into shorter posts spread out over time, in the hopes that we don’t get too dense and boring!

I’ve talked about in the past about some of the reforms that I’ve done to the story list. If you can’t be bothered to read up all the sexy details here’s a few bullet points as a recap:

It’s also worth describing how the story list works at its most basic. It’s a series of sql tables with data, one table with a story, its id, status author etc and another which keeps track of which threads belong to which story id. There are some caveats as provisions for second runs, child and parent stories and the like. Simple enough, right?

To an extent! This was engineered in the early days of the site without much concern for scalability or reordering data. With the… over a thousand registered stories, making any sort of alteration to the database can be messy. One of the first things that I’ll be doing in the upcoming reforms is to do away with some of the special cases and information about second runs, instead just making separate entries. Why? Well, it’s easier to then keep track of creation timestamps as well as new features like tags and synopses.  

The original plan for the story list was ambitious but only two of those tables were ever used.

This will, tragically for me, require a lot of manual intervention. I’ll have to figure out patterns to grab these non-standard entries and separate out their data. I have some things figured out but, as there might be several alternatives to how to organize data depending on what features I wish to implement, it’s still not 100% certain. If you’ll remember my handwritten developer notes, I’m at that stage—with hopes that I’ve got all the logical consistencies worked out before I dedicate a few hours of (somewhat) manual data processing.  

Pictured: Story List table. Note the multiple statuses in a single column. 

I’d rather do it sooner than later and do a small user-facing change in the live version of the story list as well. Then I’ll be able to completely overhaul the actual story list page, which is a mess of old script and PHP, some of which has been deprecated by newer software versions. But I’m getting ahead of myself. I’m proceeding cautiously.

Actual story threads table, runs are kinda useless to us now.

By the next time I put up another one of these posts, I’ll likely have done that. And I’ll be able to talk about some of the features I’m implementing and how I’m getting around to doing them. Look forward to that sooner rather than later.

Until next time, take it easy!


Related Creators