Controller-Priorisierung bei Endanwendungen

  • Affected App
    WoltLab Suite Core

    Hi,

    es scheint, als gäbe es ein Problem bei der Priorisierung von Controllern, wenn diese im WCF existieren und zeitgleich in einer EA. Problem:

    Nutzungsbestimmungen

    Diese WCF-Erweiterung stellt eine TermsOfUsePage zur Verfügung.

    Nun gibt es mittlerweile min. 5 Endanwendungen, die jeweils eine TermsOfUseForm bereitstellen. Das Ergebnis: Wir haben 6 Controller, die allesamt TermsOfUse heißen. Bei den EAs kann das noch unterschieden werden, beim WCF gibt es aber ein Problem: Der TermsOfUse-Controller meiner Erweiterung wird denen der Endanwendungen vorgezogen.

    So eitel, wie wir Entwickler sind, will natürlich nun niemand seinen Controller umbenennen. Daher muss das WCF das Problem von sich aus lösen.

  • Also wieder etwas was nur halb von euch umgesetzt wurde? warum dann überhaupt gleiche Controller erlauben? so ist die Funktion einfach nur überflüssig...

    Ihr könnt doch vorher prüfen ob der Controller von der Application kommt wenn ja soll der bevorzugt werden.

  • Die Reihenfolge in der Controller gesucht werden lautet:

    • Page
    • Form
    • Action

    Dem entsprechend hat dein Controller Vorrang vor den Formularen.

    Das Problem ist doch nicht, dass es sich bei meinem Controller um eine Page handelt. Denn das Problem besteht ja auch, wenn es ein Form wäre...

    Das Problem hier ist, dass Controller des WCF bevorzugt werden, was natürlich zu Problemen führt, wenn eine EA einen gleichnamigen Controller liefert. Die Lösung des Problems also wäre, wie @web-produktion bereits schrieb, dass die Controller einer EA höher priorisiert werden, als die des WCF.

    Gut, wenn es sich bei beiden Controllern um Controller des WCF oder derselben EA handelt, ist das was du sagst natürlich richtig. Ist auch logisch. Aber darum geht's hier ja nicht :)

  • Das Problem hier ist, dass Controller des WCF bevorzugt werden, was natürlich zu Problemen führt, wenn eine EA einen gleichnamigen Controller liefert.


    https://github.com/WoltLab/WCF/bl…s.php#L220-L223

    Ein WCF-Controller wird eben nicht bevorzugt, in deinem Falle kommt die Überprüfung nur nicht bis zu den Form-Klassen.

  • Selbst wenn es eine Änderung gäbe, würde das nicht euer Grundproblem lösen: Wenn die Hauptanwendung einen gleichnamigen Controller mitgliedert, würde dein Controller nicht mehr aufrufbar sein, sondern immer der der Endanwendung. Als Ergebnis würde dein Plugin den Benutzer immer wieder zwingen, Nutzungsbedingungen zu bestätigen, die er aber nie zu Gesicht bekommt => Er wird immer wieder dazu aufgefordert, die Nutzungsbedingungen der Anwendungen zu bestätigen.

    Einer der beiden Parteien sollte seinen Controller umbenennen und gut ist ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!