AO3 News

Post Header

2018-07-22 08:57:37 -0400

Now that we've finished rolling out the new search and filtering features, it's time to give our previous series on hidden search operators and neat tricks an update as well.



As before, you can use all of these suggestions in the main search box (in the site header), the "Any field" box in the work search, or the "Search within results" field in the filters. Keep in mind that this input is case-sensitive and the space after the colon is non-optional. Just copy-paste what you need, mix and match as you like, and bookmark the result in your browser for quick access to fanworks perfectly tailored to your tastes!

Work Properties

  • expected_number_of_chapters: 1 for single-chapter works only
  • -expected_number_of_chapters: 1 for multi-chapter works only
  • creators: username for works by a particular creator
  • -creators: username to filter out all works by a particular creator
  • restricted: true for restricted works (if you're logged in to access them)
  • restricted: false for public works
  • work_skin_id: 277 for works using a specific skin (Homestuck, in this case)
  • imported_from_url: xyz for works imported from a specific site or domain
    • xyz cannot start with http://, so use an asterisk instead (e.g. *
    • xyz may contain periods and slashes and asterisks, so * and *username* would both be fine
  • notes: string or endnotes: string for works with notes or end notes containing a particular string
    • string can be any single word or a phrase enclosed in quotation marks
    • notes: "ball game" notes: peanuts will find works whose notes contain the words "ball" and "game" together and in that order, as well as the word "peanuts"
  • summary: string for works with a particular word or phrase (in quotation marks) in the summary
  • backdate: true for works that have been backdated
  • backdate: false for works that have not been backdated
  • otp: true for works tagged with only one relationship (experimental!)
    • can be used by itself or in combination with a specific relationship tag (e.g. chosen from the filtering options)
    • will exclude all A/B works where A/B might only be a side pairing, but also all A/B works with other side pairings
    • will include works with multiple relationship tags if they're all synned to the same canonical tag
  • otp: false for works tagged with multiple relationships (experimental!)
  • -relationship_ids: * for works with no relationship tags at all
  • collection_ids: * for works that are part of a collection
  • series.title: string for works in a series whose title contains a particular word or phrase (in quotation marks)
  • series.title: * for works that are part of a series
  • -series.title: * for works that aren't in a series


By work properties
  • sort:words to sort works by word count, longest works first
  • sort:>words to reverse the sorting order and show shortest works first
  • sort:author to sort works by the creators' pseuds, A-Z
  • sort:<author to reverse the sorting order and show pseuds starting with Z first
  • sort:title to sort works by title, from A to Z
  • sort:<title to reverse the sorting order and show titles starting with Z first
By date
  • sort:posted to sort from newest to oldest, going by the day they were posted to the Archive
  • sort:>posted to reverse that order and show oldest first, going by the day they were posted to the Archive
  • sort:updated to sort from newest to oldest, going by the day they were originally published (if backdated) or had a chapter added (this is the default sort)
  • sort:>updated to show oldest works first, going by the day they were originally published (if backdated) or had a chapter added
By feedback metrics
  • sort:kudos to sort works by amount of kudos, most kudos first
  • sort:>kudos to reverse the sorting order and show least kudos first
  • sort:comments to sort works by number of comments, most comments first
  • sort:>comments to reverse the sorting order and show fewest comments first
  • sort:bookmarks to sort works by number of bookmarks, most bookmarks first
  • sort:>bookmarks to reverse the sorting order and show fewest bookmarks first
  • sort:hits to sort works by number of hits, most hits first
  • sort:>hits to reverse the sorting order and show fewest hits first
Within a range

You can also specify a range of works with some of these properties, namely words, hits, kudos, comments, and bookmarks, with the following options:

  • words:1000 (works with exactly 1000 words)
  • words>1000 (works with more than 1000 words)
  • words<1000 (works with less than 1000 words)
  • words:1000-5000 (works between 1000 and 5000 words)

Text Searches

Due to the way Elasticsearch 6 handles query strings, putting several words or phrases into the search box will result in a list of works with all of those words in one field (such as the notes, or the title). For example, searching for BTS love will bring up a work with the phrase "I love BTS!" in the notes, but will not find works with the BTS fandom tag and the word "love" in the title.

To make sure that your input is matched against all possible work properties, separate your search terms by an AND, such as BTS AND love or BTS AND puppies AND "slow burn". This will search for any combination of those words in all fields.

However, the search operators above can just be added on, separated by spaces, resulting in a query like Discworld AND library expected_number_of_chapters: 1 sort:>posted to find all single-chapter works with the words "Discworld" and "library" anywhere in the title, tags, notes, or creator's username, sorted to show oldest first.



We have made some changes to the way bookmarks are stored and displayed, enabling us to differentiate between properties of the bookmarked work and properties of the bookmark itself more easily. As a result, bookmarks now allow for more finegrained searches, but require a little more input to find exactly the bookmarks you're looking for.

Bookmarked Work Properties

In addition to any word or phrase that will be matched against the title, summary, notes, and tags of a work, you can also use the following in the "Search within results" field (for filtering) or the "Any field on work" field (for bookmark searches):

  • restricted: true for bookmarks of restricted works only
  • restricted: false for bookmarks of public works only
  • complete: true for bookmarks of complete works
  • complete: false for bookmarks of works in progress
  • bookmarkable_type: ExternalWork for bookmarks of external works
  • bookmarkable_type: Series for bookmarks of series

Bookmark Properties

Likewise, you can put any word or phrase in the "Search bookmarker's tags and notes" field (for filtering) or the "Any field on bookmark" field (for bookmark searches). You also have the following options:

  • private: true to filter for your private bookmarks only (if you're logged in to access them)
  • private: false to filter for public bookmarks only
  • tag: * for bookmarks with tags added by the bookmarker


Searching and filtering by language

You can use language codes to limit your searches to works or bookmarks in a particular language (or several languages in one search), or exclude items in a particular language. You can use this list of language codes for reference and replace abbreviation with the code for the language you want.

All these options will work in the main search box (in the site header), the "Any field" box in the work search, and the "Search within results" field in the filters, as well as the "Any field on work" field in the bookmark search and the "Search within results" field in the bookmark filters.

  • language_id: abbreviation for items in that language
  • language_id: abbreviation OR language_id: abbreviation for items in either of those languages
  • -language_id: abbreviation to filter out all items in that language


Post Header

2012-09-21 04:57:31 -0400

While we're not yet able to host media types other than text, we're working on making the site more welcoming to multimedia works. As part of this, we encourage users to embed podfics and vids. In 2012, Google implemented server restrictions on their media player embedding solution that many of our users had used to post podfic, causing the works to not play any more. As a stopgap, we looked at several solutions, including continuing to expand our whitelist and locally hosting a copy of the Google code. We wanted, however, to have a more open-source solution that we will be able to fully support going forward, and preferably one without too much adjustment for the users.

After some debate and discussion, we have installed locally on the Archive a copy of Dewplayer, a Flash-based CC BY-ND 2.0 MP3 player. By hosting the player on the Archive, we have better confidence in the safety and security of the code, and because it is licensed under the Creative Commons, we're more confident we can provide this solution for the future.

One of the nice features of Dewplayer is that it by default comes with several different player skins. We recommend the Classic and Bubble skins, and the Volume variations of each. You will still need to have your files hosted on another server for now, though. Once you have the file hosted, just replace MP3_FILE_URL in the code for your favorite player below. (We should also note that several users have reported their browser pasting smart quotes again, so be sure to convert any of those back to normal double quotes!)


the Dewplayer Classic skin
<embed type="application/x-shockwave-flash" flashvars="mp3=MP3_FILE_URL" src="" width="200" height="27" allowscriptaccess="never" allownetworking="internal"></embed>

Classic with Volume control

the Dewplayer Classic skin with volume control
<embed type="application/x-shockwave-flash" flashvars="mp3=MP3_FILE_URL" src="" width="250" height="27" allowscriptaccess="never" allownetworking="internal"></embed>


the Dewplayer Bubble skin
<embed type="application/x-shockwave-flash" flashvars="mp3=MP3_FILE_URL" src="" width="250" height="65" allowscriptaccess="never" allownetworking="internal"></embed>

Bubble with Volume controls

the Dewplayer Bubble skin with volume control
<embed type="application/x-shockwave-flash" flashvars="mp3=MP3_FILE_URL" src="" width="250" height="65" allowscriptaccess="never" allownetworking="internal"></embed>


Post Header

2011-11-11 19:42:03 -0500

This reference list of new skins was compiled by front-end coder lim. Lots of modular skins have been created to modify different aspects of the Archive. You can combine different skins to get exactly the look you want. More info coming soon on how to get the most out of the new skins!

Reference and Teaching List of Completed Skins

I've tried to comment quite extensively inside the skins.

  1. Blurblings

    Shows, hides, and rearranges the blurb. You can chain these together to perfect your metadata display.

    1. Hide warnings
    2. Hide stats
    3. Hide summaries
    4. Hide tags
    5. Hide fandom
    6. Hide datetime
    7. Hide freeform tags
    8. Hide relationships
    9. Hide characters
    10. Hide nearly everything (except the title, author, fandom)
    11. Hide everything except the header
    12. Show the landmarks (landmark headings on tags, summary, etc)>
    13. Blurb drop drops the blurb group entirely (makes a plain text blurb)
    14. Shipper emphasises the relationship tags
    15. Faint Warning de-emphasises the warnings
    16. Chain Example demonstrates chaining.
    17. Byline Breaks the tags out into blocks by type (updated version of a skin by Branch so doesn't use the blurblings nomenclature).
  2. Workings

    Similar to blurblings, but modding the work view

    1. Hide meta
    2. Hide author notes
    3. Hide author summary
    4. Big margin
    5. Max Width restricts the work width to 39em
    6. Fix Actions Right fixes the bookmark/save etc buttons to the right of the page as you scroll
    7. Fix Actions Left fixes those left
    8. Hide feedback
    9. Hide kudos
  3. Typeset In My Ways

    This series is tarted up code from our very first Accessibility, Design and Technology meetings in 2007. Very stark, very simple text styles.

    1. Typeset In My Ways Uses the Archive typography and layout, with plain text blurb and a limited width work view.
    2. Typeset In My Ways Erasure drops all archive parents except core and loads a simple typographical style.
    3. Typeset In My Ways Sans simple sans serif text.
    4. Typeset In My Ways Serif simple serif text.
    5. Typeset In My Ways Negativity light on dark
    6. Typeset In My Ways Terminal simple console/terminal style
    7. Typeset In My Ways Scully simple Word Perfect style
    8. Typeset In My Ways 2.0 uses Archive 2.0 style but plain text blurb and big margins.
    9. Typeset In My Ways Landmarks shows the landmarks and lays them out
    10. Typeset In My Ways Textura adds a (subtle) textured background
  4. The Screeny

    various screenreader optimisations

    1. Screeny Exposure! exposes all landmark headings to the readers that can't read them.
    2. Screeny Oppression! suppresses all landmark text.
    3. Screeny Drop It drops all archive parents except core
    4. Screeny She's Got Form drops all archive parents except core and interactions.
    5. Screeny Shut It Any component you don't care to read, add to the beginning of this code, or remove ones you do want. Remember to separate with a comma!
  5. Parental Guidance

    1. Colour Flip Combos a reference skin grouping the archive into a 5 level colour and contrast palette.
    2. Key Colour Reference this lists everything that is red.
    3. Exploded Worker this is an advanced parenting reference parent. *g* It explodes the archive 2.0 cascade into all its component parents, so you can live edit the CSS in tabs with a plugin like Firefox Web Developer. Only use this for reference, because it will slow down your page load.
    4. Trouble O'Head zeroes out the default background, borders, and shadows on the header navigation. This is useful to just parent in when you don't want to drop the whole AO3 header region style.
    5. Region Drop this is an advanced parenting parent for replacer layouts. It drops header, dash, footer, and main from AO3 default. In most cases you're better off overriding instead. Check out Trouble O'Head for fast header overrides and the Tile Puzzle series to move the dashboard around with overrides.
  6. Graphical

    I've uploaded a ton of tiling textures you can call to decorate your layouts. There are loads more graphical styles to come but this is what I could do with two days notice!

    1. Simply Twilling introducing textures - this is a simple override CSS3 skin that demonstrates how you can leverage region and group transparency to build dramatically different styles quickly.
    2. Threw Twill Out an introduction to parenting.
    3. Desk Job a template "desk top" layout you can adapt to your own design. [needs a bit of testing so have not preloaded sorry]
    4. Panda Madness this is like, pink and round and it has pandas on it
    5. The Hustings a stripped down version of a more complex theme made ready quickly for deploy
    Chained Melody

    Here I'm demonstrating breaking a css3 theme apart into components so each piece can be used in other skins. There are brill free fonts to download linked in. CSS3.

    1. Chained Buttons
    2. Chained Head hover the icon
    3. Chained Groups
    4. Chained Quotes
    5. Chained Icons
    6. Chained Key (colours, fonts, background)
    7. Chained Melody the whole lot chained together

    A fixed region layout, again with components you can use in other skins pretty easily, but this one drops components of the site style: it doesn't just override them, it replaces them. Free fonts to download linked . IE7 and up

    1. Fixie Fix explodes the site layout and takes out portions of it, then fixes the regions: header, dashboard, footer, and scrolls the main region. This is "parent only" meaning you have to chain it in to a style - it doesn't work on its own as a layout.
    2. Fixie Buttons makes scribbly buttons with Mido font
    3. Fixie Icons make scribbly backed icons
    4. Fixie Groups this makes some swooshy CSS3 rounded boxes
    5. Fixie this chains everything together to make a layout!
    6. Fixie Free Wheel (coming soon) this spoofs the basic look of Fixie, but as an override skin, and with normal scrolling regions.
  7. Palettes

    Colour changes, some based on the most popular colour changes in the old skins system

    1. Mono black and white where red all over
    2. Zebra Mono black and white where red all over, with zebra fur detail
    3. Reversi light on dark, with blue key
    4. Dusted off based on Dusty Rose by sistabro
    5. For the trees based on Sunny Forest by enigel
    6. The Blues based on Medium Blues by Arduinna
    7. Snow makes everything that is very light lavender pure white. Useful to chain in.
    8. Snow Blue
    9. Get the Backers makes all the group backgrounds white.
  8. Tile Puzzle

    1. Wide Horizon Horizontal dash in blocks
    2. Dash Line Horizontal dash, inline
    3. Eyes to the right Right side dash
    4. 100% width filters
    5. Stick It sticks the secondary (page specific) navigation to the left and fixes it there
    6. Mark My Words Shows all landmarks and gives some minimal visual style
    7. Slim Shaded makes a slimmer, texty header, with a shaded strip, snow body, and lowercase buttons
    8. One Point Faux spoofs the old style on top of the new style. Might look slightly different to the original old style, but broadly the same.
    9. 2 Point No takes off all the box shadows, text-shadows, and rounded corners
    10. Look and Read swaps the logo for a text title: "Archive Of Our Own
    11. Imago swaps your header icon for a text greeting: "Hi, username!"
    12. Incommodious takes off the commas we add into long lists of inline tags, if you find them odious!
  9. Wiggle It

    Some pure CSS3 mods. Modern browsers only.

    1. Head Buoy slides the header up out of sight and slides down on hover.
    2. Sliders slides the meta header off a work and slides out on hover.
    3. The Bubbler probably the most useful skin here. Bubbles everything. No animation.
  10. Mash Up

    So you can just stick on different buttons.

    1. Aqua Buttons You can just swap the buttons, or use them in a more complicated layout.
    2. Gel Buttons showing how you can change the colours for a different effect.
    3. Scribble Buttons pencil scribble buttons good for paper styles.
    4. Massive Buttons they're really big and bold.
    5. Don't Care A Button makes the buttons just plain text.
    6. Dusted Buttons chain in Dusted Rose


Post Header

2010-03-16 15:41:03 -0400

The information in this news post is out of date. It is being kept for archival purposes. The Tag Wrangling Committee is working on new documentation that represents the current state of tags. You can view our current wrangling guidelines for more accurate information.

What are metatags?

Metatags are a new form of tag that add to the ability of the Archive of Our Own to manage hierarchies and ambiguities in our tagging systems. They will let us deal with real person fiction, shared universes, and other complex tag relationships much more effectively. For example, the Spock metatag (illustrated below) contains Mirror!Spock, Spock Prime, Reboot!Spock, and Girl!Spock as subtags.

The Spock metatag

Metatags act as a "basket" for other tags, whilst remaining a usable tag themselves. They collate tags, in order to group similarities and to make browsing easier. Tags which have been grouped together become subtags. In a real world example, "fruit" could be a metatag, and "apples" and "oranges" could be subtags.


How will metatags help me browse?

Metatags will help you because they allow you to both see everything that's related and to narrow your focus.

For example, if you browse the fandom metatag for "Star Trek" you will retrieve all works which have been tagged with related fandoms - "Star Trek: The Original Series", "Star Trek: The Next Generation", "Star Trek (2009)", and so on. You will also retrieve works which have just been tagged with the fandom tag "Star Trek", which could conceivably be any of the aforementioned fandoms.

You will still be able to browse the works tagged with a specific tag, for example "Star Trek: The Original Series" instead, but in bringing these tags together you have more chances finding what you are interested in, since users may tag differently.

Because metatags can be used to filter very generally, it will now be easier to narrow your focus by filtering on their subtags. See the example in the following table, where you can choose to only browse stories tagged with Girl!Spock rather than the generic Spock.

Filtering by metatags and their subtags

What other changes will I see?

Because metatags are new, we're still working out some of the finer details on how to use them. We'll be running some more posts on tag wrangling and how it works in the near future.

Our intrepid team of tag wranglers need to recategorise the existing tags on the Archive in order to take advantage of the new functionality. You may notice some inconsistencies or changes while this process is going on - please bear with us! If you notice something which seems like a mistake, then you can let us know via the Archive support and feedback form, but if it's non-urgent, then please wait a few days in case the tag wranglers just haven't reached it yet!


Post Header

2009-11-17 14:31:24 -0500

The information in this news post is out of date. It is being kept for archival purposes. The Tag Wrangling Committee is working on new documentation that represents the current state of tags. You can view our current wrangling guidelines for more accurate information.

Zvi, in a moment of inspiration has written up a fabulous explanation of how Tags Wuzzles work and has generously offered to let us post it.


Tags Wuzzles explained

Tags are mysterious deep voodoo a mix of freeform (everyone picks their own) and controlled vocabulary (everyone picks from a list of pre-existing tags). They are not being handled like any tags anywhere else in computing that I am aware of. So, just, forget what you know from or blogging or the library card catalogue. Start with a blank slate.

In fact, instead of calling them tags, we shall call them wuzzles. Just to make it clearer that wuzzles are different from all other tags.

Okay, first of all, you should know that all of the fields in the Story Tags Wuzzles box are wuzzles (Story Wuzzle box illustration), not just the field labeled Tags Wuzzles. So fandom names are wuzzles and character names are wuzzles and warnings are wuzzles and angst (if you put it in the Tags Wuzzles field) is a wuzzle.

Screenshot of the Post Form with Wuzzels identified

You can write anything you feel like down as a wuzzle. You could write dirty socks or a boy named sue or antidisestablishmentarianism. You could write wuzzle as a wuzzle.

However, behind the scenes, there are Tag Wuzzle Wranglers, who are automagically in a labor intensive, thoughtful, solomonesque process, trying to bring the wuzzles together, so that even though I write Star Trek: AOS as a fandom wuzzle, and you write Star Trek XI as a fandom wuzzle, and StarFleetAdmiral writes Star Trek Reboot as a fandom wuzzle, when ExampleTheFan clicks on the fandom wuzzle Star Trek (2009), they get shown all three of our stories.

This is (a) pretty doable for TV shows and characters (Wranglers check Wikipedia and official sources to find out the official name) and (b) highest priority for fandoms and characters, because those wuzzles are the ones that everyone uses. There are elaborate rules describing how they pick one wuzzle [Star Trek (2009)] as the canonical wuzzle (canonical here refers to the archive software and what shows up on filters and in certain URLs) and make the other wuzzles (Star Trek XI, etc.) synonym wuzzles.

But why are some of the wuzzles not in the filters or the tag wuzzle cloud? Well, the Tag Wuzzle wuzzles are a slightly lower priority for wrangling in the first place. Also, it's harder for the Wranglers to decipher exactly what you meant by a weird wuzzle like a boy named sue. Also, also, even when it's clear what something means (like cunnilingus, which is pretty unambiguous) it's not always  clear what other wuzzles it should go with (should rimming, cunnilingus, and fellatio all get wrangled together as oral sex? or should they be separate?) So if nobody has yet wrangled a wuzzle (which, in addition to figuring out if it is like these other wuzzles, also includes important responsibilities like making sure the correct spelling is the official wuzzle, and making sure that even if the fandom and a character have the same name e.g. Buffy/Buffy, they are separated in the database), then you get the unwrangled wuzzle message:

This tag belongs to the Tag Category.

This tag has not been marked common and can't be filtered on (yet).

Basically, the wuzzles are not automated and depend on human volunteers to do what needs doing, and the volunteers can't do everything at once, in the first part, and have to make actual decisions in the second part.

Also, also, also, they realised that they needed to make a way for a wuzzle to be a subset of another wuzzle, like Backstreet Boys and *NSYNC need to be sub-wuzzles of Popslash, so that if you click on the Popslash wuzzle you get both of those, but if you click on *NSYNC, you don't get Backstreet but the code for this was tricksy, so that’s not built yet.

And there is yet a third sort of wuzzle that they need, the ambiguous wuzzle. This is so that if someone labels their story bandslash, the archive can stay completely agnostic as to whether this means six degrees of Pete Wentz or any professional musicians at all. Code for that has not been written either.

Which still leaves the more normally ambiguous wuzzles, to wit: is badassery the equivalent of kicksass, and other existential wuzzle wrangling musings.

If you think your wuzzle has been wrangled the wrong way, send a support request! The Wranglers are doing their best, but your story may be the first time they have ever heard of your fandom, or the first time they've ever read the word you're using as a wuzzle, or they may just have thought about what you wrote differently than how you meant it. Once upon a time, safer sex and unsafe sex were wrangled together, because they were both about sex. I pointed out that they mean the opposite of each other, and now they are separate (but, sadly, unwrangled) wuzzles. Don't forget, if you're not sure what wuzzles to use, you can add them later or change them to something else once you figure it out.