View Issue Details

IDProjectCategoryView StatusLast Update
0002091Composrcns_forumpublic2017-05-01 16:40
ReporterChris GrahamAssigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status non-assignedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0002091: JavaScript-heavy forum implementation
DescriptionCreate a mode of the forum that works via JavaScript calls to the Composr Mobile SDK APIs.

Template rendering is done client-side, with a JavaScript implementation of Tempcode. Templates are pushed out to the client in initialisation code, and stored in local storage.

Some of the PHP code would be duplicated as JavaScript code. Most of it would be used by the APIs anyway, and some refactoring would be needed for maximum benefit of that. Generally we can better share code between what is currently in the Tapatalk implementation, normal Composr forum implementation, and the new APIs.

The complexity of this should not be under-estimated. For example, JavaScript doesn't know as much as the server does, so in some cases would need to have server-contextual-data sent to it in advance, perhaps attached to all JSON requests.

We would want a smart caching system. If working offline, old caches versions of topics (for example) should be loaded up, with a "You are offline" message shown.

Why?
This means a much-faster-to-navigate forum, with less bandwidth and less latency. It also reduces server load. It is particularly good for mobile use because forums could still be used even on poor connections.

This mode should be enabled via an option, not to everyone. I don't want to force complex JavaScript on people, and there are some assumptions about the implementation about how pages are composed that do not usually exist in Composr. Bots should not get this mode, so that search engines can still do proper indexing.
TagsType: Mobile, Type: Performance
Attach Tags
Time estimation (hours)200
Sponsorship open

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2017-05-01 16:40 Chris Graham Category core => cns_forum