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

Addonupdate: Bei URL-Änderungen automatisch Redirects anlegen #399

Open
gharlan opened this issue Feb 10, 2021 · 3 comments
Open

Addonupdate: Bei URL-Änderungen automatisch Redirects anlegen #399

gharlan opened this issue Feb 10, 2021 · 3 comments

Comments

@gharlan
Copy link
Member

gharlan commented Feb 10, 2021

Größere Änderungen am URL-Schema sollten aus meiner Sicht nur in Major-Updates vorgenommen werden.
Aber auch in Minor-Updates kann es ab und zu kleine Änderungen geben, gerade bei Bugfixes bzgl. Zeichenersetzungen etc. Oder einfach weil man bestimmte Zeichen bisher noch nicht bedacht hat, etc.

Es wäre schön, wenn yrewrite beim Update die alte Pathlist zwischenspeichern würde, dann die neue generieren, und dann vergleichen würde. Und alle URLs die sich unterscheiden, sollten dann automatisch als 301-Weiterleitung angelegt werden.
Wie gut/einfach das machbar ist, weiß ich noch nicht. Aber wollte die Idee zumindest mal festhalten.

Größere Änderungen in Major-Updates sind zwar erlaubt ohne BC-Beachtung, aber auch da würde dieses Feature das Upgrade erleichtern.

Und wenn wir dieses Feature schon hätten, sollte es auch greifen, wenn man zu dem neuen Unicode-Modus wechselt.

@alxndr-w
Copy link
Contributor

Man könnte den alten Modus ein paar Minor-Versionen weiter betreiben und somit verfügbar halten, aber auf die neue URL redirecten. So müsste man nichts Zwischenspeichern.

Ein Problem könnte sein, dass externe Abhängigkeiten zu einer URL bestehen, die sich dann ändert. Ob diese mit einer Weiterleitung klar kommen, ist nicht absehbar.

Vielleicht wäre es auch möglich, einen Prüfbericht im Backend auszugeben - vorher nachher - und dann die Umstellung vom Entwickler bestätigen zu lassen.

@gharlan
Copy link
Member Author

gharlan commented Feb 10, 2021

Man könnte den alten Modus ein paar Minor-Versionen weiter betreiben und somit verfügbar halten, aber auf die neue URL redirecten. So müsste man nichts Zwischenspeichern.

Dann müsste man ja aber auch immer beide Pathlists generieren (wenn ich es richtig verstehe). Denke, da ist es einfacher, die Redirects einmalig in die Weiterleitungstabelle einzutragen.
Wenn wir in der nächsten Version die Behandlung irgendeines speziellen Sonderzeichens korrigieren/optimieren, und in der übernächsten Version eines weiteren Zeichens, dann möchte ich eigentlich auch nicht die drei Varianten vorhalten.
Was anderes ist es bei grundsätzlichen Schemaänderungen. Den neuen Unicode-Modus haben wir ja bewusst parallel erstellt.

Ein Problem könnte sein, dass externe Abhängigkeiten zu einer URL bestehen, die sich dann ändert. Ob diese mit einer Weiterleitung klar kommen, ist nicht absehbar.

Das stimmt schon, ganz unproblematisch ist es nicht. Daher sollten Schemaänderungen eigentlich auch eher in Major-Versionen (wenn nicht optional). Aber würde es nicht ganz streng sehen, sondern von Fall zu Fall abwägen.
Und mit dieser Auto-Weiterleitung wäre es zumindest besser, als ganz ohne.

Vielleicht wäre es auch möglich, einen Prüfbericht im Backend auszugeben - vorher nachher - und dann die Umstellung vom Entwickler bestätigen zu lassen.

Während des Updates schwierig abbildbar, denke ich.
Aber bei umschaltbaren Modi könnte man das eventuell machen, eine Art Voransicht der veränderten URLs.

@alxndr-w
Copy link
Contributor

Beim Update könnte man das so machen, dass das alte Schema so bleibt, bis man das Neue bestätigt hat, oder nach Ablauf eines Zeitstempels sich aktiviert. In der Zeit hat der Entwickler die Möglichkeit, noch einzuwirke.

Zwar will man in geschätzt allen Fällen die Korrektur (oder es ändert sich praktisch nichts), aber einen Überblick zu bekommen, was sich ändert - oder geändert hat - wäre schon gut.

Will's auch nicht zu kompliziert machen, sondern nur Lösungsansätze liefern, mit der man Probleme eingrenzt oder vermeiden kann.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants