Files @ 956f8c6fdaad
Branch filter:

Location: website/README.md

bsturmfels
podjango: Add "Podcast" model to support multiple podcasts

Each Cast (episode) can belong to one or more Podcast, allowing episodes to be
shared between podcasts. This enables us introductory episodes to be delivered
in their own feed, but also included in the main "The Corresponding Source"
feed.

This required adding an additional `podcast_slug` argument to most views. The
date archive views were dropped because they're not linked to from anywhere.

Added a `podcasts` view as an index of all available Podcasts.
# Software Freedom Conservancy website

## Contributing

The canonical location for this repository is [on Conservancy’s
Kallithea instance](https://k.sfconservancy.org/website).


## License

The software included herein, such as the Python source files, are generally
licensed [AGPLv3](AGPLv3)-or-later.  The Javascript is a hodgepodge of
licensing, but all of it is compatible with [AGPLv3](AGPLv3)-or-later.  See
the notices at the top of each Javascript file for licensing details.

The content and text (such as the HTML files) is currently
[CC-BY-SA-3.0](CC-By-SA-3.0).


## Server configuration

Conservancy's webserver runs on a standard Debian installation. For
configuration requirements, see `deploy/ansible/install.yml`.


## CDN

Requests to any URL starting with `/videos/` are forwarded to our CDN server to
reduce bandwidth use. These files are uploaded to the CDN manually via the
Rackspace API. Note that the Apache rewrite rule requires that the file **not
exist** on disk for the redirect to be applied.


## Local development

Python dependencies in `requirements.txt` are tied to the versions available in
Debian:

    python3 -m pip install -r requirements.txt

To run the tests, install `pytest-django` and run pytest:

    python3 -m pip install pytest-django
    python3 -m pytest

Then run:

    python3 manage.py migrate
    python3 manage.py runserver

There is also a Dockerfile available if that's more convenient. See that file
for details.


## Deploying

To deploy, run `bin/deploy`. This requires SSH access to `hickory.sfconservancy.org`.


## Link checking

To check for broken links in production, run:

    bin/linkcheck

Note that the Apache configuration has a significant number of aliases and
redirects for historic URL changes which means that linkchecker may not run
cleanly in local development.