Expand Cut Tags

No cut tags
branchandroot: butterfly on a desk with a world in a bottle (butterfly glass desk)
*drums fingers*

The more I think about the idea of a display-name/alias for canonical tags, the more I think: it's going to have to be a new table.

I'm pretty sure that it would be faster to store any given story's aliases in a single field of the Story table as a string of key-value pairs. But those pairs would need delimiters that would not ever show up in the aliases themselves and that... that's not something I really want to bet on, when it comes to fandom, names, and the evolution of pairing syntax.

It would also be more accident prone during the canonizing of the tags. (I'm starting to feel like I should capitalize that phrase. Like the Running of the Bulls or something.)

So. Separate table, nice and simple, with columns for story id, canon-tag id, and alias. I'm thinking story id should be the primary key. The most frequent use is going to be producing story-blurbs, and I'm guessing this sucker is going to have to be partitioned. So, partition by story id range and crank that into the one extra query this will create per story (or at least prepare for it; it might not be necessary yet).

Putting aliases in their own table will also make them far more easily searchable. [personal profile] petronia pointed out that some fan cultures, for example the Chinese-language fans, will want and expect to be able to search for things like "Sasuke/Naruto" as distinct from "Naruto/Sasuke", and also search for things like "*/Sasuke" (that is, anyone/Sasuke). Putting a specific "search display names" option on the Advanced search, and putting the aliases into a table of their own with one alias per field, will make that a lot more feasible. It won't be perfect, because it will rely on authors to alias, but there should be some significant overlap between authors who will alias like that and authors writing the kind of fic members of that fan culture want to see.

Now the first step of the Canonizing of the Tags is a lot simpler. Relatively speaking. For each story, get the current tags; get the names and ids of those tags; write them to the alias table. That can run in the background as long as it takes, since it won't affect anything yet.

The new posting form has to be prepared next, so that it's ready to present canonicals and "talk" to the alias table. The new code to display story blurbs and pages will need to be done up, but that should be nice and straightforward. Incidentally, I quite like [personal profile] busaikko's idea of putting Additional tags, possibly labeled Author Tags, under the summary to make them clearly separated from the menu tags and more clearly part of the author's own meta-information about their work. That would prepare the way to possibly show Reader Tags, and make them clearly distinct from anything the author zirself put on the story.

And now the canonization query should run smoothly, as each child-tag id is replaced with the id of its final parent tag, including the ids in the alias table. Which will, after the query runs, match up with the changed ids in the Story table. And without needing any dangerous, and slow, additions like "match any number that comes before X delimiter in this long string". *dusts hands*

Best of all, as [personal profile] niqaeli points out, this can be considered an improvement in user control of their own content. Users would now be able to absolutely control what canonicals are associated with their stories, instead of being forced to leave that up to the wranglers. (Which must surely be less nerve-wracking for the wranglers too...). The user will still have control of exactly how all the text of their content appears and, since no user actually has control of how the navigation structure appears right now, no one will lose any control they had.

So there is an increase in user control, plus an improvement in searchability, a considerable improvement in stability and performance, and a huge improvement in the efficient use of wrangler time that might let them be more pro-active in populating new fandoms with suitable canonicals ready for author use. This should even, much as it disgusts me, let the OTW leadership avoid Step One from my previous post. So get cracking, people.
branchandroot: a hand holding a star (star hand)
So, let's think about the Archive posting page.

(Background for anyone just joining: I am strongly in favor of ditching the tag-synonym structure and selecting from the pool of canonical tags for fandom/character/relationships posting fields. Menus can then be far more simply generated, and malformed tags or wrangling accidents will not make stories un-searchable. This would involve some fairly simple modifications to the current database, and the addition of a few forms and form fields.)

The posting page really does feel like the keystone of the idea. That is the page where workflow would have to change most. So! Let us consider how it might work.

For one thing, [personal profile] troisroyaumes had a fascinating idea: what if there were a few columns added to the Story table of the database, to hold, not tag synonyms, but alternative link text for the canonical tags? That would require a little more complexity in preparation for the change-over, to create those fields and populate them with the current synonym names, but it wouldn't be all that much more work and would preserve the possibility of user-chosen tag text while not interfering with or complicating (or breaking) navigation. That strikes me as a far more workable middle ground than the current system.

Those fields would definitely require some significant revision to the post-form, though. Here's what I'm imagining so far:

Rough mock-up of a possible posting form and details. )

Thankfully, the rest of the form can stay just as it is! So, there's a start on the idea. What do people think? Are there other cases that would need to have the logic and triggers worked out? Any form-bits that are missing?

I'm thinking there should also be links to the canonical pools of each field type for the Fandom(s) in question, in case people want to check what's available, but I can't decide what seems most useful and findable: a link under the label, or a link on the far end of the text field. Under/after the label, so screen readers know it's there, maybe?

Also, does anyone know how to let a form take the kind of information it would not normally allow, as long as that information is passed to it by another form? So that, despite the Menu tag fields being limited to canonicals, they could still be populated from the "request new canonicals" form. And also enter those requested tags as "requested" or "provisional" instead of "approved". I'm thinking this is just adding the right id or value and then a lot of "if" statements in the script, but I don't deal with such complex forms that often so I'm not sure of that.
branchandroot: oak against sky (Default)
Okay, since the review process is clearly backed up, here is a copy of the skin I made to quickly fix the worst problems with the new Archive default. It's submitted to be public, free to one and all, have at it.

Go to Your Home, click on Skins in the first module of your sidebar. Select the Create Skin button at the top right of the Skins page. On the skin-creation page, paste the CSS below in, and name it something.

Now click on the Advanced button at the bottom. For "What it does", select "Replace an archive skin entirely". Down under Parent Skins, click "Add a parent" and type in Archive. From the dropdown that will give you, select Archive 2.0. (Yes, it's counter-intuitive.)

Save it! Lo, you have a new skin. Down at the bottom of the skin page or skin blurb there is a button for Use. Click on that and you're good to go.

The CSS )

Here is bonus CSS, courtesy of [profile] annoted_em: a list of all the red, should you wish to change the accent color out for something different. Just replace all these reds with color-of-your-choice and add this to the bottom of the above CSS.

The Reds )
branchandroot: Hatsuharu looking pissed (Haru black)
The reason that tag wrangling on AO3 should be a function that creators and viewers have immediate, front-end access to:

Because the people actually writing and reading (drawing, watching, editing) these stories are way more qualified to notice and appropriately associate an individual tag with the suitable parent/canonical tag than some random volunteer who just happens to like, or at least be willing to take on, the fandom in question.


Subsidiary reason: because hand-wrangling is going to kill the archive dead in its tracks with no capacity to grow much further before collapsing into chaos everywhere outside a few (western tv media) well groomed fandoms.


I am so intensely ticked off by the solipsistic, short-sighted, bad-design inertia of that project, there are really no words for it. And this, because I'd really love it if it worked. The current form is neither technically nor bureaucratically sustainable.

Turning off comments for the moment, because I'm so freaking pissed off I'd bite the head off even reasonably innocuous responses.
branchandroot: abstract squares in primary colors (primary abstract)
Lo, I have finished (I think) my first skin for AO3!

Check it out. )

I'm happy to offer the css to anyone who wants it, but I'm not applying to make it public yet because to make it really work requires an "auxiliary" style sheet in your browser styles for the handful of things the skin-maker spazzed over. Stylish is our friend.

But I'm really pretty pleased with this one. *basks in the happy glow of success*

So, the css. Unfortunately, the title will only look that spiffy if you're on a Mac. Windows users should look down to where it says #header h1 {font-family: Zapfino, cursive; }, and put your favorite large, pretty font in place of "Zapfino".

This goes in the AO3 dialogue. )

And this goes in Stylish et al. )

November 2024

S M T W T F S
     12
34 56789
10111213141516
17181920212223
24252627282930

Syndicate

RSS Atom

Style Credit

Page generated Jul. 6th, 2025 08:42 am
Powered by Dreamwidth Studios