Ideas for Vexim3

105 views
Skip to first unread message

Rimas Kudelis

unread,
Sep 16, 2015, 9:06:04 AM9/16/15
to vexim
Hi all,

since we're near 2.3, I think it's about time for us to start thinking
about what we want Vexim to be like in the future.

My personal wishlist for it would be somewhat like this:
- use a modern PHP framework for the basis
- allow plugging in external modules
- update the UI (obviously; also see below)

What I'm interested in is what would you (the users) want to see it
become. In particular, here are a few questions that I have on my head
right now:
- would anyone mind it if we used one of the popular (but large enough)
PHP frameworks, or is this OK?
- would anyone mind it if the framework we used was licensed under GPL
or some other non-BSD/non-MIT license?
- would anyone mind it if the new Vexim used more JavaScript and RESTful
APIs to do all the stuff (which I assume would make it unsuitable for
links/lynx)?
- would anyone want to join this rewrite? :)
- what about a name change? Vexim was never strongly tied to Exim (the
only "tie" being the config files we provide), so having "exim" in our
name might not be desired.
- anything else?

Rimas

Odhiambo Washington

unread,
Sep 16, 2015, 10:10:04 AM9/16/15
to Rimas Kudelis, vexim
Name change?? So you mean Vexim, the Exim part is irrelevant and it could be used with Postfix? Well, maybe. However, I always believed that it was tied to Exim. Then there's Exim4U too.
I don't use Vexim so much these days since I switched to Exim4U, but still it would be nice to have Vexim do complete virtual domains handling. including allowing FTP for the virtual domains, all managed from the UI. There are DB mods in the wild, for pureftpd integration. I'd want to see this even in Exim4U.
It would be a good idea to merge the two projects though - Vexim and Exim4U.




--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254733744121/+254722743223
"I can't hear you -- I'm using the scrambler."

Rimas Kudelis

unread,
Sep 16, 2015, 10:39:41 AM9/16/15
to ve...@googlegroups.com
Hi Odhiambo,

2015-09-16 17:09, Odhiambo Washington rašė:
> Name change?? So you mean Vexim, the Exim part is irrelevant and it
> could be used with Postfix? Well, maybe.

Yes it can! The only bit missing is a working config file. Avleen
himself stated a couple years ago that "it is deliberately decoupled",
and that he had even managed to make it work with Postfix a really long
time ago.

> However, I always believed that it was tied to Exim. Then there's
> Exim4U too.

I see Exim4U as a collection of utilities, Exim being one of them, so
that name fits them just fine, in my opinion.

> I don't use Vexim so much these days since I switched to Exim4U, but
> still it would be nice to have Vexim do complete virtual domains
> handling. including allowing FTP for the virtual domains, all managed
> from the UI. There are DB mods in the wild, for pureftpd integration.
> I'd want to see this even in Exim4U.

Whoa!
I, on the other hand, would like Vexim to be the best virtual mailbox
manager. I would like to see people migrating from Postfixadmin and
other similar tools to ours. Basically, I want us to conquer (this niche
part of) the world. If we can't do that, but some other open-source
project does, then I'd rather write migration scripts so that users can
easily convert to that other project, and discontinue our product. I was
never a fan of duplicating work for no reason other than "that other
project was not invented here".
Managing other services doesn't concern me that much, as I think there
are other tools (control panels) which do that just fine. Although, if
we make our architecture scalable enough, I don't see why having a
plugin to manage FTP hosting could not be an option.

> It would be a good idea to merge the two projects though - Vexim and
> Exim4U.

Again, at least I see Exim4U as a collection of tools, all configured to
work nice with each other. Vexim is just one of these tools, so merging
projects is not really necessary. However, what would benefit both
projects is if Exim4U could use Vexim without touching its core files,
and if they could extend Vexim as necessary with proper plugins. This
way both projects would benefit from bugfixes, whoever commits them, and
Gordon would not have to port commits manually from one repo to another
anymore. Now that both projects use Git, this is the direction that I
believe we should be taking.

Rimas

udera....@gmail.com

unread,
Sep 22, 2015, 12:30:29 PM9/22/15
to vexim
Hi,

in terms of new features, I'd like to have some features that are not available in other solutions:
- spam-traps
- ham/spam-training
- temporary mail addresses
- one time (throw-away) addresses
- authentication with client-certificates
- dkim
- dane
- zpush
- Sender-Rewriting-Scheme (https://github.com/Exim/exim/wiki/SRS)
- fetchmail
- end-user configuration via webmail plugin (no extra interface)

You could already integrate a lot of these features but we need a guide how to do this. Documentation is very important, people are not so patient any more to read long manuals in text-files. For debian, a *.deb-package would be great that users only need to enter a password, set their DNS and reverse-DNS entries and they can start to use vexim.

Rimas proposed some time ago to have a look at http://www.vimbadmin.net/ which has a modern interface but still lacks of some functions (especially spam-filtering).

But let's finish the 2.3 release first.

Udera


 

Avleen Vig

unread,
Oct 8, 2015, 10:10:08 PM10/8/15
to Rimas Kudelis, vexim
On Wed, Sep 16, 2015 at 9:06 AM Rimas Kudelis <r...@akl.lt> wrote:
Hi all,

since we're near 2.3, I think it's about time for us to start thinking
about what we want Vexim to be like in the future.

My personal wishlist for it would be somewhat like this:
- use a modern PHP framework for the basis

This would be a huge win.
One of the reasons it's so hard to make changes, is the lack of a decent framework, code and templates are completely intertwined.. it was my first serious PHP app :-) 
Let's move to something better.
Lightweight would be good. How about something like Slim?
It's pretty easy, doesn't get in the way. Then we just need an ORM :)

- allow plugging in external modules
- update the UI (obviously; also see below)

Yes!
 
What I'm interested in is what would you (the users) want to see it
become. In particular, here are a few questions that I have on my head
right now:
- would anyone mind it if we used one of the popular (but large enough)
PHP frameworks, or is this OK?

Whatever you folks want to use, I'm happy with.
My recommendation would be something lighter (like Slim). Symfony is nice, but it's really huge, and I'm not sure if there's a significant benefit to all that extra weight?
If there is, let's figure it out :)

Did you have a framework in mind?
 
- would anyone mind it if the framework we used was licensed under GPL
or some other non-BSD/non-MIT license?

If we're re-writing the whole thing, let's go with GPLv2 as the primary license.
If many other people are contributing, I think it makes sense.
 
- would anyone mind it if the new Vexim used more JavaScript and RESTful
APIs to do all the stuff (which I assume would make it unsuitable for
links/lynx)?

I wouldn't mind. It should be RESTful. And there's nothing wrong with JavaScript as long as the whole thing isn't written in AngularJS ;-)
 
- would anyone want to join this rewrite? :)

Yeah!
 
- what about a name change? Vexim was never strongly tied to Exim (the
only "tie" being the config files we provide), so having "exim" in our
name might not be desired.

I think we have a bit of a brand with Vexim. Or, at least, we did.
What could we rename it to? Again, not opposed to this :) But there's nice history associated with the existing name.
 
- anything else?

Rimas

Avleen Vig

unread,
Oct 8, 2015, 10:14:26 PM10/8/15
to Odhiambo Washington, Rimas Kudelis, vexim
On Wed, Sep 16, 2015 at 10:10 AM Odhiambo Washington <odhi...@gmail.com> wrote:
Name change?? So you mean Vexim, the Exim part is irrelevant and it could be used with Postfix? Well, maybe. However, I always believed that it was tied to Exim.

I did once! Back in v1. But I didn't use Postfix enough to maintain support and it wasn't much requested. It would be great to have proper support for it though!
 
Then there's Exim4U too.
I don't use Vexim so much these days since I switched to Exim4U, but still it would be nice to have Vexim do complete virtual domains handling. including allowing FTP for the virtual domains, all managed from the UI. There are DB mods in the wild, for pureftpd integration. I'd want to see this even in Exim4U.
It would be a good idea to merge the two projects though - Vexim and Exim4U.

Perhaps one day :-)
We can see how v3 goes, and then see if the Exim4U folks have some interest in doing this. But I think Vexim could do some really good things itself. 

Avleen Vig

unread,
Oct 8, 2015, 10:19:37 PM10/8/15
to Rimas Kudelis, ve...@googlegroups.com
On Wed, Sep 16, 2015 at 10:39 AM Rimas Kudelis <r...@akl.lt> wrote:
Whoa!
I, on the other hand, would like Vexim to be the best virtual mailbox
manager. I would like to see people migrating from Postfixadmin and
other similar tools to ours. Basically, I want us to conquer (this niche
part of) the world. If we can't do that, but some other open-source
project does, then I'd rather write migration scripts so that users can
easily convert to that other project, and discontinue our product. I was
never a fan of duplicating work for no reason other than "that other
project was not invented here".
Managing other services doesn't concern me that much, as I think there
are other tools (control panels) which do that just fine. Although, if
we make our architecture scalable enough, I don't see why having a
plugin to manage FTP hosting could not be an option.

One thing to keep in mind: I don't think this is necessarily very "niche".
Ok, it's not used by millions of people :)
But there are still many people running their own mail servers.

There are loads more who would run them if it were easy - Google, et al, make a lot of money with mail services because their services are *easy*.

Imagine if we had an AMI for AWS, which started a mail server running Vexim. Very simple, very easy. $30/month, as many users as your company wants to add.
vs $5/user/month with Google Apps.
There are decent open source calendaring solutions which we could bundle in or link to, too.
This is all possible without too much effort, and I think the desire for it is out there.
 
> It would be a good idea to merge the two projects though - Vexim and
> Exim4U.

Again, at least I see Exim4U as a collection of tools, all configured to
work nice with each other. Vexim is just one of these tools, so merging
projects is not really necessary. However, what would benefit both
projects is if Exim4U could use Vexim without touching its core files,
and if they could extend Vexim as necessary with proper plugins. This
way both projects would benefit from bugfixes, whoever commits them, and
Gordon would not have to port commits manually from one repo to another
anymore. Now that both projects use Git, this is the direction that I
believe we should be taking.

Yeah, I certainly agree with this too. 

Avleen Vig

unread,
Oct 8, 2015, 10:20:01 PM10/8/15
to udera....@gmail.com, vexim
This is an *awesome* list of features!

Rimas Kudelis

unread,
Oct 9, 2015, 3:17:28 AM10/9/15
to ve...@googlegroups.com
Hmm, good point. But I think this looks more like a spot for Exim4U as a
combination of products. Of course we could try to steal that spot, or
even merge projects as Odhiambo proposed.


Rimas

udera....@gmail.com

unread,
Oct 9, 2015, 6:08:33 AM10/9/15
to vexim
I think it is a good idea to use the growing awareness for privacy to spread vexim. But this requires that it is easy to install and gives a nice user experience. An end user probably prefers to manage his account/filtering/... details in his webmail interface. For installing debian-packages would be really great (for FreeBSD this already exists https://www.freshports.org/mail/vexim/ ?).
For postfix there is already this one: https://mailinabox.email/

Mr Sleeps

unread,
Nov 4, 2015, 9:03:04 AM11/4/15
to vexim, r...@akl.lt


On Friday, October 9, 2015 at 3:10:08 AM UTC+1, Avleen Vig wrote:

Lightweight would be good. How about something like Slim?


I second a small Framework, this doesn't need a full blown Framework, which will just bloat out the code for no real gain. I like the fact that vexim is currently small (and simple). It does however need a tart up of it's front end. If you are heading down the GPL2 route, why not modify an existing open source template, preferably one that works on something other than your computer (ala bootstrap template)? 

Rimas Kudelis

unread,
Nov 5, 2015, 2:23:01 AM11/5/15
to ve...@googlegroups.com
Hi,


2015-11-04 16:03, Mr Sleeps wrote:
> On Friday, October 9, 2015 at 3:10:08 AM UTC+1, Avleen Vig wrote:
>
>
> Lightweight would be good. How about something like Slim?
> http://www.slimframework.com/
>
>
>

I'm probably wrong, but my impression is that Slim, just like some other
microframeworks, is too concerned about URLs and hardly fits anything
more complex than a simple website with a few pages. Again, I might be
very wrong, but at least that's the impression I get from their examples
(e.g. the one on Slim's homepage). What I'd really like, at least now,
is a framework supporting (as in, making it really attractive to use)
the MVC pattern and implementing ActiveRecord objects.

> I second a small Framework, this doesn't need a full blown Framework,
> which will just bloat out the code for no real gain. I like the fact
> that vexim is currently small (and simple). It does however need a
> tart up of it's front end. If you are heading down the GPL2 route, why
> not modify an existing open source template, preferably one that works
> on something other than your computer (ala bootstrap template)?

I suppose I have a clarification to make: I asked about GPL because one
of the PHP frameworks (Fat-Free, or F3) is licensed under GPL. Other
than that, I do like our current BSD license and have no problems with it.

Regarding the template itself, Bootstrap is fine by me. Although it's
not the only contender: there's also Semantic UI
(http://semantic-ui.com/), and perhaps some other alternatives.

Rimas


Avleen Vig

unread,
Nov 11, 2015, 11:39:03 PM11/11/15
to Rimas Kudelis, ve...@googlegroups.com
On Thu, Nov 5, 2015 at 2:23 AM Rimas Kudelis <r...@akl.lt> wrote:
I'm probably wrong, but my impression is that Slim, just like some other
microframeworks, is too concerned about URLs and hardly fits anything
more complex than a simple website with a few pages. Again, I might be
very wrong, but at least that's the impression I get from their examples
(e.g. the one on Slim's homepage). What I'd really like, at least now,
is a framework supporting (as in, making it really attractive to use)
the MVC pattern and implementing ActiveRecord objects.

That sounds reasonable to me.
If this were Python, I would recommend Django.
I don't know what a good current PHP framework is that meets these needs.
Symfony?
Everything I know about Symfony makes it seem really big. But maybe that's the kind of framework we'll need.
 
> I second a small Framework, this doesn't need a full blown Framework,
> which will just bloat out the code for no real gain. I like the fact
> that vexim is currently small (and simple). It does however need a
> tart up of it's front end. If you are heading down the GPL2 route, why
> not modify an existing open source template, preferably one that works
> on something other than your computer (ala bootstrap template)?

I suppose I have a clarification to make: I asked about GPL because one
of the PHP frameworks (Fat-Free, or F3) is licensed under GPL. Other
than that, I do like our current BSD license and have no problems with it.

Regarding the template itself, Bootstrap is fine by me. Although it's
not the only contender: there's also Semantic UI
(http://semantic-ui.com/), and perhaps some other alternatives.

Whatever works. I've used Bootstrap a bunch and it works well enough.
If people don't have a strong opinion, let's go with that.
If someone really really likes Semantic or one of the others, we can give those a shot :)

Matt Darcy

unread,
May 13, 2016, 3:12:31 PM5/13/16
to vexim
I think caution has to be had here, it's a very good question.

changing the license to something new I don't see as a problem as long as it's a sane license.

changing the framework - I don't see as a problem, I'd rather someone with good php experience made a good choice here, so I wouldn't comment on them.
the caution I advise here is moving away from core cross-distro packages and excluding core linux and bsd versions.

to give you an example,

RHEL 7 currently ships PHP 5.4 and up to 5.6 (almost 5.7 I think) with the SCL builds
Ubuntu 16.04 currently ships PHP 7

While to a developer PHP 7 would be exciting to build for, doing so would exclude pretty much the biggest server provider on the internet.

That said I don't think sitting in the dark ages is a wise move, so looking at the older versions of say RHEL 6 - don't build to support that.

I'd say an evaluation of what the core OS's can support and cross-referencing those products would narrow down your options a bit.

I don't feel focusing the gui on browsers like lynx, elinks, links is a good use of time, the majority of people want a fully functional interface for a standard html browser, limiting that to allow for a minority that will use a text based browser doesn't seem a good move to me.

A modern interface, dynamic sizing, maybe even mobile compliant ?.

I think a clean and functional look without anything fancy would benefit the majority of people (that doesn't mean it can't look nice).
Your managing an email server not online shopping, so the focus in my view should be clean and compatible interface.

Not sure why you'd want to drop the exim part of the name, "v exim", virtual exim, pretty much says what it does out of the box.

Some interesting scope to make vexim grow would be the inclusion of pam / sssd integration libraries, so it can use / auth against other (at east for post master) other options than the internal DB, eg: the wordpress user table, so if you're running a wordpress site (just an example) you can use the same user/password/group to auth your mail server, which if you are running mailing lists, or virtual hosting, could be very useful to keep users/passwords in sync.

Just some opinions and options for thought.

Matt
Reply all
Reply to author
Forward
0 new messages