RSS Feed: Creator URL is relative, not absolute

Description

To replicate:

  1. Navigate to any canonical tag

  2. Copy the link into an RSS reader

  3. Open the reader

  4. Select a creator's name

What happens:

The link takes you to href="/users/USERNAME/pseuds/PSEUD"

What should happen:

The link should take you to href="https://archiveofourown.org/users/USERNAME/pseuds/PSEUD"

Notes:

redsummernight found some documentation on Atom and we’re doing authors wrong. /o\ (That doesn’t mention the ability to have a uri for entry authors, only feed authors, but the second example here shows you can). So wrong, apparently, that The Old Reader doesn’t even try to make the entry’s author names into hyperlinks, so YMMV when it comes to the bug’s exact behavior.

That is our current code, which is stuffing HTML for all of the authors into a single author element’s name element, like so:

(Why is text_byline giving us HTML? Because text_byline is currently broken. It’s getting fixed in because we need a text-only byline there. When it’s fixed, this bug will change slightly: rather than a broken relative link for the author, there will be no link at all. However, the links in the summary portion should continue to work. Clear as mud, yeah?)

What we should be doing is creating an author element for each work creator, and each of those should have a name element and a uri element.

So, if you’ll forgive the pseudo code, we need to do something more like this:

It will be a bit more complex than that because it’ll also need to handle cases where the work byline is “Anonymous” (which will have no link) and where the work has been imported by an archivist and has a byline like “external_author_name [archived by archivist_name]” (which should probably also have no link, for simplicity’s sake).

Environment

None

Assignee

Unassigned

Reporter

CJ Record

Roadmap

Misc

Priority

Medium

Affects versions

Fix versions

None

Components

BackEnd

Difficulty

Medium

Required Access Level

None

Milestone

Internal 0.9
Configure