Skip to content

GraBaPlaTe/mailarch

 
 

Repository files navigation

IETF Mail Archive

Release License Python Version Django Version Node Version MySQL Version

IETF Mail List Archives

Development

What follows are instructions for setting up a development environment on macOS. These instructions were tested on a MacBook Pro running macOS 10.13.6 (High Sierra).

Prerequisites

  • MySQL 5.6
  • Node.js 16.x
  • Python 3.6

Running Tests

From the root of the project working directory:

export PYTHONPATH=$PWD
cd backend/mlarchive
py.test tests
py.test --flakes archive
py.test --pep8 archive

Notes on Infrastructure

This section describes some of the parts of the system that aren't obvious.

  1. How are records added to the index?

In settings.py is a setting: HAYSTACK_SIGNAL_PROCESSOR = 'celery_haystack.signals.CelerySignalProcessor'

haystack/__init__.py uses this to setup Django signals to save records to the index when models are saved.

CelerySignalProcessor: when objects are save checks to see if an index exists for them. If so calls task to update index.

CDN Integration (Cloudflare)

As of v1.12.4, mail archive supports a "Static Mode" which resembles the MHonArc interface. When enabled, from the Settings menu, the user is directed to /arch/browse/static/ pages. Cloudflare has been configured to cache these pages for CACHE_CONTROL_MAX_AGE.

About

IETF Mail List Archives

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 66.9%
  • JavaScript 13.3%
  • HTML 7.4%
  • CSS 5.9%
  • Roff 2.9%
  • SCSS 2.0%
  • Other 1.6%