h5p / h5p-blanks

9 stars 67 forks source link

HFP-2881 Fix apostrophe on iOS #54

Closed otacke closed 4 years ago

otacke commented 4 years ago

The virtual keyboard of iOS does not produce an apostrophe, but a left single quotation mark or a right single quotation mark. This fix adds a remap function for strings and replaces the side sensitive quotation marks with an apostrophe.

meestergijs commented 4 years ago

I don't really understand what bit of code I should put where..

otacke commented 4 years ago

@meestergijs No person should put code anywhere. The software git should. If you want to do it yourself, try clicking on "Files changed" or checking my branch of the code.

meestergijs commented 4 years ago

I'm not that familiair with github. If I want to fix this issue what should I do specifically? What could should I copy and where should I paste it? Thanks.

otacke commented 4 years ago

@meestergijs I am sorry, but I can't give you tutorials on how git and github work (there are plenty on the web) or step-by-step instructions on how to change H5P code. Sorry if that sounds rude, but lately too many people seem to confuse me with a free walk-in clinic for H5P related questions and expect me to solve their problems for them. When you click on "Files changed", you can see in which file which lines were changed, removed or added. If you check my branch that's also linked to, you can also download the required files directly.

meestergijs commented 4 years ago

Always guard your boundaries, there is no other way. I respect that. I'll read your instructions again and I'll give it a try. Thanks!

otacke commented 4 years ago

@meestergijs On WordPress, you'd have to look in /wp-uploads/h5p/libraries/h5p-blanks and you'll have to clean /wp-uploads/h5p/cachedassets after changing files in the other folder or changes won't take effect.

The trouble is that this is a five minute job - and at least for me those don't make sense economically at all.

meestergijs commented 4 years ago

I copied the entire code to cloze.js. I also have a folder cachedassets_ (with an underscore). I deleted both cachedassets folders. I emptied cache on my site, but I still had the issue. Only win I choose the scond apostraphe on the iPad it sees the answer as correct.

otacke commented 4 years ago

@meestergijs The cachedassets folder doesn't need to be deleted, but only its contents. Don't know where the other one comes from.

meestergijs commented 4 years ago

That's what I did. I deleted the content.. Kept the folder(s)

otacke commented 4 years ago

@meestergijs Then I fear I can't help, and unless the H5P core team decides to use my solution (a more general solution in core might be more feasible), it might be a temporary workaround anyway.

isa-realia commented 4 years ago

Hi Oliver ! Thank you SO MUCH for this fix ! In French, apostrophe is like... crucial and all my fill-in-the-blanks were not working on my students smartphones who were complaining because they couldn't get their scores right - which I perfectly understand. Thanks to your fix, all my activities are now working smoothly on their devices. Actually, I don't understand why the core team has not already integrated your very efficient fix to H5P's upgrades ? Without this fix, this content type is, well, quite useless to be honest (and not only for french content) and since the fix exists and is ready, why don't use it ? I mean, the work is already done ; this is a no brainer for me ;) Anyway, thanks for this ! Isabelle

otacke commented 4 years ago

Hi Isabelle!

Glad the solution is working for you.

On the one hand, the core team is very small, and they are working on things that they may have to give higher priority. The team is small and they have a lot to do which is even harder if the product is built around a freemium business model.

On the other hand, the fix is not very efficient. It would have to be included into every content type and if some more changes are necessary, then you'd have to touch every content type again - that's why it is a fix, not a solution. It's possible that they want to resolve the issue in a more general way that takes more time to implement.

Best, Oliver

isa-realia commented 4 years ago

Hi Oliver ! I really understand that the core team is very small, that they have a lot to do and other priorities to focus on. I also get that your fix is not a perfect solution and that the core team would probably want to resolve the apostrophe issue in a more general way. However, till the apostrophe issue is resolved "the big way", I think that your quick fix could be integrated to this specific content in order to get it to actually work. Allow me to explain myself here : the apostrophe may be an overall issue in H5P and of course, it would be nice to get it solved. But it is really not a priority for the other H5P content-types since none of them are affected by this bug in the way Fill-in-the-blanks is (to my knowledge at least) : you get weird ' characters showing up here and there but as long as the contents works properly, that's fine by me. But this is an other story with Fill in the blanks : in this case, the apostrophe bug prevents the content from properly working on mobile devices because the student's answers are marked as incorrect although they are correct. It is the case for about 50% of my students since half of them are using mobile devices to train. This can be (and has been) very confusing for young people trying to learn and practice thought the H5P activities teachers provide to them. But again, I perfectly understand the the core team is swamped and has to order its priorities. I am truly glad that H5P is developed on a freemium basis so that teachers like me can use it for free to create interactive and fun contents for their students. Best, Isabelle

otacke commented 4 years ago

@isa-relia I understand what you mean. Don't know the answer however.

fnoks commented 4 years ago

@otacke : It seems this is caused by the feature Apple calls "Smart punctuation". Some posts out there say setting spellcheck="false" will disable this feature. Have you tried that?

fnoks commented 4 years ago

@otacke I tested this myself. It seems spellcheck="false" fixes this from iOS v13. This is the relevant webkit commit: https://github.com/WebKit/webkit/commit/a15fe7da809e26d7c0ec3f0c2ae09668aebd4028

otacke commented 4 years ago

@fnoks Confirmed, so there's a better solution. Closing this pull request in favor of https://github.com/h5p/h5p-blanks/pull/61