Pipeline is The Rensselaer Polytechnic's next website. It will enable rapid development of new article layouts and interactive features. In the long term, it will provide a solid platform for our content over the coming decade and support The Poly's focus on online-first journalism.
Ensure these are installed before continuing.
You can change Pipeline's settings to use SQLite instead of Postgres, but this is not recommended because Pipeline relies on Postgres's full-text search features.
Pipeline is written in Python. It uses Sass and PostCSS on the frontend with webpack to glue them together. To run Pipeline for development:
git clone email@example.com:thepoly/pipeline.git cd pipeline pipenv install --dev brew install postgresql npm install npx wp --config webpack.development.config.js brew services start postgresql createdb pipeline //only on first run
pipenv shell python manage.py migrate python manage.py createsuperuser python manage.py runserver
If you have issues with the database, ensure that Postgres is running and you have created a database named
Pipeline can also be run in its production configuration with Docker. It requires three containers: one for running the Django project with gunicorn, another to put nginx in front of it and additionally serve static files, and finally a Postgres container.
Ensure that the
SECRET_KEY environment variable is set. Additionally, run the following inside of the
django container (e.g.
docker-compose exec django bash):
python manage.py migrate python manage.py createsuperuser
Pipeline will be available at port 8000 on localhost.
Many of the following features are partially complete, but this isn't indicated. Talk to Sid if you need to know where something is right now.
- Index pages
- Article pages
- Basic layout
- Section-specific layouts
- Editor previews
- Archive pages
- WordPress importer
- Old site importer
- Related to authors
- Multiple per article
- RSS feed
- Facebook tags
- Twitter tags
- Apple News
- Home page
- Basic article prioritization
- Full user control of column layout
- Index page
- Individual pages
- Authored articles
- Bylined photos
- Staff photos
- Email addresses on staff pages
- Basic publish permission level
- Fine grained permissions
- Google Apps authentication
- Basic headline search
- Search all fields of articles
- Basic Prometheus metrics
- DB metrics
- HTTP Basic auth