redaxo / redaxo

REDAXO, a PHP-based CMS since 2004. Both simple and flexible.
https://redaxo.org
Other
330 stars 116 forks source link

Slices verwaister Ctypes #3264

Open tbaddade opened 4 years ago

tbaddade commented 4 years ago

Description / Beschreibung Was wäre das korrekte Verhalten, wenn man bei einem Artikel der mehrere Ctypes hat, das Template wechselt wo die Anzahl der Ctypes jedoch nicht übereinstimmen (von 2 Ctypes auf 1 Ctype)? Im Frontend kann es durchaus vorkommen, dass dennoch alle Ctypes ausgegeben werden (REX_ARTICLE[]). Im Backend kommt man aber gar nicht mehr heran und die Slices des Ctype bleiben als Leichen in der DB vorhanden. Sollte der Artikel dann einen Ctype "Inhalte fremder Ctypes" erhalten, so dass man zumindest die Slices löschen bzw. in einen anderen Ctype übernehmen kann?

Affected versions / Verwendete Versionen REDAXO: 5.9

alxndr-w commented 4 years ago

Du meinst Inhalte fremder ctypes, oder?

tbaddade commented 4 years ago

Du meinst Inhalte fremder ctypes, oder?

Danke, habs korrigiert

staabm commented 4 years ago

würde aus ausreichen, einfach nur eine warnung auszugeben, dass das neue template eine andere anzahl an ctypes hat, wie das vorherige?

dergel commented 4 years ago

Ich denke ja; mit der Info diese dIrekt löschen zu können vielleicht?

alxndr-w commented 4 years ago

Direkt löschen oder neu zuordnen. Dann blieben sie erhalten und man kann sie mit/ohne Blöcks dann weiterverarbeiten.

tbaddade commented 4 years ago

Mir würde es gefallen, dass rex_article_slice standardmäßig status als Feld hinzubekommt und beim Templatewechsel dann alle Slices zumindest auf status=0 gesetzt werden und nicht mehr ausgeliefert werden. Zusätzlich einen Ctype-Tab einblenden um die Slices manuell löschen zu können oder via Blöck ausschneiden und im anderen Ctype einzufügen.

dergel commented 4 years ago

Oder einfach sowas wie einen sichtbaren ctype tab mit der Info. Nicht zugewiesene slices und dort diese dann pflegen.. ist aber vielleicht auch zu aufwändig

tbaddade commented 4 years ago

Das status Feld ist nun dabei. Damit könnte man bei einem Wechsel diese zumindest schon einmal offline setzen. Den Extra Ctype-Tab fände ich gut.

Oder sollte der Wechsel des Templates unterbunden werden, solange Slices in dann verwaisten Ctypes vorhanden sind?

staabm commented 4 years ago

Das status Feld ist nun dabei. Damit könnte man bei einem Wechsel diese zumindest schon einmal offline setzen

Für den core ist das in meinen augen nicht sinnvoll

Oder sollte der Wechsel des Templates unterbunden werden, solange Slices in dann verwaisten Ctypes vorhanden sind?

Ich vermute dass es viele webseiten gibt die mit dieser restriktion nicht leben können, bzw. Ihren ganzen workflow deshalb ändern müssten.. diese art von regeln sind in meinen Augen das gegenteil von dem was wir als grundidee von redaxo sehen

alxndr-w commented 4 years ago

Ich finde aber auch, dass das "verschwinden" von Slices im Backend, die dann weiter im Frontend ausgegeben werden und/oder in der Datenbank verwaisen kein gutes Standardverhalten sind. Bin da ganz bei @tbaddade

staabm commented 4 years ago

Ich sage nicht dass das Problem nicht vorhanden ist - nur dass ich die vorgeschlagenen Lösungen nicht als „gut“ empfinde.

Hab selbst aber auch noch keine bessere idee

tbaddade commented 4 years ago

Können wir uns hier auf ein Verhalten einigen?

gharlan commented 4 years ago

Mir geht es hier ähnlich wie Markus. Ich erkenne das Problem, die Lösungen sagen mir aber noch nicht recht zu, und eine bessere Idee habe ich aber auch nicht.

Ich weiß, ist nicht hilfreich, aber wollte zumindest mich hier im Issue mal blicken lassen. :D

Status einfach ändern finde ich nicht so gut, da man dann den Orignalstatus nicht mehr sehen kann. Ich glaube, ich fände eher einfach nur eine Fehlermeldung gut, dass man das Template erst wechseln kann, wenn Ctype X geleert ist.