Trial implementation of fix for FLUID-4681
antranig.basman at colorado.edu
Tue Mar 27 08:52:11 UTC 2012
A user report in #fluid-work today revealed a problem with our rich text integration with more recent
versions of TinyMCE than the one in our framework demo and implementation. The current version is 3.4.8
(actually now 3.4.9), as opposed to the 18.104.22.168 which we last tested with. Since then, a serious problem has
arisen which makes the integration unusable on the current FireFox (12) - the first time editing is
triggered by any means, the component will immediately finish the edit operation and fold up. The issue
doesn't seem to appear on other browsers.
Detailed description at http://issues.fluidproject.org/browse/FLUID-4681
I've issued an interim pull request which shows the issue resolved but it is not yet a serious request for a
pull - see https://github.com/fluid-project/infusion/pull/215
In particular, before this can be pulled back in, we need to
i) Strip back out the version of TinyMCE I have committed for testing, and put it up into our CDN with the
ii) Get design input on whether the inconsistency of the behaviour of this component with the simple
InlineEdit (that it cancels an edit on blur, rather than committing it) is really correct, and also what the
correct behaviour should be on receiving a focus outside the component other than on click
iii) Determine whether the new "facade API" for deadMansBlur is really reasonable given its "stateful model"
for its lifetime using the "reArm", "proceed" etc. methods which were not used by the previous stateless
system which did not defer to globalDismissal.
In the meantime, Nick should be able to make a build from it and use it for interim work. Testing showed
that the issue is purely caused by the difference in TinyMCE version, the version of jQuery is unimportant.
NB - since our last testing, there has been a further regression in the component in that our "HTML
canonicaliser" no longer functions correctly for the current rich text components and browser combinations.
Both the integrations fail to correctly round-trip markup, which means that on triggering an edit and making
no changes, the "Undo" state incorrectly becomes set.
More information about the fluid-work