These forums are locked and archived, but all topics have been migrated to the new forum. You can search for this topic on the new forum: Search for Mailman 3? on the new forum.
This website is deprecated, and remains online only for historic access to old issues and docs for historic versions of Virtualmin. It has been unmaintained for several years, and should not be relied on for up-to-date information. Please visit www.virtualmin.com instead.
Just curious --- are there any plans for Virtualmin to support Mailman 3 for mailing lists (yeah, as far as I know none of the distributions include it yet but ---- just curious if this is at all in the pipeline?)
It's pretty much a complete rewrite, particularly from the web viewpoint - the web interface is not part of mailman any more but is a separate entity. So I think it'll probably require a considerable rewrite of the Webmin/Virtualmin environment. It's been on my radar of things to play with, but hasn't reached the point where I've been willing to take the time (something I'm sure you're all familiar with). This isn't a pressing issue, just wanted to see if I could stick it into your radar. There ARE packages available for Ubuntu/debian-ish distros at the moment, so I expect people will start asking for it soon.
Just installed Mailman 3.1 + Postorius + Hyperkitty on Nginx with MySQL support on Virtualmin [CentOS 6 x86_64]
Do it separately! its better that way. Don't do the bundle installation
MySQL support for Mailman3
$ vi /home/mailman3/mailman/src/mailman/database/mysql.py
"""MySQL database support."""
__all__ = [
'MySQLDatabase',
]
from mailman.database.base import SABaseDatabase
from mailman.database.model import Model
from sqlalchemy import Integer
class MySQLDatabase(SABaseDatabase):
"""Database class for MySQL."""
def _post_reset(self, store):
"""MySQL-specific test suite cleanup.
Reset the <tablename>_id_seq.last_value so that primary key ids
restart from zero for new tests.
"""
super(MySQLDatabase, self)._post_reset(store)
tables = reversed(Model.metadata.sorted_tables)
for table in tables:
for column in table.primary_key:
if (column.autoincrement
and isinstance(column.type, Integer)
and not column.foreign_keys):
store.execute("""\
ALTER table {0} AUTO_INCREMENT = 1;
""".format(table, column.name))
================================================
Hope this helps you guys
Howdy,
We hadn't talked about it, but I'm sure it will be supported.
Do you know if any distros are talking about using it?
And any idea what has changed?
But yeah we'll take a look into that, thanks for the heads up!
-Eric
It's pretty much a complete rewrite, particularly from the web viewpoint - the web interface is not part of mailman any more but is a separate entity. So I think it'll probably require a considerable rewrite of the Webmin/Virtualmin environment. It's been on my radar of things to play with, but hasn't reached the point where I've been willing to take the time (something I'm sure you're all familiar with). This isn't a pressing issue, just wanted to see if I could stick it into your radar. There ARE packages available for Ubuntu/debian-ish distros at the moment, so I expect people will start asking for it soon.
Thanks
Howdy,
Ah, very interesting!
Mailman never fit into shared hosting environments very easily, Virtualmin had to jump through some pretty big hoops to make it work.
So I'm curious if this new version makes some of that a bit simpler.
Yeah we'll take a look at that, thanks for the heads up!
-Eric
Just installed Mailman 3.1 + Postorius + Hyperkitty on Nginx with MySQL support on Virtualmin [CentOS 6 x86_64]
Do it separately! its better that way. Don't do the bundle installation
MySQL support for Mailman3
$ vi /home/mailman3/mailman/src/mailman/database/mysql.py
"""MySQL database support."""
__all__ = [
'MySQLDatabase',
]
from mailman.database.base import SABaseDatabase
from mailman.database.model import Model
from sqlalchemy import Integer
class MySQLDatabase(SABaseDatabase):
"""Database class for MySQL."""
def _post_reset(self, store):
"""MySQL-specific test suite cleanup.
Reset the <tablename>_id_seq.last_value so that primary key ids
restart from zero for new tests.
"""
super(MySQLDatabase, self)._post_reset(store)
tables = reversed(Model.metadata.sorted_tables)
for table in tables:
for column in table.primary_key:
if (column.autoincrement
and isinstance(column.type, Integer)
and not column.foreign_keys):
store.execute("""\
ALTER table {0} AUTO_INCREMENT = 1;
""".format(table, column.name))
================================================
Hope this helps you guys
https://secure.kreationnext.com