Build Hyperkitty in easy way

This is a quick guide to build hyperkitty,the archive manager.

HyperKitty is the archiver project for the Mailman 3 suite, allowing users to browse mailing lists, start new threads and reply to existing threads, mark messages as favorite, search archives etc.It is an open source Django application under development. It aims to provide a web interface to access GNU Mailman v3 archives.

Required Installations

  • LibSass, a C/C++ port of the Sass engine using :
       pip install libsass
      
  • Whoosh, a fast,featureful full-text indexing and searching library implemented in pure Python using :
       pip install Whoosh
      

Setting up hyperkitty for development

  • Create virtual environment using :
    virtualenv -p /usr/bin/python2 venv2
    (Hyperkitty is written in Python2)
  • Activate the virtual environment :
    source venv2/bin/activate
  • Clone the hyperkitty repo from gitlab :
        git clone https://gitlab.com/mailman/hyperkitty.git
        cd hyperkitty
        python setup.py develop
    (Make sure to install mailmanclient first)

Configuration

Create a settings_local.py in hyperkitty/example_project/ repository for development setup having following contents :

DEBUG = True
TEMPLATE_DEBUG = DEBUG
USE_SSL = False

Setting up database

Create the Hyperkitty databases using :

django-admin migrate --pythonpath example_project --settings settings

Running HyperKitty

django-admin runserver --pythonpath example_project --settings settings

Make sure to start mailman first using :

mailman start

You would be able to see the hyperkitty page with the message “No archived lists yet”.

Importing mailing Lists from mailman

To view the mailing lists created by you, you need to follow the given steps :

  • Type the following commands in hyperkitty/example_project directory after activating the virtual environment:
        python manage.py shell
        from hyperkitty.lib.mailman import get_new_lists_from_mailman
        get_new_lists_from_mailman()
        
  • Start the server again. Uncheck the *“Hide inactive”* option. You would be able to see all the lists in *“By name”* option.

View emails in hyperkitty

Since,we are running hyperkitty on development server and DEBUG is set to True, we can’t send emails and create threads through hyperkitty ui. We need to send mails through command line.

To send the mails and view in hyperkitty ui, follow the following steps :

  • Activate virtual environment (python3) for mailman using :
    source venv3/bin/activate
  • Create an email.txt file in mailman repository having following contents :
       From: aditi.medha96@gmail.com
       To: test@example.net
       Subject: Test
       Message-ID: <abcd>
       This is a text message
       
  • Inject mail in the archive queue using :
    mailman inject -q archive -f email.txt test@example.net

Refresh the hyperkitty page.Now, you would be able to see the email sent to test@example.net in hyperkitty ui.

Please refer to Hyperkitty for latest documentation.