No, MHEG never say that InteractionStatus is set to FALSE as a result of
MaxLength being reached. You have to explicitely set it to FALSE in a link
using EntryFieldFull event if you want this behavior (which is the case
most of the time). InteractionCompleted Event has nothing to do with
MaxLength but should be generated when the user terminates the entry by
himself (MHEG-5 does not specify how).
Moreover, MHEG-5 states that the EntryFieldFull event is generated when the
number of characters in the EntryField "reaches MaxLength". This likely
means that it is generated only once, when the number of chars was not
MaxLength and becomes MaxLength. I alerted on this problem long ago and
suggested that the EntryFieldFull event shall be sent everytime the number
of characters is changed and the new number of chars is greater than or
equal to MaxLength.
This was not accepted or reported in the corrigendum. Feel free to add your
vote to this thread if you are concerned.
>2) The entry is complete before user can enter a character.
No, neither. Because of what is explained above.
In this case, the correct behavior would rather be :
The InteractionStatus is kept as TRUE. The EntryFieldFull event is never
generated because the number of chars is strictly greater than maxLength.
Then, the user would have to delete the char entered (if provided by entry
means) and when the number of chars goes down to 1, it can be considered
that it reaches MaxLength so the EntryFieldFull is generated.
Else the only way to terminates the Entry is to generate an
InteractionCompleted event (likely with a validation key that is affected
to this when InteractionStatus is TRUE).
>Is the behaviour the same if OverwriteMode is True ?
My understanding is that the behavior would be the same with overwrite TRUE
even if not for the same reason. If Overwrite is true, the first character
entered will replace 1 instead of being inserted before 1. But the number
of char before are after the entry are both 1 so we couldn't consider that
it "reaches" MaxLength. Consequently, no EntryFieldFull events are
generated.
In this case of overwrite TRUE, it would even be better to suggest changing
the behavior so that EntryFieldFull event is generated if the content is
updated by a user entry (which could occur even if the number of chars does
not change) and the number of chars is higher or equal to MaxLength.
When following chars are entered, the same as above occurs, meaning that
nothing particular occurs.
Consequently, in your example, you have to set the OrigContent to an empty
string or add your vote to my suggestion.
When I opened this thread in January 1997 (near 2 years ago), our MHEG
expert at this time, Wataru Kameyama, considered it was not an issue. There
was tech FAQ that I began with Tom Schwengler and they was kept until a
meeting in Stockholm in September 1997. Some on this list agreed it would
need some clarifications.
But finally, nothing is said regarding this in the corrigendum as far as I
know.
Best regards,
Emmanuel
__________________________________________________________________
Emmanuel BEUQUE mailto:ebeuque@pratique.fr
MediaServ tel: +33 (0) 2 99 64 35 64
Multimedia consultant & developer fax: +33 (0) 2 99 64 36 65