Kimai Forum
Kimai - Time Tracking Community
September 08, 2010, 11:59:42 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Kimai v 0.9.0.1082 final ready for download
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Event bleibt im Zeiterfassungsmodus hängen  (Read 96 times)
Kevin
Administrator
Kimai Guru
*****
Posts: 135



View Profile WWW
« on: July 26, 2010, 08:17:53 PM »

Feedback per Email:

Gelegentlich kommt es vor (ähnlich schon von anderen Usern im forum
beschrieben), dass ein Event im Zeiterfassungsmodus "hängen bleibt" ohne dass
die "Uhr läuft". Das scheint besonders dann der Fall zu sein, wenn die
Verbindung nicht die beste ist.
Dann ist im Anschluss das Event nicht mehr editierbar (weil es ja "zu laufen"
scheint) und bleibt quasi als Geistereintrag in der Tabelle.
Schlimmer noch: in diesem Zustand lässt Kimai
beim Ausloggen die "Uhr" weiterlaufen, d.h. mit jedem Ausloggen besteht die
Gefahr, ungewollt riesige Stundenkontingente auf bestimmten Projekten
anzusammeln.
Die Einträge waren dann nur noch durch direktes Löschen in der Datenbank zu
entfernen, mit den entsprechenden MySQL-Tools.

Logged
ServiusHack
Global Moderator
Kimai Guru
*****
Posts: 609


View Profile
« Reply #1 on: July 26, 2010, 10:48:19 PM »

Da bräuchte ich ne Info, ob das mit der aktuellsten Version auch noch auftritt. In dem Bereich gab es einige Verbesserungen.
Logged
Securio
Kimai Member
*
Posts: 8


View Profile
« Reply #2 on: August 17, 2010, 08:36:34 PM »

Hallo zusammen,
hallo Servius,

sorry, ich hätte natürlich meine Versionsnummer posten sollen: 0.9.0.1082

Noch ein Kommentar zu den verschiedentlich beschriebenen Dateneingabeproblemen:
Ich habe mittlerweile den Eindruck, dass es weniger an Kimai liegt, sondern dass die Latenzzeiten der beteiligten Netzwerkkomponenten eine grosse Rolle spielen:
Wenn man den "OK-Button" "langsam" klickt (mouse-button ca 1sec), dann treten weniger Fehler auf, als wenn man "schnell" klickt oder Enter drückt. (Ich weiss, es liest sich bescheuert, ist aber ein mittlerweile gut abgesicherter Erfahrungswert auf verschiedenen Subnetzen mit sehr unterschiedlichen Leistungen.)
Auch treten zu "rush-hour"-Zeiten im Netz mehr Fehler auf, als wenn man zu später Stunde allein am Rechner sitzt.

Vorschlag: Könnte man eine Abfangroutine einfügen, die sicherstellt, dass die Inhalte der geänderten Datenfelder auch wirklich in der DB landen?
Wenn's das schon gibt, bitte ich mein Unwissen  Undecided zu entschuldigen.

Grüsse
Logged
ServiusHack
Global Moderator
Kimai Guru
*****
Posts: 609


View Profile
« Reply #3 on: August 18, 2010, 12:26:40 PM »

Hi Securio,
Wenn man den "OK-Button" "langsam" klickt (mouse-button ca 1sec), dann treten weniger Fehler auf, als wenn man "schnell" klickt oder Enter drückt. (Ich weiss, es liest sich bescheuert, ist aber ein mittlerweile gut abgesicherter Erfahrungswert auf verschiedenen Subnetzen mit sehr unterschiedlichen Leistungen.)
Ja das liest sich tatsächlich bescheuert. Smiley Erst nach dem Loslassen werden die Events ausgelöst, die irgendwas machen.


Vorschlag: Könnte man eine Abfangroutine einfügen, die sicherstellt, dass die Inhalte der geänderten Datenfelder auch wirklich in der DB landen?
Wenn's das schon gibt, bitte ich mein Unwissen  Undecided zu entschuldigen.
Naja, dazu müsste ich eine Idee haben wo das Problem entsteht. Muss ich aus dem Browser heraus ein zusätzliches Request stellen, welches das nachprüft? Oder mache ich das innerhalb des gleichen Requests? Ersteres geht sehr auf die Performance. Zweiteres bringt vermutlich nichts, da innerhalb eines Requests die Daten auch wirklich in der DB landen. Ich wüsste nicht, wo hier ein Problem auftreten kann, außer dass der Browser das Request vorzeigit abbricht (was er nicht tun sollte) oder dass der Server aus irgend einem Grund das Request abbricht (sollte ebenfalls nicht passieren).

Daher würde ich gern mehr über die Problematik in Erfahrung bringen wollen. Kannst du mir da weiterhelfen?

Ich hätte folgende Fragen:
  • Was genau sind die "Fehler"? Wenn's geht beschreiben, was gemacht wird, was erwartet wird und was wirktlich passiert. Einerseits klingt es nach dem Buzzer (das Ding rechts oben), der nicht geht, andererseits schreibst du über den OK-Button, der in einem Dialog auftaucht.
  • Welchen Server setzt ihr ein?
  • Tauchen irgendwelche hilfreichen Informationen im Error-log des Servers oder in temporary/logfile.txt auf?
  • Sofern das einigermaßen reproduzierbar ist: Kannst du mit Firebug mitloggen lassen, was übers Netzwerk übertragen wird?
  • Da das Problem scheinbar mit der Netzlast zusammenhängt: Bist du sicher, dass weder das Netzwerk selbst Pakete verliert, noch dass der Server überlastet ist? Mit beidem kann Kimai nicht richtig umgehen (wie vermutlich viele andere Webapplikationen auch).

Gruß,
Severin
Logged
Securio
Kimai Member
*
Posts: 8


View Profile
« Reply #4 on: August 18, 2010, 03:09:15 PM »

Hallo Severin,

ich werde mich bemühen, Deine Fragen so genau wie möglich zu beantworten, bin aber nicht sicher, ob meine z.T. laienhaften Antworten dann wirklich nützen:

* Was genau sind die "Fehler"? Wenn's geht beschreiben, was gemacht wird, was erwartet wird und was wirktlich passiert.
OK, fangen wir vorne an: Ich hatte Kevin mal eine Reihe Fragen gemailt, die er freundlicherweise ins Forum gestellt hat:
Unter anderen, http://forum.kimai.org/index.php?topic=761.0
dabei ging es um Events, die im Erfassungsmodus hängen bleiben.

Nachdem ich dann etwas durch die Forumsbeiträge gescreent habe, habe ich gesehen, dass andere User ganz ähnliche Fehler beschreiben wie der Fehlerzoo, den ich gesehen habe. Dazu gehören:
  • zurückliegende Daten (also von Hand eingegebene) machen mehr Probleme als die online Erfassung
  • ein von Hand eingesetztes Datum springt gelegentlich auf den 1.1.1970 zurück
  • ein von Hand eingesetztes Datum wird gelegentlich durch das aktuelle Datum ersetzt
  • "hängender Erfassungsmodus" mit scheinbar weiterlaufender Erfassungsuhr
  • von Hand eingesetzte Uhrzeiten werden durch eine "unsinnige" Zeit ersetzt
Dabei ging es bei mir meist um die Erfassung und Bearbeitung (editing) zurückliegender Projektereignisse

* Einerseits klingt es nach dem Buzzer (das Ding rechts oben), der nicht geht, andererseits schreibst du über den
   OK-Button, der in einem Dialog auftaucht.
Der Buzzer funktioniert in meiner Erfahrung. Nun kommts:
Meine Beobachtung beschränkt sich darauf, dass wenn man bei Abschluss der Eventbearbeitung den OK-Button mit der Maus so lange gedrückt hält, bis das gestrichelte Rechteck um das "OK" sichtbar ist, dann ist die Häufigkeit der aufgelisteten Fehler praktisch Null!

    * Welchen Server setzt ihr ein?
Ein dedicated virtual Linux-server bei Dynamicnet in der Schweiz (meist performant)
Distri und Version muss ich erst checken, sorry.

    * Tauchen irgendwelche hilfreichen Informationen im Error-log des Servers oder in temporary/logfile.txt auf?
Kann ich veranlassen, checken zu lassen - wird aber ein Weilchen brauchen, denn bin selbstständig und fast chronisch ausgelastet.... bitte um Verständnis.

    * Sofern das einigermaßen reproduzierbar ist: Kannst du mit Firebug mitloggen lassen, was übers Netzwerk übertragen wird?
Wie gesagt, auf der eigenen Maschine kann ich das veranlassen, kann aber dauern.
Beim Kunden eher schwierig, da ich die dortige EDV von der Notwendigkeit erst überzeugen muss.

    * Da das Problem scheinbar mit der Netzlast zusammenhängt: Bist du sicher, dass weder das Netzwerk selbst Pakete verliert, noch dass der Server überlastet ist?
Da bin ich keineswegs sicher, vor allem, da die Fehlerhäufigkeit in "Vielnutzerzeiten" zunimmt.
Andererseits: ich benutze Kimai nur selten auf dem eigenen Rechner, aber sehr häufig bei Kunden (in D und CH) - und die haben meist grosse, schnelle Netze mit "dickem" DSL als kleinstes, oder gar dedicated glasfiber.

So, ich hoffe die Prosa ist zu irgendwas nütze....

Noch zu Deinem Vorschlag:
*Muss ich aus dem Browser heraus ein zusätzliches Request stellen, welches das nachprüft?
> Mir scheint das sehr sinnvoll, doch ich verstehe das Argument mit dem negativen Einfluss auf die Performance.
Wie wärs daher, dass entweder nur zu Testzwecken einzusetzen , oder - wenn da wirklich ein bug begraben ist - den Request als "zuschaltbare Option für schlechte Verbindungen" einzubauen?
(Hatte grade so einen Fall bei einer namhaften Dok-Verwaltungssoftware: Da hat das Programm den eigenen prune/graft Prozess nicht abgefragt, so dass Dokumente nur den Pfad ihres Erstellungsverzeichnisses über Feldfunktion mitführten - auch nach einer erlaubten Verschiebung....)


Grüsse
Thomas
Logged
ServiusHack
Global Moderator
Kimai Guru
*****
Posts: 609


View Profile
« Reply #5 on: August 18, 2010, 09:55:30 PM »


  • zurückliegende Daten (also von Hand eingegebene) machen mehr Probleme als die online Erfassung
  • ein von Hand eingesetztes Datum springt gelegentlich auf den 1.1.1970 zurück
  • ein von Hand eingesetztes Datum wird gelegentlich durch das aktuelle Datum ersetzt
  • von Hand eingesetzte Uhrzeiten werden durch eine "unsinnige" Zeit ersetzt
Schreib hier bitte ganz konkrete Beispiele. Also genau das, was du in die Felder eingibst. So wie ich dich verstanden hab kommt das Problem öfters vor. Wenn es jetzt einige Tage braucht, bis du solche Beispiele zusammenhast ist das völlig in Ordnung.



  • "hängender Erfassungsmodus" mit scheinbar weiterlaufender Erfassungsuhr
Wenn so ein Eintrag existiert und du die Seite mit F5 neu lädst:
Läuft dann im rechten oberen Eck die Zeit mit bzw. ist der Buzzer im rechten oberen Eck rot?
Ist in der Zeile des Eintrags vorne ein roter Stop-Button?
Entstehen solche Einträge, wenn sie mit dem Hinzufügen-Dialog erfasst wurden?
Entstehen solche Einträge, wenn sie editiert wurden?
Sorry wenn ich hier so kleinlich nachfrage, aber wenn das der Fall ist muss ich mir 100% sicher sein, dass es so ist.



    * Tauchen irgendwelche hilfreichen Informationen im Error-log des Servers oder in temporary/logfile.txt auf?
Kann ich veranlassen, checken zu lassen - wird aber ein Weilchen brauchen, denn bin selbstständig und fast chronisch ausgelastet.... bitte um Verständnis.
Kein Problem, wenn das etwas dauert. Solange wir damit dem Fehler auf die schliche kommen.


    * Sofern das einigermaßen reproduzierbar ist: Kannst du mit Firebug mitloggen lassen, was übers Netzwerk übertragen wird?
Wie gesagt, auf der eigenen Maschine kann ich das veranlassen, kann aber dauern.
Beim Kunden eher schwierig, da ich die dortige EDV von der Notwendigkeit erst überzeugen muss.
Ich glaube du hast mich da etwas missverstanden. Firebug ist ein Plugin für den Firefox. Wenn du Firefox nutzt kannst du es einfach in deinem Browser aktivieren und es zeichnet auf, welche Anfragen der Browser übers Netzwerk stellt. Oder hast du Kunden, welche ebenfalls Kimai nutzen, und bei denen treten diese Probleme auch auf?
Nutzt du Firefox oder einen andern Browser?


Noch zu Deinem Vorschlag:
*Muss ich aus dem Browser heraus ein zusätzliches Request stellen, welches das nachprüft?
> Mir scheint das sehr sinnvoll, doch ich verstehe das Argument mit dem negativen Einfluss auf die Performance.
Wie wärs daher, dass entweder nur zu Testzwecken einzusetzen , oder - wenn da wirklich ein bug begraben ist - den Request als "zuschaltbare Option für schlechte Verbindungen" einzubauen?
(Hatte grade so einen Fall bei einer namhaften Dok-Verwaltungssoftware: Da hat das Programm den eigenen prune/graft Prozess nicht abgefragt, so dass Dokumente nur den Pfad ihres Erstellungsverzeichnisses über Feldfunktion mitführten - auch nach einer erlaubten Verschiebung....)
Als zuschaltbare Option ist das eine Idee. Bzw. wenn es wirklich am Netzwerk liegt könnte ich schauen, wie man Kimai da stabiler machen kann.

Noch halte ich die Wahrscheinlichkeit für einen Fehler in der Übertragung aber für eher gering. Immerhin sorgen normalerweiße die Übertragungsmethoden dafür, dass Daten so ankommen, wie sie abgeschickt wurden. Ich vermute es handelt sich hier um einen oder mehrere kleinere Bugs im Bezug auf das Parsen der Benutzereingaben.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF | Simple Machines LLC