Skip to content

Latest commit

 

History

History
89 lines (55 loc) · 3.21 KB

README.textile

File metadata and controls

89 lines (55 loc) · 3.21 KB

Listlist

Listlist is a mailing list management system which relies on gentle anarchy, allowing every registered user to create/update/delete lists. It is possible to create locked lists. Only current subscribers can add subscribers to a locked list.

The main page is the list management page. There is also a back-end to send emails to the lists.

Dependencies

To develop this application and run all the specs locally, you will need:

  • rvm
  • postgresql
  • redis (you can run rake spec:noredis to run the non-redis-dependent specs)
  • phantomjs

Setting up PostgreSQL

I don’t know about you, but I rarely ever set up rails apps with postgres, so I always forget how to make it work. Here it is, for next time. Change the password to what you really want it to be. hunter2 is a reference to bash.org.

$ psql -U #{someadminuser} postgres
postgres=> CREATE USER listlist WITH PASSWORD ‘hunter2’;
postgres=> ALTER ROLE listlist WITH CREATEDB;
postgres=> \q
$ psql -U listlist postgres
postgres=> CREATE DATABASE listlist_development;
postgres=> \q

Running in development mode

If you want to get the archives going, you need a resque worker in dev mode. Ergo:

$ rake resque:work

Running with coverage

Coverage will be enabled if you set the COV environment variable. Ergo:

$ COV=1 rake spec

Clearing the cache

You may run into issues parsing some emails. There are two options:

1) Delete the tmp directory
2) From the rails console, run Rails.cache.clear

Installing the Application

The production application is hosted on Heroku. Check DEPLOY.textile in the root directory for deployment details.

Getting Started

All settings are managed by the rails_config gem. Most of the values are bogus but should be ok for dev and testing.

User accounts are automatically created when logging in for the first time using a Gmail account. You can use another Google Apps domain by changing the organization_domain setting.

When you login, you’ll see a list of mailing lists. You can reorder them,
edit them, join one, leave one, create one, delete one.
And then you can send emails to those lists.

Documentation and Support

TBD

Deleting an Email Address from All Lists

Use the ‘Remove user’ link on the ListList home page to remove a user from all
lists, and from the database.

Issues

Check the issues on Github.

Credits

Thanks go to:
- Rex Madden for the initial idea
- Jesse Chen and Daniel Ramteke for the initial Python implementation
- Jim Stewart and Aldric Giacomoni for some bug-fixing
- Jacob O’Donnell, Najati Imam and Aldric Giacomoni for the Rails implementation
- Steven Nunez and Beth Brown for implementation of archives
- Jeremy Fine for the massive work of preparing this to be open-sourced
- All of Cyrus for ideas, fixes and improvements

License

MIT