WackoWiki: ToDo R6.0

https://wackowiki.org/doc     Version: 19.10.2021 12:37

R 6.0

dev repo [bitbucket.org][link2]

Main Focus: UTF-8 support and migration and PHP 8.0 compatibility

R6.0 is more or less R5.5 with Unicode support. Please look here for open issues from R5.5[link5] .

1. PHP

PHP 8 functionality

New PHP 8 functionality is reserved for 6.1 branch[link6] releases .
Currently Supported PHP Versions[link7]

2. Features

3. Core

  1. add utf8_word_count function DONE
  2. Why does it store interwiki in session and not as JSON in _cache/config/interwiki.conf?
    • get_inter_wiki_url($name, $tag)
  3. move interwiki.conf and antispam.conf into table & _cache/config/*
  4. add option to enforce email validation before a user can login
  5. notify_watcher(): add direct link to diff mode in email body
  6. it sucks to see again and over again all these random session_notice(s), add a option to turn it off for daily work.
  7. COLLATE utf8mb4_bin for tag eats 𝓦𝓲𝓴𝓲𝓦𝓸𝓻𝓭𝓼 in LIKE '/%' query, without slash it finds it, whO_Ot
  8. Tag Pattern Issues[link9]
    1. it is possible to create a page tag with a underscore[link9], but then the page won't be found via run() function because _ is cast away – DONE
    2. Only alphanumeric signs at the start and end of the tag and each subtag should be allowed, furthermore the use of more then one dot (.) or hyphen (-) in consecutive order should be not allowed, to avoid conflict with wiki formatter syntax.
  9. UTF-8 text must be checked for well-formedness
    • static function is_utf8($string)
        return (bool) preg_match('//u', $string);
  10. set return type declarations : (array | bool | float | int | mixed | string | void | ... )
  11. fix client side JS input validation patterns
    1. login and registration action DONE
    2. new, clone and rename handler
  12. Replace all HTML-Entities except HTML special chars[link11]
    1. nbsp; — to indent or add extra spacing to a paragraph, sentence, or another portion, better using CSS instead of multiple non-breaking spaces.
  13. add option to disable hit counter
    • user already uses web analytics software or there is no use case for a hit counter
    • This reduces database load, updating the page and file hits field with every page hit is a main source for slow queries.

4. Installer

5. Handler

6. Action

7. Formatter

8. Cache

Evaluate page cache
SELECT cache_lang, method, count(cache_id) AS n 
FROM `prefix_cache` 
GROUP BY cache_lang, method 
ORDER BY `cache_lang`, n DESC, method;

9. Libs

  1. php-diff successor[link12]
    1. https://github.com/jfcherng/php-diff
    2. https://github.com/JBlond/php-diff <— SWITCHED TO 
    3. https://github.com/sebastianbergmann/diff

10. Testing

  1. https://github.com/rectorphp/r[...]rview.md#codequality[link13]

10.1. Test cases

-> Test cases[link14]