XF2.2 Zuletzt besucht / Zuletzt aktiv

Dieses Thema im Forum "Diskussionen rund um XenForo" wurde erstellt von sps-forum, 18. Juni 2021.

  1. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    Hallo,

    Wenn ich im Admin-CP nach Usern suche, oder eine Batchverarbeitung mache, dann gibt es das Kriterium "Zuletzt besucht".

    Wenn ich in ein Userprofil schaue, dann gibt es da "Zuletzt aktiv"


    Kann es sein, dass das zwei verschiedene Zeit Stempel sind?
    Weiß jemand wie genau die definiert sind?

    jaaaaaaaaaaaa.... ich weiß..... du sollst das admin-cp in englisch lassen.... blablabla.... :D

    Ich habe User die kürzlich online waren, aber zumindest in ihrem Userprofil stehen noch sehr alte Zeitstempel von vor vielen Jahren. Damals haben sie vielleicht mal was geschrieben und seit dem lesen sie nur noch mit...

    Ich habe aber das Gefühl, das bei der Suche das Kriterium "Zuletzt besucht" falsch übersetzt ist und auch "Zuletzt aktiv" bedeutet. Kann das sein?

    Hochachtungsvoll und mit tiefstem Dank verbunden!
    Markus
     
  2. McAtze

    McAtze Innendienst Lizenzinhaber

    Genau deshalb solltest du das ACP in Englisch lassen. Dies sollten, mWn, dieselben Zeitstempel sein.
     
    sps-forum und Tealk gefällt das.
  3. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    OK, also ist die Übersetzung etwas ungünstig.

    Aber was ist die Definition davon?
    Ich habe wie gesagt das Gefühl ist bedeutet "zuletzt aktiv = irgendwas gepostet"

    Es scheint nicht der Zeitpunkt des letzten Besuchs zu sein, oder?
    Der wäre für mich bei Suche/Batch aber interessant.

    @Kirby
    Du hast ja diese geniale Erweiterung für die Suche gebaut, vielleicht steckst du da tiefer drin.

    Danke!
     
  4. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    Ich stecke da nicht tiefer drin, aber ich habe mir den Code angesehen:
    Es gibt im Benutzerprofil nur einen Zeitstempel (xf_user.last_activity), dieser wird vom User Searcher abgefragt.

    Dieses Datenbankfeld wird aber nicht in Echtzeit aktualisiert, sondern per Cron-Job 1x/h aus der Sessionaktivität.
    Daher steht bei dem Feld in der Suche/Massenbearbeitung auch explizit dabei dass Daten der letzten Stunde ggf. nicht berücksichtigt werden :)
     
    otto und sps-forum gefällt das.
  5. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    OK danke dir!
    Und was bedeutet "last_activity"?

    War eingeloggt oder musste er auch was posten?

    Hintergrund meiner Frage:
    Wie im anderen Beitrag geschrieben habe ich meine Datenbank etwas aufgeräumt.
    Ich dachte es bezieht sich auf das Login Datum - so war es bei VB.
    Ich habe vermutlich ein paar User gelöscht die schon ewig nicht mehr gepostet haben, aber immer wieder zum lesen kommen...

    Das ist jetzt nicht weiter dramatisch, bisher hat sich nur einer beschwert, aber ich würde das gerne aufklären...

    Danke!
     
  6. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    Genau das was der Name vermuten lässt:
    Das ist der Zeitstempel der letzten Aktivität.
    Einen Zeitstempel für den letzten Beitrag gibt es in Standard XF nicht.

    s.o.

    vBulletin 3/4 hatte zwei Zeitstempel: lastvisit und lastactivity.

    Lastvisit war die letzte Aktivität der letzten Session vor der neuesten Session, lastactivity die letzte Aktivität der neuesten Session.
     
    sps-forum gefällt das.
  7. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    Entschuldige - vielleicht bin ich ja etwas schwer von Begriff weil es schon spät ist...

    Bedeutet es jetzt:

    1. Der User war eingeloggt
    2. Der User hat etwas getan (gepostet, Einstellungen verändert, PN,...)
     
  8. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    Ich weiß jetzt echt nicht wie ich Aktivität noch anders beschreiben sollte als dass der User halt ... aktiv war?

    Daher beantworte ich einfach mal deine beiden Punkte mit Ja.

    Ja der User war eingeloggt (logisch, sonst wäre er ja ein Gast) und ja, "der User" (genau genommen der Browser, muss nicht zwingend der User selbst gewesen sein) hat etwas getan (hätte er nichts getan gäbe es ja keine Aktivität).
     
    Hoffi und sps-forum gefällt das.
  9. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    Also sobald ein User online geht und einen Beitrag ließt, wird der Zeitstempel - eine Stunde verzögert durch den Cronjob - auf die aktuelle Uhrzeit gesetzt?


    Ich denke man kann "Aktivität" schon auf verschiedene Arten deklarieren.
    Es könnte ja auch so definiert sein, dass ein User der nur eingeloggt/online ist, aber nichts postet, editiert, ... eben NICHT als "aktiv" angesehen wird.

    Für mich ist das noch nicht eindeutig, aber ich werde mir das in dem Fall nochmal in Ruhe ansehen.
     
  10. mph

    mph Bekanntes Mitglied Lizenzinhaber

    Ich denke, da ist bestimmt noch ein Fehler in der Übersetzung. Das schaue ich mir bei Gelegenheit mal an.
     
    otto, Hoffi und sps-forum gefällt das.
  11. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    Nein. Wenn der User (bzw. Browser) aktiv ist, dann wird der Zeitstempel der Aktivität in der Tabelle xf_session_activity erfasst. Die dort gespeicherten Zeitstempel werden per Default 1x/h (um 10 nach) in das Feld xf_user.last_activity übertragen.
    Das Feld wird also nicht auf die aktuelle Uhrzeit (der Ausführung des Job) gesetzt und das erfolgt auch nicht zwangsläufig exakt 1h nach der Aktivität (sondern halt je nachdem wann die letzte Aktivität war ca. zwischen 1 Sekunde und 1h danach).

    Bezogen auf eingeloggt ist das auch so dass das alleine keine Aktivität ist. Wenn es das wäre, dann wäre ja jeder der dauerhaft angemeldet ist zu jedem Zeitpunkt "aktiv", völlig unabhängig davon ob es tatsächlich eine Aktivität gab oder nicht - das ergäbe keinen Sinn.

    Eine Aktivität (im Kontext letzte Aktivität eines Users) ist eine vom XenForo PHP Code verarbeitete HTTP Anfrage die als Session Aktivität protokolliert wird.

    Beispiele für Aktivität
    Aufruf eines Thread
    Aufruf der Forenübersicht
    Aufruf eines Profils
    Aufruf einer Hilfeseite
    Aufruf des erweiterte Suche Formular
    Anzeige von Suchergebnissen
    Absenden eines Beitrags
    Vergabe einer Reaktion
    usw.
    (Im Grunde halt alles was User eben so macht wenn er auf der Seite "aktiv" ist bzw. rumklickt/interagiert)

    Beispiele für keine Aktivität
    Abruf einer Avatar-Grafik
    Abruf einer Schriftart
    Abruf einer JavaScript-Datei
    Abruf von CSS
     
    Zuletzt bearbeitet: 19. Juni 2021
    McAtze und sps-forum gefällt das.
  12. Silmarillion

    Silmarillion Bekanntes Mitglied Lizenzinhaber

    Habe ich was verpasst? :eek::oops:
     
  13. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    DANKE!
    Jetzt habe ich es verstanden.
    Sorry aber ich komme aus einer anderen Welt und brauche immer etwas bis ich eure Sprache verstehe.... :D



    Ich will keine Erbsen zählen, aber vielleicht kann mit das hier noch jemand erklären:

    Die Tagesstatistik sagt am 17.6. 535 User aktiv
    Usersuche nach "zuletzt besucht" 691

    Am 18.06
    Tagesstatistik: 494
    Usersuche: 514

    User_aktiv.png


    besucher_tag.png

    user_691.png


    Danke!
     
  14. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

  15. Kirby

    Kirby Bekanntes Mitglied Lizenzinhaber

    Ich sage es mal so:
    Das ist wie mit den täglichen Coronazahlen von n-tv und RKI - die weichen auch immer voneinander ab, "richtig" sind aber beide.
    Bei den Coronazahlen ergeben sich die Diskrepanzen aus den unterschiedlichen Erfassungszeiträumen und Meldewegen.

    Bei XenForo ergibt es sich aus verschiedenen Faktoren.

    Der Zeitstempel in xf_user.last_activity wird, wie Du ja bereits weißt, nicht in Echtzeit aktualisiert sondern nur 1x/h (um 10 nach), im Worst-Case ist der also bis zu 1h zu alt.

    Dazu kommt dann:
    • Der Cronjob für die Erfassung der täglichen Statistik läuft um 00:30 UTC (02:30 CEST) und erfasst User deren xf_uer.last_activity zu diesem Zeitpunkt zwischen 0h UTC des dann vorhergehenden Tages und 0h UTC des aktuellen Tages liegt
      Da das letzte Update um 00:10 UTC gelaufen sein sollte, sollten alle User einen ausreichend aktuellen Timestamp aus xf_session_activity haben
    • Der User Searcher nimmt als Uhrzeit für das Startdatum 0h und als Uhrzeit für das Enddatum 23:59:59 der gewählten Zeitzone des Betrachters
      Wenn Du da also 2021-06-17 bis 21-06-18 eingibst und als Zeitzone CEST hat dann kriegst Du die Timestamps für 17.06.2021 0h CEST bis 18.06.2021 23:25:59 CEST.
      Dieser Zeitraum weicht erheblich vom Zeitraum der Tagesstatistk für den 17.06.2021 (17.06.2021 0h UTC bis excl. 18.06.2021 0h UTC) ab
    • Die User sind ja auch weiterhin im Forum aktiv.
      Je später nach 0:30 UTC (insbesondere ab 01:10 UTC, denn dann läuft das Update Session Activity -> User das erste mal für eine volle Stunde) Du also suchst, desto weniger User wirst Du finden.

    Zusammengefasst also:
    • Die Tagesstatistik liefert dir eine Info wieviele User (bezogen auf UTC) an einem bestimmten Tag aktiv waren
      Es liefert dir keine Aussage darüber weiviele User an diesem Tag zuletzt aktiv waren (es sei denn Du betrachtest den Wert direkt nach der Erstellung, und auch dann ist das auf Grund der Erstellung erst um 00:30 UTC nicht 100%ig exakt)
    • Die Suche liefert die eine Info wieviele User in einem bestimmten Zeitraum zuletzt aktiv waren
      Sie liefert dir keine Info darüber wieviele User insgesamt an einem Tag aktiv waren
     
    Hoffi, thomas1, McAtze und 2 anderen gefällt das.
  16. sps-forum

    sps-forum Bekanntes Mitglied Lizenzinhaber

    OK, ich habe jetzt wieder eingeatmet.
    Morgen lese ich es mir nochmal durch und dann nochmal und dann werde ich es verstehen...

    Vielen Dank für die Zeit die du dir für diese Ausführliche Beantwortung genommen hast.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden