Pheix public β-release suggestions
23, november 2020
As the private β-release has shown, Pheix at current implementation has generic render time problem. If we're rendering content on server-side with Template::Mustache we're wasting ~ 3 seconds. Basic improvements:
- Careful object management — now we have the single template with variables (title, content, etc), well if we render common variables at first start and then use own reactive render at runtime we will got more speed; also we need to create all static objects (such as
Pheix::Utils) at first start;
What's functionality will be at β-release
- Improved object management (global objects, run-time objects, nested pools);
- Headless backend: get content via REST API;
- Separate compression layer
- Embedded ultra fast content tags render based on Raku grammars;
- Fully functional Presentation Layer on new backend engine;
- Addons itegration with embedded routing;
Pheix::Addons::Weblogwith basic functionality — #108.
- Due to FastCGI: no prints anymore, we're living in FastCGI paradigm;
- Due to clientside templating: another template variable format, no content render at backend;
- Due to headless backend: content is delivered via REST API (Ajax) from backend JSON API gateway;
- New addons installation paradigm, so no logical compatibility with P5 Pheix — addons are independent Raku modules, they could be installed via
- The CMS configuration (what addons are used) should be stored at
There are a lot of principal changes, so the dates could vary at all. Nevertheless, we're starting with breakpoint at 30 December 2020.
Perspectives & further steps
In this case we would implement a pool of administration layer REST APIs and connect P5 Pheix. This will be the great tandem: Raku on backplane and Perl5 as frontline agent.
This can be considered within Release Candidate 1 roadmap.
β-release issues trace
- Addons installation — #106;
- Addons routing — #107;
- Separate compression layer to
Pheix::Model::Database::Compression— #86 (closed);
- Night mode to default design skin — #101 (closed);
- Unit tests for
Pheix::Model::Route— #103 (closed);
- Additional unit tests for
Pheix::View::Pages— #104 (closed);
- Migration to FastCGI — #88 (closed), unit tests — #96 (closed);
- Skipping Goerli network tests on install via
zef— #100 (closed);
- Remove skip at JSON tests for Goerli network — #97 (closed);
- META6.json — #99 (closed);
- Fix warnings at blockchain compression test — #98 (closed);
- XML templating engine — #94 (closed);
- Fix failures at
Pheix::View::Pagestest — #91 (closed).