Skip to content

Make migration guides available with a http://quarkus.io url #2105

Open
@holly-cummins

Description

@holly-cummins

See original 2023 discussion and proposal here: https://groups.google.com/g/quarkus-dev/c/MijWx9HyaWo

At the moment, we put migration guides (which are user-facing content) in with the content on https://github.com/quarkusio/quarkus/wiki, which is otherwise contributor-facing content. This is a bit untidy in terms of information-organisation.

Proposal

User experience

  • People visiting quarkus.io can see migration information
  • URLs similar to /guides/ so /migration-guides/3.14/ for instance
  • Open question: Do we also want to preserve the older github links for migration information? Not doing so is a bit easier, but breaking published links is undesirable.

Contributor experience

  • No worse than the current developer experience; life is hard, let's not make it harder :)
  • Ability to publish information independent of release cycles; we need to be able to make content available without having to spin a whole release
  • Ability for people to propose changes via PRs (new goal - with the current wiki, elevated privileges are need to make PRs)
  • Do we care about markdown vs adoc? At the moment old content is .md, new is .asciidoc, it would be nice to continue supporting both
  • Ability to edit in a web editor from the page itself, as well an IDE
  • Simple structure, just one .adoc document per version
  • No need to add new pages to an index (new goal, at the moment we have a hand edited index page )
  • Simple/no templates for new pages
  • Optional: no need to make new pages at all, release automation makes skeletons :) (new goal)
  • Optional: Automatically include a link to the announcement on the migration page
  • Optional: Automatically do other cool cross-linking stuff, leveraging the versions Jekyll collection

Implementation plan

No matter which option we go for:

"Keep stuff the same" option

  • Keep the wiki as the source of truth.
  • Use newrelic/wiki-sync-action to sync content into the website at build time.
  • Do some simple automation/scaffolding pages to make sure Jekyll can build the the wiki (http://hub.quarkiverse.io is built from wiki pages)

This has the advantage that it doesn't worsen the devex, but the disadvantage that it doesn't open up the wiki to PRs from non-committers. The 'edit this link' page on the main quarkus.io site might be a bit non-ideal, because it would have to take potential editors to the wiki source, but the link would only be a valid link for some people; for others it would always give an error, I think?

"Source in quarkus/quarkusio.github.io + sync" option

"Burn it all down" option

Same as "source in quarkus/quarkusio.github.io + sync" option, but no sync. This has the disadvantage that we break anyone which has linked to the old pages. This isn't as totally reckless as it sounds, because we're the owner of the pages that link to the wiki, we can just update the backlinks.

If we do this, we should leave the old content up for a couple of weeks after standing up the new content and rewriting links, to allow Google indexes to refresh.

It has a few advantages

  • No fussing with sync
  • No dependency on an external action, since we're trying to reduce the number of those we have (although newrelic should be a trustworthy source)
  • It gives us more flexibility because we can hand-edit the markdown/asciidoc files in ways that would break compatibility with the wiki [although Host migration pages on main website instead of/as well as wiki #2108 demonstrated no incompatible edits will be needed]
  • Removing the sync also removes some "where am I supposed to edit these files, there are two copies?" confusion and potential for lost work (doing a two-way sync would also somewhat remove the 'lost work' risk)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions