I've searched around and seen some allusions to this issue (but not in this forum) so I wanted to see what the latest opinions are on the problem I'm experiencing (and if I'm missing something, of course).
My time saga continues, although I'm making progress. I have a time field in a MySQL table, which is displayed in the Detail View of a list contained in a UX component of a mobile app. The control is an Html5 time control, I set the "Date/Time" display format of this field in the Fields tab of the list's properties to "0h:0m". All that works fine. The field displays properly (including AM/PM) and also updates the MySQL table properly, as long as no one has touched the record on the server. However, if a change has been made to a record on the server (whether it's the time field or something else), I get a write conflict.
For example, say the MySQL table time fields holds the value "02:00:00" (in a specific record); this field is displayed in the Html5 time control as "2:00 AM". That's fine. Then suppose someone changes a field other than the time field in that record while the user makes a change to that same field on the device (again, NOT the time field). When I Save and then attempt to Synchronize I will naturally get a write conflict but in addition to the field that was changed I get the conflict on the time field. The resolution dropdown tells me that "Mine" is "02:00" while "Theirs" is "02:00:00 am". If I choose "mine" the time field ends up being set correctly, if I choose "theirs" same thing. I'd LIKE to detect whether or not there is a "real" conflict but I can't seem to find how Alpha decides against which format it's going to compare my mobile time field input. Fact is, if you actually tried to update the MySQL time field with "02:00:00 am" you'd get an error, incorrect format. The proper format IS "hh:mm:ss", so I don't know why Alpha insists on using a DISPLAY format.
I've looked in the "On Write Conflict" server side event but it doesn't seem that I have access to the value AGAINST which Alpha is comparing my list control value, I only have access to the list control's "dirty" fields. I've thought of transforming the mobile field value to match the format Alpha is using, I can't find a "code hook" which would allow me to do that and I'm not even sure that's the best way to proceed. Alpha "should" be comparing the value in the time field in the table using the "00:00:00" format (that might present a problem but at least it makes sense), instead it's using a display format.
Of course I could be wrong, or missing something, which seems to be happening more and more lately, but I'd LOVE some feedback on this.
Thanks in advance for any commiseration.
My time saga continues, although I'm making progress. I have a time field in a MySQL table, which is displayed in the Detail View of a list contained in a UX component of a mobile app. The control is an Html5 time control, I set the "Date/Time" display format of this field in the Fields tab of the list's properties to "0h:0m". All that works fine. The field displays properly (including AM/PM) and also updates the MySQL table properly, as long as no one has touched the record on the server. However, if a change has been made to a record on the server (whether it's the time field or something else), I get a write conflict.
For example, say the MySQL table time fields holds the value "02:00:00" (in a specific record); this field is displayed in the Html5 time control as "2:00 AM". That's fine. Then suppose someone changes a field other than the time field in that record while the user makes a change to that same field on the device (again, NOT the time field). When I Save and then attempt to Synchronize I will naturally get a write conflict but in addition to the field that was changed I get the conflict on the time field. The resolution dropdown tells me that "Mine" is "02:00" while "Theirs" is "02:00:00 am". If I choose "mine" the time field ends up being set correctly, if I choose "theirs" same thing. I'd LIKE to detect whether or not there is a "real" conflict but I can't seem to find how Alpha decides against which format it's going to compare my mobile time field input. Fact is, if you actually tried to update the MySQL time field with "02:00:00 am" you'd get an error, incorrect format. The proper format IS "hh:mm:ss", so I don't know why Alpha insists on using a DISPLAY format.
I've looked in the "On Write Conflict" server side event but it doesn't seem that I have access to the value AGAINST which Alpha is comparing my list control value, I only have access to the list control's "dirty" fields. I've thought of transforming the mobile field value to match the format Alpha is using, I can't find a "code hook" which would allow me to do that and I'm not even sure that's the best way to proceed. Alpha "should" be comparing the value in the time field in the table using the "00:00:00" format (that might present a problem but at least it makes sense), instead it's using a display format.
Of course I could be wrong, or missing something, which seems to be happening more and more lately, but I'd LOVE some feedback on this.
Thanks in advance for any commiseration.
Comment