Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allcaps/wagtail-site-check
A Wagtail app to check the configuration of Wagtail Sites.
https://github.com/allcaps/wagtail-site-check
Last synced: 13 days ago
JSON representation
A Wagtail app to check the configuration of Wagtail Sites.
- Host: GitHub
- URL: https://github.com/allcaps/wagtail-site-check
- Owner: allcaps
- License: bsd-3-clause
- Created: 2023-10-19T18:29:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-06T13:38:25.000Z (11 months ago)
- Last Synced: 2024-11-11T11:03:43.633Z (2 months ago)
- Language: Python
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Wagtail Site Check
A Wagtail app to check the configuration of Wagtail Sites.
Common issues with misconfigured Wagtail Sites are:
- Failing Wagtail preview.
- Live button pointing to wrong site.
- On multi-language sites wrong active language and/or wrong content displayed.When a Wagtail Site is misconfigured, developers like to be notified. This way, the issue can be addressed quickly. To scratch the itch, I created "Wagtail Site Check".
Wagtail Site Check provides:
- A management command to check for misconfigured sites.
- A management command to fix misconfigured sites.
- A notification panel to show a misconfigured site warning on the Wagtail admin dashboard.## Installation
Install the package with pip:
```bash
python -m pip install wagtail-site-check
```Add the app to your `INSTALLED_APPS`:
```python
INSTALLED_APPS = [
'wagtailsitecheck',
]
```Wagtail Site Check uses `ALLOWED_HOSTS` and port `443` to create the list of allowed sites.
Optional: add `ALLOWED_WAGTAIL_SITES` to your settings to be specific:
```python
ALLOWED_WAGTAIL_SITES = [
"a.com:443",
"b.com:443",
"c.com:443",
]
```When managing multiple environments (DTAP), only list approved Wagtail sites for each environment, typically through environment variables.
## Usage
The app provides two management commands: `checksites` and `fixsites`.
It also provides a `SiteCheckNotificationPanel` to add a warning to the Wagtail admin dashboard.
### Check Sites
The `checksites` management command *fails hard* if an existing Wagtail Site object is not defined in `ALLOWED_WAGTAIL_SITES`.
``` bash
python manage.py checksites
```Run this command manually, or add it to your CI/CD pipeline. For example, just after `migrate`.
### Fix Sites
The `fixsites` management command helps to re-configure the sites.
``` bash
python manage.py fixsites
127.0.0.1:8000 is not in ALLOWED_WAGTAIL_SITES. Specify a number to update the site.
1: a.com:443
2: b.com:443
3: c.com:443
1
Updated 127.0.0.1:8000 -> a.com:443
```### SiteCheckNotificationPanel
To show a warning on the Wagtail admin dashboard add `SiteCheckNotificationPanel` to `wagtail_hooks.py` . The warning is only displayed if there are misconfigured sites.
```python
from wagtail import hooks
from wagtailsitecheck.wagtail_hooks import SiteCheckNotificationPanel@hooks.register('construct_homepage_panels')
def add_site_check_panel(request, panels):
panels.append(SiteCheckNotificationPanel())
```