Skip to content

tchapi/mlmmj-simple-web-interface

Repository files navigation

Mlmmj Simple Web Interface

A very simple web frontend in node for mlmmj.

Attention : run as list :

When you run the app, you have to run it as the list user if you want to have access to mlmmj's files :

sudo su list -c "node index.js"

Structure

This is a Node.js app, that uses :

And some local modules like ConfigParser (cf. source code if you want to see more)

Functionalities

  • Parameters

    The app allows to modify all tunables (files present in /control) : values, lists, texts and booleans

  • Subscribers

    The app allows to modify all tunables (files present in /control) : values, lists, texts and booleans

  • Archives

    There is also a very simplist archives browser that can display archives by year, month, day, and individual files. No thread yet, though (see TODO)

Screenshots

list actions control parameters

Configuration

Some options are available in the config.json file. Before launching the app,you must copy config.json.dist to config.json and change the desired settings :

  • Server

    The settings allows you to change the port that the app use if you want to reverse-proxy it afterwards (and you should)

  • App name

    The app name is displayed in the navbar, on the left

  • Mlmmj directory path

    This path is the one that mlmmj uses to store all the content and parameters. Should be the default /var/spool/mlmmj unless you manually changed it

Authentification

The whole app needs authentication.

Authentification is managed by passportjs. The username and password of users are stored in the config.json file :

{
    //...
    "users": [
        { "username": "admin", "password": "secret"},
        { "username": "jon", "password": "pass"}
    ],
    //...
}

Licence

MIT ! See the licence file.

To Do

  • Implement other functions such as :
    • i18n texts editing
  • Browse Archives by thread
  • Improve Archives altogether (subject of mail in lists, etc)
  • Add a button to restart exim / postfix ?