|
|
| master | pu (fastapi) |
|
|
|
| master | pu |
|
|
|
|--------|--------------|
|
|
|
| ![pipeline](https://gitlab.archlinux.org/archlinux/aurweb/badges/master/pipeline.svg?key_text=build) ![coverage](https://gitlab.archlinux.org/archlinux/aurweb/badges/master/coverage.svg) | ![pipeline](https://gitlab.archlinux.org/archlinux/aurweb/badges/pu/pipeline.svg?key_text=build) ![coverage](https://gitlab.archlinux.org/archlinux/aurweb/badges/pu/coverage.svg) |
|
|
|
|
... | ... | @@ -14,26 +14,6 @@ more asterisks, the more important. |
|
|
- [Docker](https://gitlab.archlinux.org/archlinux/aurweb/-/wikis/Docker)
|
|
|
- [Testing Guide \(*\)](https://gitlab.archlinux.org/archlinux/aurweb/-/wikis/Testing-Guide)
|
|
|
|
|
|
### HTTP Components
|
|
|
|
|
|
The project is currently split up into two primary code-bases: `PHP` and
|
|
|
`FastAPI (Python)`. Do note that PHP does use some Python for various
|
|
|
things like Git integration and a few others.
|
|
|
|
|
|
- PHP (Legacy)
|
|
|
- Cache backends: (Memcached\|APC)
|
|
|
- FastAPI (branch: **pu**)
|
|
|
- Cache backends: Redis
|
|
|
|
|
|
At this time, we are porting aurweb's legacy PHP implementation over to
|
|
|
Python (using the FastAPI framework). Because of this, our efforts are
|
|
|
now primarily focused on completing the port; most documentation found
|
|
|
in this wiki overall will be speaking about FastAPI and not PHP. However,
|
|
|
PHP is still around until the port takes over, and so PHP is still
|
|
|
supported and referred to throughout this wiki in various sections.
|
|
|
|
|
|
Do note: If not specified, one should assume we're discussing FastAPI.
|
|
|
|
|
|
### Subsystems
|
|
|
|
|
|
These are non-http related systems that we use in the aurweb project.
|
... | ... | @@ -58,20 +38,4 @@ Things like Git hooks, sshd authentication, project instrumentation, etc. |
|
|
- Partial Markdown Comment Render
|
|
|
- [aurweb.scripts.rendercomment](https://gitlab.archlinux.org/archlinux/aurweb/-/tree/pu/aurweb/scripts/rendercomment.py)
|
|
|
- Cache Backends
|
|
|
- Memcached (PHP)
|
|
|
- APC (PHP)
|
|
|
- Redis (FastAPI) |
|
|
|
|
|
### Caveats
|
|
|
|
|
|
- PHP can sometimes intrude on FastAPI's session records. If you are ever
|
|
|
navigating between the two, PHP and FastAPI, you may start encountering
|
|
|
database errors due to conflicting records. A workaround is delete
|
|
|
session records from the database and reload the webpage. This is a
|
|
|
rare occurrence; we haven't been able to reliably reproduce this yet.
|
|
|
- PHP doesn't use cookies well enough for FastAPI to respect them. If
|
|
|
you login on PHP, your FastAPI login may be invalidated, but logins
|
|
|
on FastAPI seem to stick to PHP. So, for now, if you're bouncing between
|
|
|
PHP and FastAPI: login with FastAPI first. Without PHP intruding with
|
|
|
cookies, FastAPI does behave as we expect it should. So, in favor of
|
|
|
focusing on the port, we'll deal with this caveat for now. |