Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working Group: Behavior and specification of URL redirects and renamings #704

Open
bernhold opened this issue Feb 11, 2021 · 9 comments
Open
Assignees
Labels
postponed-for-future-phase For item to be dealt with future phase of this project post-ECP Dec 2023 scope: site-internal type: enhancement

Comments

@bernhold
Copy link
Member

Charter: We have a couple of redirects, which have been implemented as one-offs. We have the capability to manually override the automatically generated title-based slug use in a resource's URL. For the long-term we need to figure out what really are our requirements and how we want to specify them.

Members: David, Pat, Rinku

@bernhold
Copy link
Member Author

One think I think we may need is the ability to have an article appear at multiple URLs. Scenario:

  1. We publish an article. Maybe someone forwards the link to a friend or bookmarks it or something
  2. We update the article in a way that argues for changing the title
  3. If we change the name, the old links don't work

Possible solutions:

  • Use the new metadata option to retain the original slug as the URL
    • In this case, the article is available only through the old URL
    • The new title and the URL are not connected. Do we care?
  • We modify the behavior so that the article appears at both the title's URL and the one from the metadata
    • Another approach would be to support the specification of multiple titles in the Markdown document. The first would be the one that's visible on the published article. All of the titles would be used to generate URL slugs at which the article would be available

@bernhold
Copy link
Member Author

Consensus of initial discussions in 2021-03-11 EB meeting was ...

  • Things controlling URL should be together in the article, not split out to other locations
  • The initial URL under which something was published should be maintained
  • Should be able to control whether "new" URL specifications add to or replace the title-generated URL
  • Need to ensure that testing for title (URL) collisions includes all sources of URLs (i.e., metadata controls as well as actual titles)

We did not reach a consensus on whether an article should be available under multiple URLs if its title changes over time (i.e. initial URL and the URL based on the revised title).

@rinkug
Copy link
Member

rinkug commented Mar 16, 2021

Lets separate functionality and implementation.

I see two cases from functionality perspective:

General

  • The initial URL under which something was published should be maintained

Article is updated:

  • If the title does not change, then URL remains the same and article is simply updated
  • If title changes, then we need a rule such as "retain X popular past URLs which redirect to the latest title"..

Article is not updated but we need custom URL:

  • If we need to specify custom URL (as we did for psip landing page), then we need redirection and that is independent of the title of the landing page

For implementation - now that has many solutions. Do we use metadata in each file, or a universal file? How do we detect collisions etc.

@bernhold
Copy link
Member Author

@rinkug These two statements are not consistent:

  • The initial URL under which something was published should be maintained
  • If title changes, then we need a rule such as "retain X popular past URLs which redirect to the latest title"..

We would need to keep the first URL, the current URL, and perhaps some of the others. How do we decide which ones?

A related question is: can we manage this manually (i.e. modify the metadata to keep the URLs we want)? Or do we need the system to do it for us? That significantly increases the complexity of the front-end (it requires memory spanning different versions of the content, and maybe some algorithm to determine which title changes are significant and which aren't).

An alternative proposal: We use only the URL under which it was originally published, in perpetuity. No other URL will resolve to it, ever.

rinkug added a commit that referenced this issue Apr 3, 2021
…ixups

Fixup 'preview' and wikize_refs.py documentation (#702, #704)
@bernhold
Copy link
Member Author

bernhold commented Apr 8, 2021

@rinkug @pagrubel I would like to move this topic forward. I'd like to try to get together at our next operational meeting, if possible. (22 April?)

@bernhold
Copy link
Member Author

bernhold commented Jun 30, 2022

Proposal:

Add metadata field "Redirect-From:" and an argument of either a quoted title or a URL relative to https://bssw.io. The title would be slugified to produce the URL in question. Multiple arguments could be supplied.

We think this will suffice for https://bssw.io/psip style redirects too. There are portions of the site that don't use the metadata block (its existence will cause an error!). Would we ever need to redirect one of these pages?

@bernhold
Copy link
Member Author

#1294 has a specific redirect request from Elsa. This has been implemented as what I'll call an alias (URL not rewritten). We need to consider whether the Fellowship section of the site can be covered by our metadata-based solution. That's the second part of the comment above. I've asked PC to comment on this.

@markcmiller86
Copy link
Member

markcmiller86 commented Sep 11, 2022

Its not too relevant to this issue but I wanted to mention I just recently begun using Jekyll's redirect functionality in another project and found it quite easy to use.

@bernhold
Copy link
Member Author

Yeah, I've used it on occasion too. The proposal I made above is similar in spirit and was inspired by the Jekyll capability.

@rinkug rinkug added the postponed-for-future-phase For item to be dealt with future phase of this project post-ECP Dec 2023 label Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
postponed-for-future-phase For item to be dealt with future phase of this project post-ECP Dec 2023 scope: site-internal type: enhancement
Projects
Status: Backlog
Development

No branches or pull requests

4 participants