View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
2005 | Composr | core | public | 2015-07-28 18:37 | 2022-12-07 18:09 |
Reporter | Chris Graham | Assigned To | Guest | ||
Priority | normal | Severity | feature | ||
Status | new | Resolution | open | ||
Summary | 2005: Web standards refresh | ||||
Description | This issue describes small changes we can make to our web compatibility. It is somewhat of an idea dump, that we update as we become aware of improvements we can make at some undefined point in the future, and to help our technology planning. The issue will be periodically updated as new releases come out where stuff has been fully implemented (don't update before then, as we need to continue to track the changes). Some items here will depend on the cycling forward of Composr's minimum browser requirements. Other issues may involve some amount of rearchitecting or general disruption. Other issues may just be small tasks with no external considerations. Ideas depending on stuff that isn't even in all the browsers yet is discussed in 1788. FOR V11 (SALMAN): "Don't assume URL structure too much" changes [DONE] Rewrite progress-display JS code ("spinners") to do it more consistently, and use promises [DONE] Finish documenting new JS framework [DONE] Move CSS to consistently use hyphenation [DONE] FOR V11 (CHRIS): We should change ":after" and ":before" to "::after" and "::before". This is CSS3's new way of writing that, and available in IE9+. [DONE] Drop flash support (managed in 2778) [DONE] Drop all legacy video/audio media rendering. Chrome and Firefox now actually don't support NSAPI plugins, so Quicktime and Realplayer aren't even an option for people. Windows Media Player isn't realistically an option either. I think we should just erase all record of this from the media rendering code, mime types, and documentation. [DONE] FUTURE CONSIDERATION: Drop IE support, support only Microsoft Edge for MS browsers. Wipe IE from history by removing all references to it. IE11 will be supported for many years (Jan 2020?) so we'll likely need to hold off this for a while. Change browser support policy to be based on the idea all browsers will now auto-update on any OSs that still are supported. This counts for Android, iOS, Windows, Chrome, and Firefox -- as all the companies have changed their policies at this point. Safari now supports 'HTML5 web media', which is a 'capture' property on upload inputs. Maybe we should use this on the member photo tab. Or maybe it's not needed - run tests. | ||||
Tags | Risk: Breaks themes , Risk: Deprecates functionality , Roadmap: Over the horizon, Type: JavaScript, Type: Standards compliance | ||||
Attach Tags | |||||
Time estimation (hours) | 30 | ||||
Sponsorship open | |||||
related to | 1575 | Resolved | Chris Graham | Refresh our PHP base line |
related to | 1963 | Resolved | Salman | Rewrite form submission as explicit rather than than using onsubmit, when JS enabled - and other changes |
related to | 1788 | Not Assigned | Guest | Support HTML.next and ECMAScript.next (idea staging issue) |
related to | 2912 | Resolved | Chris Graham | Hybrid responsive theme |
related to | 3206 | Closed | Salman | Next generation theme (on hold) |
related to | 508 | Resolved | Chris Graham | Support Content Security Policy |
related to | 2778 | Resolved | Chris Graham | Drop Flash support |
related to | 2747 | Assigned | PDStig | PHP refresh (ongoing) |
|
I have removed: - Flash (all browsers are now or soon going to be asking permission to run it per-page-load); see 2778 for exceptions I defined - Quicktime (Quicktime Player for Windows is no longer supported and insecure; modern versions of QuickTime are just fronts for h.264 which we support directly) - RealPlayer (justification: it's effectively dead, no major vendor has been pushing it for years, and it was only ever really popular as a streaming format commercially; I think there's zero legacy interest) - VRML (it's not been used in very many years) I have not removed: - Windows Media Player (it's still very possible people will be using it, which isn't great but Windows is the most popular OS and I'm not aware of Microsoft have fully shifted everyone over to h.264 yet in their production tools; there are so many .avi files around too) Also special cases: - I have not (except for Flash) removed mime types. I think it's still legitimate for people to upload RealPlayer files and accept the right mime type to be used. If the browser then directs to the RealPlayer app to open the URL, that's a very easy win that doesn't encumber Composr in any way. - I have not removed plugin whitelisting, as I want the general compatibility mode for legacy video to still be able to draw on whatever video plugins happen to be available still I think this is a reasonable balance. We're removing explicit support for a few formats, but we're not erasing them from history and breaking mime type and plugin handling that may happen to automatically route through for them still. I have also rationalised file type lists in a few places, with a new automated test making sure all our file type whitelisting is consistent. I have also added 'cur' as a valid image format (cursor, referenced in CSS). |
|
When we drop IE11 support we can use 308 redirects and eliminate the REDIRECT_POST_METHOD_SCREEN template. |
|
Here are a couple of useful resources to see what is coming up: https://mozilla.github.io/standards-positions/ https://caniuse.com/ We need to ensure the documentation (tut_markup) is updated when a new standalone web standard is implemented. |
|
I have marked some code in the JavaScript as LEGACY, where I know modern browsers basically won't need that code. It would be very nice to use ES6 classes and default values and arrow functions. Here is a tool to automatically use them: https://github.com/lebab/lebab tut_javascript.txt would need updating to reflect that our $util.properties syntax would no longer be needed. |
|
There is input type="url" which we do not currently use, but could. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url Note that this will add strictness that may not currently exist. Currently the authors form uses form_input_line to input the author URL/email-address. If that were to switch to form_input_url, we'd need to not allow email's without mailto which probably would make things worse rather than better. This issue may exist in other fields that do actually use form_input_url, so they'd need careful checking. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-06-08 00:15 | Chris Graham | Tag Renamed | Deprecates functionality => Risk: Deprecates functionality |
2016-07-22 15:18 | Chris Graham | Description Updated | |
2016-07-22 15:39 | Chris Graham | Relationship added | related to 2095 |
2016-10-21 16:15 | Guest | Note Added: 0004459 | |
2016-10-21 16:18 | Chris Graham | Description Updated | |
2016-12-08 18:09 | Chris Graham | Tag Attached: Risk: Breaks themes | |
2017-03-30 11:11 | Chris Graham | Relationship added | related to 1788 |
2017-04-08 14:45 | Chris Graham | Relationship added | related to 2778 |
2017-05-01 18:07 | Chris Graham | Relationship deleted | related to 2095 |
2017-05-01 18:22 | Chris Graham | Description Updated | |
2017-05-01 18:28 | Chris Graham | Relationship added | related to 2912 |
2017-05-01 18:28 | Chris Graham | Relationship added | related to 3206 |
2017-05-04 02:22 | Chris Graham | Relationship added | related to 2747 |
2017-06-20 00:05 | Chris Graham | Description Updated | |
2017-11-27 17:37 | Chris Graham | Description Updated | |
2017-11-27 17:57 | Chris Graham | Description Updated | |
2017-11-27 17:59 | Chris Graham | Description Updated | |
2018-02-04 20:23 | Chris Graham | Description Updated | |
2018-02-08 00:27 | Chris Graham | Note Added: 0005471 | |
2018-02-08 02:50 | Chris Graham | Note Edited: 0005471 | |
2018-02-08 03:17 | Chris Graham | Description Updated | |
2018-11-07 15:26 | Guest | Note Added: 0005875 | |
2019-06-27 19:03 | Chris Graham | Tag Attached: Roadmap: v11 | |
2019-06-27 19:03 | Chris Graham | Assigned To | => user4127 |
2019-06-27 19:03 | Chris Graham | Status | Not Assigned => Assigned |
2022-08-15 18:29 | Chris Graham | Assigned To | user4127 => Chris Graham |
2022-10-05 23:49 | Chris Graham | Note Added: 0007541 | |
2022-10-11 21:33 | Chris Graham | Note Added: 0007550 | |
2022-10-14 00:42 | Chris Graham | Note Edited: 0007550 | |
2022-11-10 01:15 | Chris Graham | Tag Attached: Type: JavaScript | |
2022-11-10 01:21 | Chris Graham | Description Updated | |
2022-11-10 01:21 | Chris Graham | Tag Detached: Roadmap: v11 | |
2022-11-10 01:22 | Chris Graham | Tag Attached: Roadmap: v12 | |
2022-11-10 02:07 | Chris Graham | Note Edited: 0007550 | |
2022-11-20 03:06 | Chris Graham | Assigned To | Chris Graham => |
2022-11-20 03:06 | Chris Graham | Status | Assigned => Not Assigned |
2022-12-07 18:09 | Chris Graham | Note Added: 0007783 | |
2024-03-26 00:58 | PDStig | Tag Renamed | Roadmap: v12 => Roadmap: Over the horizon |