Beiträge von yzemaze

    Jup, so meinte ich das – fast jedenfalls ;)

    Ich dachte an ein Font Awesome Icon (insbesondere mobil). Vielleicht das gewohnte durchgestrichene Auge aus der Forenübersicht (fa-eye-slash"\f070"), ein Kreuz (fa-times"\f00d") oder Power-off (fa-power-off"\f011"). Mit Mouseover sollte das eigentlich auch ok sein. Aber das ließe sich im Zweifelsfall ja auch per CSS „fixen“ ;)

    „neuer“ Fehler: ignorierte Themen werden offenbar nicht automatisch als gelesen markiert.

    Das hatten wir immer mal wieder bei uns, allerdings hat sich das nach einer Weile gegeben. Ist auch kein Drama, weil’s spätestens nach „alle als gelesen markieren“ weg ist und ich dafür extra einen Button bei uns ins Dashboard gepackt habe, aber bei anderen mag das deutlich störender sein …

    Themen ignorieren 2.1.1

    Die Liste der ignorierten Themen /acp/index.php?thread-ignore-list/ enthält jedes Thema so oft wie Nutzer es ignorieren:

    (Die ersten 3 von 100 Einträgen.)


    Ich bin wahrlich kein SQL-Held, aber folgende query funktionierte bei uns wie gewünscht:

    SQL
    SELECT t.topic as Thema, COUNT(i.threadID) as Anzahl, i.threadID
    FROM wbb1_thread t
    INNER JOIN wbb1_thread_ignore i
    ON t.threadID = i.threadID
    GROUP BY i.threadID, Thema
    ORDER BY Anzahl DESC
    LIMIT 200

    Themen Ignorieren 2.1.1

    wbbN_thread_ignore enthält ca. 38k Einträge

    wcfN_tracked_visit ca. 450k


    Beim Absenden, Bearbeiten, Löschen, Wiederherstellen etc. von Beiträgen und beim Speichern von Zitaten stellten wir deutliche Verzögerungen fest. (Das dürfte wohl für weitere PostActions ebenso sein.) Leider können wir nicht mehr nachvollziehen, seit wann das Problem existiert.

    Dank Alexander Eberts Hinweis konnte ich immerhin als eine Ursache folgende query ausmachen:

    Code
    REPLACE INTO wcf1_tracked_visit (objectTypeID, objectID, userID, visitTime) (SELECT ?, threadID, userID, ? FROM wbb1_thread_ignore)

    4 s ist eher extrem, bei den meisten Aktionen bewegte es sich im Bereich knapp über 2 s.



    Beim einfachen gelesen markieren per Doppelklick im Dashboard/Forum taucht das Problem nicht auf:


    Beim Löschen und Wiederherstellen von Beiträgen gibt es eine weitere query, die für eine Verzögerung von einigen Sekunden sorgt. Einen Zusammenhang zu threadIgnore sehe ich allerdings nicht:

    SQL
    UPDATE wbb1_thread thread SET firstPostID = COALESCE(( SELECT postID FROM wbb1_post WHERE threadID = thread.threadID AND isDisabled = thread.isDisabled AND isDeleted = thread.isDeleted ORDER BY time ASC, postID ASC LIMIT 1 ), firstPostID), replies = IF(thread.isDeleted = 0 AND thread.isDisabled = 0, ( SELECT COUNT(*) FROM wbb1_post WHERE threadID = thread.threadID AND isDisabled = 0 AND isDeleted = 0 ) - 1, 0), lastPostID = COALESCE(( SELECT postID FROM wbb1_post WHERE threadID = thread.threadID AND isDisabled = thread.isDisabled AND isDeleted = thread.isDeleted ORDER BY time DESC, postID DESC LIMIT 1 ), lastPostID) WHERE threadID IN (?)

    (vgl. Beitrag bei WoltLab)

    Es geht aber nicht um Forenbereiche, sondern um Themen in diesen.

    Auch wenn es in den meisten Nutzungsfällen keine Rolle spielen dürfte, so gibt es – wie oben bereits erwähnt – durchaus welche, in denen es sinnvoll wäre, wenn man zwar einen Forenbereich nicht ignorieren könnte die darin befindlichen Themen (nach dem ersten Aufruf) allerdings schon.


    Ein Workaround wäre i. ü. ein Unterforum in einem nicht ignorierbaren Bereich zu erstellen, welches ignoriert werden kann. Dann klappt selbiges auch mit den Themen (dieses Unterforums).

    Die Berechtigung „kann Themen ignorieren“ hat in nicht ignorierbaren Foren offenbar keinen Effekt. Das mag für die meisten Szenarien sinnvoll sein, sollte aber nicht zwangsläufig so sein.

    Es mag für manche abstrus klingen, aber mir reicht es aus, wenn Nutzer die Existenz eines entsprechenden Themas einmal zur Kenntnis nehmen (müssen). Danach können sie es ruhig ignorieren.