XF2.2 Zuletzt besucht / Zuletzt aktiv

sps-forum

Bekanntes Mitglied
Lizenzinhaber
Registriert
8. Sep. 2014
Beiträge
154
Punkte
68
XF Version
  1. 2.2.4
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
 
Genau deshalb solltest du das ACP in Englisch lassen. Dies sollten, mWn, dieselben Zeitstempel sein.

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!
 
@Kirby
Du hast ja diese geniale Erweiterung für die Suche gebaut, vielleicht steckst du da tiefer drin.
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 :)
 
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!
 
Und was bedeutet "last_activity"?
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.

War eingeloggt oder musste er auch was posten?
s.o.

Ich dachte es bezieht sich auf das Login Datum - so war es bei VB.
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.
 
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,...)
 
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).
 
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.
 
Kann es sein, dass das zwei verschiedene Zeit Stempel sind?
Weiß jemand wie genau die definiert sind?
Ich denke, da ist bestimmt noch ein Fehler in der Übersetzung. Das schaue ich mir bei Gelegenheit mal an.
 
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?
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).

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.
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:
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!
 
DANKE!
Ich will keine Erbsen zählen, aber vielleicht kann mit das hier noch jemand erklären:
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
 
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.
 
So Freunde,

ich muss das wieder ausgraben.
Inzwischen kann ich mit 100% Sicherheit sagen, dass zumindest das ändern der Profileinstellungen (Empfang von Mails deaktivieren) nicht als Aktivität gewertet wird.

Wenn ich mir das Protokoll der Änderungen bei den Benutzern ansehe, dann sehe ich immer wieder User die die Mailbenachrichtigung deaktivieren.

Schaue ich die Userprofile dann an, dann steht da teilweise letzte Aktivität 2009 oder so...
Diese User haben aber keine Nutzungsbedingungen bestätigt.

Wenn alte User wieder ins Forum kommen und im Protokoll auftauchen weil sie den Nutzungsbedingungen zugestimmt haben, dann bekommen sie den aktuellen Zeitstempel bei "aktiv" eingetragen.
 
Zurück
Oben