General: Git policy changes

1 vote

Vote

Raised 0% of 96 credits
(96 credits = 16 hours or $672.78)

Implement a number of changes around our use of git to improve communication for people.

Problems being solved (from a human perspective):
i) People currently may struggle to trace issues (especially major bugs or security holes), due to messy commits.
ii) There are no formal changelogs, just messy co…

Suggested by Chris Graham on 12th March 2019

core: Static cache URL whitelist

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.72)

Allow configuring a whitelist (series of regexps) specifying what URLs may be static-cached.

This is to preserve disk space, bots may generate lots of invalid URLs and hence fill up the static cache with junk.

Suggested by Chris Graham on 19th March 2019

General: Host on geo-distributed ARM cluster

1 vote

Vote

Raised unknown of unknown
(unknown = unknown or unknown)

This is a crazy idea, but it would certainly push the limits of Composr and make us eat our own dog food regarding operating at scale.

We could set up Composr to run via very low-power ARM machines, such as this:
https://www.amazon.com/FriendlyElec-NanoPC-T4-Development-Ethernet-Learning/dp/B07F1HH6FZ/…

Suggested by Chris Graham on 20th March 2019

health_check: Customisable regexps checks for pages to pick up on style issues

1 vote

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.72)

Very commonly you have conventions for how things are worded, or common mistakes in HTML when using a WYSIWYG editor.

Examples...
1) A multi-word proper noun needing nbsp entity rather than spaces
2) Accidental double spacing using nbsp entity
3) Accidental white-space at end of a line
4) ... or a p…

Suggested by Chris Graham on 24th March 2019

core_database_drivers: Cleanup queries so can_arbitrary_groupby/remove_duplicate_rows

1 vote

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $167.45)

In various places we use can_arbitrary_groupby and/or remove_duplicate_rows to strip out duplicated rows coming out of SQL queries.

This is because doing JOINs on tables will multiply up rows on the main table being queried, if the joined table has multiple matching records.
For example, if you are usi…

Suggested by Chris Graham on 3rd April 2019

core: Simplify multiple isset checks

0 votes

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $41.86)

Little known trick that PHP's isset can take multiple arguments:
https://twitter.com/ericlbarnes/status/1113869112390967296?s=19

Employ this where appropriate in our code.

Suggested by Chris Graham on 5th April 2019

recommend: Support web share API

0 votes

Vote

Raised 0% of 18 credits
(18 credits = 3 hours or $125.58)

https://wicg.github.io/web-share/

At this time I think only Safari supports it, so it's very early days. It is interesting though.

Suggested by Chris Graham on 5th April 2019

core_themeing: Support dark mode in default theme

2 votes

Vote

Raised 0% of 120 credits
(120 credits = 20 hours or $837.23)

See Safari's announcement:
https://webkit.org/blog/8718/new-webkit-features-in-safari-12-1/

You can make a website light/dark based on media queries. This would be a really cool feature for Composr's default theme.

Currently it's non-standardised.

What is exciting to me is that this may be cool e…

Suggested by Chris Graham on 5th April 2019

core: Proper country name internationalisation

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $83.72)

I put through a patch allowing country names to be internationalised.
https://github.com/ocproducts/composr/commit/e8a2e2829f6738cee61001429ff09d33b2894ee6
I did not document it.

However, this is messy because it just overrides the hard-coded English strings. Ideally the English strings should be lang…

Suggested by Chris Graham on 9th May 2019

ldap: Support STARTTLS

1 vote

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $41.86)

Current LDAP support just assumes the original LDAP protocol, with no encryption layer.

PHP has functionality for STARTTLS:
https://www.php.net/manual/en/function.ldap-start-tls.php
It's undocumented, but usage seems straight forward.

An option (or even unofficial hidden option) could be added to s…

Suggested by Chris Graham on 16th May 2019