Plazza.net

One calendar to rule them all

Plazza — Admin Manual

This page documents operational and administrative tasks for the Plazza calendar service. It assumes shell access to the server.

Service Control

Restart the website

sudo systemctl restart plazza.service

View logs

sudo journalctl -u plazza.service -n 100 --no-pager

Reload systemd (only after editing plazza.service)

sudo systemctl daemon-reload
You do not need daemon-reload for code changes — only when the service file itself changes.

Database Location

/home/david/plazza/plazza.db

Inspect tables

sqlite3 plazza.db ".tables"

Inspect venues

sqlite3 plazza.db "
select id, name, source_key, is_featured, is_active
from venues
order by name;
"

Inspect users

sqlite3 plazza.db "
select id, name, email
from users
order by id;
"

Featured Venues

Featured venues determine what guests see by default. This is controlled by the is_featured column on venues.

Set featured venues

./set_featured.py

This script:

Scrapers

Scrapers populate events and ensure venues exist.

Run all scrapers

./scrape_all.sh

Run individual scrapers


python3 scrape_davis_library.py
python3 scrape_clark_ics.py
python3 scrape_eccles.py
python3 scrape_pioneer.py
    
Scrapers call ensure_venue(), which updates venue names, URLs, and featured status automatically.

Deleting Data (Use With Care)

Delete a user

sqlite3 plazza.db "
delete from users where id = 3;
"

Deactivate a venue (preferred)

sqlite3 plazza.db "
update venues set is_active = 0 where source_key = 'example_venue';
"
Avoid deleting venues outright — events and subscriptions reference them.

Key Files

Environment Variables