Re: [Mailman-Developers] Query regarding auto-reply mechanism

2015-03-16 Thread Aanand Shekhar Roy
Please ignore the above mail, it was sent on 5th march, i dont know why it
came today .

 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013001%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Approach for Post-Throttling

2015-03-12 Thread Aanand Shekhar Roy
   database 1 will be required for counting post on threads, also,
   whether the threads are same or not will be decided according to
   the subject header.  For a subject header abc we consider the
   following subjects as the same: Re: abc Fwd: abc abc We will strip
   the prefixes Re, Fwd off before adding them to database 1.

 We already have code to do that kind of thing, if not in Mailman 3, in
 Mailman 2 (pipermail) and in HyperKitty.  Make sure you consider
 existing implementations, possibly including those outside of Mailman
 if they do a better job.

With the help of Richard and Aurelien Bompard, I found a better way to
group the threads, Hyperkitty currently use this
mechanism to group their threads, we will use In-Reply-To header of the
message to determine the thread instead of  using subject-header, by this,
user will not be able to bypass the throttling system by causing minor
changes in the subject.
By this, suppose the starting thread is abc and if the user replies to
this thread even by using different name in subject like def, then also it
will fall under the same thread.

To get it done, we will have to decompose the database 1 into 2 parts,
One mapping Message_IDs to
Threads,we will need to keep one of these records for every message,
not just every user/thread as someone may well reply to not the last
post by a user. (we can let them expire after a given period of
time)
1.user_id | msg_id | thread_id
Second the users activity on a given thread, the second
thus only needs one record per user-thread)
2.user_id | thread_id | count

One way to bypass this system is by composing new mail. This can also
be avoided to an extent if we provide limit on the number of new threads
one can start on the list.

Regards
Aanand

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Doubt regarding threads

2015-03-11 Thread Aanand Shekhar Roy

 There is also the problem of people just starting a new message with out
 using reply (or a digest user replying to the digest) which will place
 the message in a new thread.

 This is why I made the comment that per thread limits really need to
 be combined with some form of over-all limit or new-thread limit to
 minimize the ability to game the system.
Yes we can put limit on number of new threads one can start, but then we
will have to decide how muchWon't it depend on type of list ? Should
we be leaving it for list-admin to decide?


 --
 Richard Damon



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Query regarding auto-reply mechanism

2015-03-11 Thread Aanand Shekhar Roy
Hi ,
I have a doubt regarding auto-responding
Suppose I have posted my confidential information on mailing list, and the
list setting is neither accept nor discard any mails having
confidential information.Whether it should be posted or not depends on the
user .So I had to ask which one approach is better?
1.Including a command like accept_confidential at start of message or
subject.
or
2.Sending the mail, getting an auto-reply from reply-bot like  your mail
contains confidential info. reply with confirm   .




___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Doubt regarding threads

2015-03-11 Thread Aanand Shekhar Roy

 Most definitely, just as I hope the per thread limits are something
 the list-admin can control, as again, that is something very much list
 dependent. And again, those limits would be time rate based, not an
 absolute value.
Okay, I will try to think about an appropriate way to handle this issue.
You said that you run that kind of list where post-throttling will be
welcomed. I had a query, would you, as a list admin, want few people,
decided by you, to bypass this post-throttling mechanism?

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Doubt regarding threads

2015-03-10 Thread Aanand Shekhar Roy
 After enough exchanges, the reference line will get too long, and then
 the proper (per the RFC) procedure is to drop the oldest reference. (For
 threading to work in the MUA, it only needs the last couple to find the
 latest message that has been received and thread under it)

 There is also the fact that some MUAs will only reference the message it
 is a direct reply to with a Reply-To header and not process References
 at all.

What we can do, instead of having subject header for thread, we can look
upto in-reply-to header , if the msg has no in-reply-to header then we can
assume it as a starting thread, otherwise it is a part of some thread. So
the database 1 from which we were calculating count of posts on particular
thread will now look like:
User_Id | Msg_Id | Thread_Id | Count
here, if the in-reply-to header of user B is msg-id of any existing entry
in database1, then he is a part of that conversation.
By this, the user can't bypass the throttling system by causing minor
changes in the subject. Also, even if he try to change the Subject then
also it will fall under the same thread, because of the in-reply-to
header.
 There is also the problem of people just starting a new message with out
 using reply (or a digest user replying to the digest) which will place
 the message in a new thread.
Yes, thats a problem, but I'm all idea'd out on how to work this out. I
even asked Hyperkitty developer

 This is why I made the comment that per thread limits really need to
 be combined with some form of over-all limit or new-thread limit to
 minimize the ability to game the system.

 --
 Richard Damon



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Approach for Post-Throttling

2015-03-09 Thread Aanand Shekhar Roy
 I think you should provide an option to just throttle the user on a
given list, too.  Possibly with different default throttling
parameters.

Should I provide an option to combine both of these options into one ? Or
an option to use any one of the two throttlings?

 I don't see why you would have a separate table for messages.  Just add
the post_after_time attribute to the message's metadata.

Yes, since we will make changes in the msg metadata so now we will not
require database 2, database 1 will be required for counting post on
threads, also, whether the threads are same or not will be decided
according to the subject header.
For a subject header abc we consider the following subjects as the same:
Re: abc
Fwd: abc
abc
We will strip the prefixes Re, Fwd off before adding them to database 1.

Also I had to ask, would it be good if we provide the list-admin with an
option to bypass this throttling for some people? Like the
mailman-developers in this case, we may allow few mailman developers
bypass this throttling effect and those developers will be decided by the
list-admin.


Regards
Aanand
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Approach for Auto moderation system

2015-03-07 Thread Aanand Shekhar Roy
Hi, Does the following approach for auto moderation sound fine or am I on
the wrong path ?

I think we neet to make changes in handler to_outgoing.py in method process.
1) We need to make two databases :
Table1 Schema-  [ user_id | Thread name | list_id | count |
last_msg_posted_at ]
user_id, list_id, Thread name together act as primary key.
It stores the count of number of posts of a user on a particular thread
and the time corresponding to the last post.
Table2 Schema-
[message_id | user_id |Thread name| list_id |don't_post_before_time] here,
don't_post_before_time=(last_msg_posted_at)+(count/10)*d
where, d will be delay set by list-admin, eg 3 hrs.

2) The count variable is accessed from Table1.

3) When process is called and a new message entry comes:
   a) case 1: It is the first post by user on that thread then we create a
new entry in Table1 with count 1 and last_msg_posted_at_time = posting
time of that message. Then the corresponding entry is made in Table2
with new count and calculated don't_post_before_time.
  case 2: It is not the first post implies there is already an entry
in Table1 then we increase its count by 1 and we calculate
don't_post_before_time using count and last_msg_posted_at_time.
After making the corresponding entry in Table2 using values just
calculated we update last_msg_posted_at_time in Table1 with the value of
don't_post_before_time of this entry
b)Now we iterate over all entries in Table2 and whoever has
don't_post_before_time  current_time we remove the corresponding entry
form Table2 and enqueue it in outgoing queue else it stays in the
database.

Suppose, a...@gmail.com sends 9 messages to a list f...@foo.com on the
thread Questions,the last being sent at 4:00pm, then Table1 will look
like
[a...@gmail.com | Questions| f...@foo.com | 9 | 4:00pm]
Now, if the 10th msg comes,from this database, we will retrieve the
last_msg_posted_at before updating the tuple for the 10th msg and will
calculate
dont_post_it_before=last_msg_posted_at+(count/10)*d = 7:00pm, now the
last_msg_posted_at field in the first database will be updated and will be
equal to dont_post_it_before,  and these details will be used to create an
entry in Table2 database too.
Table1 will look like [a...@gmail.com | Questions| f...@foo.com | 10 | 7:00pm]
Table2 will look like [xyz | a...@gmail.com | Questions| f...@foo.com | 7:00pm]
Now we iterate over all entries and enqueue all that have
don't_post_before_time  current_time.
Remaining entries stay in the database and will be checked the next time
process is called.

Regards
Aanand
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Approach for Auto moderation system

2015-03-07 Thread Aanand Shekhar Roy
 One concern here is that Thread is a fragile term in email. Unless you
 are planning on some form of message body analysis to group messages
 together, you are going to need to rely on the In-Reply-To and
 References headers of the incoming email, which can have its
 difficulties. If you are going to thread by something else, like the
 subject, you may find people making minor changes in the subject to
 bypass the moderation.

Yes, I agree ,but having a system that curbs this problem will not again
be a very good solution, for eg. A thread regarding discussion on mailman2
can have the name of the thread Mailman 2, and for mailman3, the thread
will be named as Mailman 3. Now ,it can also appear that someone has
made a minor change to avoid moderation but it is not so.

 First, these headers are optional, and some mail agents may not generate
 them, and more importantly, the subscriber can bypass this linking by
 creating a reply as a new message thus bypassing the auto moderation.

Since I wish to implement this system as a plug-in it will be optional for
the list admins and having an MTA that generates headers can be kept as a
requirement.

 Second, there is an unreliability in these headers as they will not
 necessarily reference the start of the thread, but may only list
 messages later in the thread, and to get your Thread Name, you are
 going to have to keep a full history (for some period back) of messages
 and what thread you determined them to be in to figure out what thread
 this message is in.

What we can do is to remove general keywords like Re:[ ] and Fwd:[ ]
from the thread and then add to the database, so we don't need to store
all the history, just information about last one does the job, we check
that through Table1.

 This means that any system that ties to limit the rate in thread must
 also have a similar (but perhaps different value) limit on total
 postings or creation of new threads.

We do not aim at limiting threads or posts on a thread we are just slowing
it down to provide room to other users. If we decrease no of posts on a
thread it might affect the discussion going on as some threads are very
long and also important and can't be shortened.

Regards
Aanand

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-06 Thread Aanand Shekhar Roy

I am extremely sorry for behaving stupidly. I in no means meant to insult
you. You are far senior in all terms and I am ashamed to have dis-honoured
you unwillingly. I got a bit excited over that without thinking
rationally. I'll try my best not repeat such an illogical action in
future. I'll work for a better proposal for gsoc.
Sorry again.

Regards
Aanand


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-06 Thread Aanand Shekhar Roy
   Banned word plug-in, which was also then added to the wiki page of idea
   lists)
 As you know, I'm not a fan of this one.

This feature as a plug-in is desired by many list admins. So that they can
maintain a decency on the list and avoid usage of certain unwanted words.
I personally talked to some people about this as plugin and the response
was enthusiastic.
For eg. 1) If I run a list that takes feedback from customers about
services of my company provides , then I wouldn't want
abuses or indecent reviews since the list is public and might hurt
anyone's sentiments.
2) My list discusses on social causes and some anti social elements use
racial slurs and strong views against a particular group, I might want to
avoid this from the list.

I seek your reviews on this idea.

   and then if the time allows I will work on others like Timed
   Vacation, since I am willing to contribute to mailman even after
   Gsoc .

 This one I like, actually, except that the probable code size is
 small.  It's obviously useful, it will be obvious to users how to use
 it, it's obviously quite self-contained.  It's a winning feature.


I wish to combine it with other plug-ins that I am going to propose so
that together they can make a summer sized  project.

   Auto moderation system for limiting posts on a particular thread

I am trying to work around the approach that can be used to build such a
system. I will get back to you after I get something substantial on it.

Regards
Aanand


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] GSOC 2015: Willingness to contribute

2015-03-05 Thread Aanand Shekhar Roy
Hi Umang,

I would suggest setting up mailman would be a good start
http://gnu-mailman.readthedocs.org/en/latest/src/mailman/docs/WebUIin5.html

and from there your can to jump beginner friendly bugs on launchpad.

To get a better insight into mailman system, you can also go through their
documentation.



https://pythonhosted.org/mailman/src/mailman/docs/START.html

If you get stuck you can contact someone at IRC also, at #mailman on
freenode.






 I am Umang Arora, pursuing my Bachelor of Technology in Computer Science
 Engineering from IIIT DELHI India. I am really interested in working on
 the
 project titled “* A Dashboard for Admins/Owners/Moderators” *and*
 “Subscriber profile pages” * under your idea page for GSOC 2015. I am
 comfortable in c, c++, Java, Python, PHP, Ruby on Rails, MySQL etc. In
 past
 I have worked on creating a HR management system for an organization which
 actually involved features like profile pages and admin dashboard and was
 developed in PHP and MySQL.



 Apart from that I have worked on various web development and android
 projects. At present I am working on a SaaS project and another SNMP based
 occupancy management and analysis portal. You can go through my Github
 profile for the same: https://github.com/umangarora.



 For my proposal I would really love to get a head start from you guys. I
 would really appreciate if any of you would guide me forward and let me
 know about bugs to start from considering the projects I am interested in
 and any other documentation I must go through while working on this
 project.

 ​​

 *Umang Arora*
 IIIT-Delhi http://www.iiitd.ac.in/
 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013001%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-04 Thread Aanand Shekhar Roy
Hi,
I have a doubt regarding auto-responding
Suppose I have posted my confidential information on mailing list, and the
list setting is neither accept nor discard any mails having
confidential information.Whether it should be posted or not depends on the
user .So I had to ask which one approach is better?
1.Including a command like accept_confidential at start of message or
subject.
or
2.Sending the mail, getting an auto-reply from reply-bot like  your mail
contains confidential info. reply with confirm   .

Regards
Aanand



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-03 Thread Aanand Shekhar Roy
Thanks Steve for guiding me through. I am working on your advise.

 Aanand Shekhar Roy writes:

   I was wondering if this approach for creating the plug-in would work:
   When the plugin is installed, its .config file will check if required
   interfaces are present in the local machine and find and install the
 code
   of plug-in at required place in local machine. A new Rule gets added(by
   .config file) in src/mailman/rules that uses IRule interface which
 checks
   our requirements(i.e. confidential information check, banned words
 etc).
   This rule will be added in src/mailman/chain. The rule is checked when
   chain runs and takes the action set corresponding to the rule. We make
 a
   module implementing IHandler that modifies the text before forwarding
 it
   in the pipeline in which the whole process is running.

 I think you're getting way ahead of yourself.

 The normal installation process is for the site administrator or the
 host administrator to just copy the plugin module into the
 installation, pip any supporting modules from PyPI, and add the
 Handler or Rule to the appropriate pipeline or chain by editing the
 site config or (for list-local features) the list config.  I don't see
 a need for .configs that check interfaces and install code.  Why
 do you think you need such things?

 Since all of the features you've mentioned so far are mutators, I
 don't really see a need for Rules.  Implement the checks in the
 Handler.  Either you'll need to duplicate those checks anyway to find
 the places that need changing, or you'll need to invent a rather
 complex protocol to tell the Handler that does the modification what
 to do.

 Yes, the Handler will implement IHandler.



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-02 Thread Aanand Shekhar Roy
Hi,
I was wondering if this approach for creating the plug-in would work:
When the plugin is installed, its .config file will check if required
interfaces are present in the local machine and find and install the code
of plug-in at required place in local machine. A new Rule gets added(by
.config file) in src/mailman/rules that uses IRule interface which checks
our requirements(i.e. confidential information check, banned words etc).
This rule will be added in src/mailman/chain. The rule is checked when
chain runs and takes the action set corresponding to the rule. We make a
module implementing IHandler that modifies the text before forwarding it
in the pipeline in which the whole process is running.

 Aanand Shekhar Roy writes:

   I was seeking was how to integrate it with the existing src of
   mailman in a user's computer.

 You don't integrate [a plugin] with source.  The point of what is
 conventionally meant by plugin is that you can add it to an existing
 installation, and it will just work.

 In Mailman, enabling a handler is done by adding the handler module
 (either as Python source, which will be automatically compiled, or as
 a precompiled .pyc) to the handlers directory in the installation.
 Any packages imported by the plugin can be placed anywhere on the
 PYTHON_PATH.

 To actually configure the plugin for use, you install it in the
 appropriate place in a pipeline or chain.  The defaults are kept in
 pipelines.py and chains.py.  I suppose that you can also add them in
 config/mailman.cfg, but I'm not sure of the syntax (I haven't tried to
 do this and don't see any documentation or examples in the obvious
 places).  It should also be possible to add handlers to pipelines for
 individual lists, I guess.



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Query regarding plugin integration with mailman3

2015-03-01 Thread Aanand Shekhar Roy

I am a bit under confusion here, I thought Chain handlers and rules were
to be used to create the modules that implement the plug-ins (which i had
mentioned in my previous mail, subject:Approach for plugin ideas), what
I was seeking was how to integrate it with the existing src of mailman in
a user's computer. I was wondering how the modules will get connected to
mailman src after they are downloaded and installed.
Which is by making a config file and setup.py file.
Am i missing something here

 See

 src/Mailman/mailman/src/mailman/core/chains.py
 src/Mailman/mailman/src/mailman/core/pipelines.py

 [@Barry This stuff seems kinda underdocumented, at least in this module?]

 This is not the way to create a plugin for a Python program.  The
 chains and pipelines code show the right way to do that: create a
 simple module that Python can import given its name, and then have
 that module do any further loading of code necessary for the plugin
 implementation.

 The question that remains is whether a chain (which is used to check
 whether a message should be distributed at all) or a pipeline handler
 (which manipulates messages) is sufficient for the plugins you
 envision.  I don't see why they would not be -- they are quite general
 mechanisms -- but there may be edge cases I haven't thought of.

 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013165%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Query regarding plugin integration with mailman3

2015-02-28 Thread Aanand Shekhar Roy
Can someone tell me if the following way is suitable for implementing a
plug in on mailman3 :

A folder contains all the .py codes needed to implement the plugin feature
aimed. In that folder we make an executable file i.e. .sh file, which runs
the script that adds the code mentioned above in the right places of
mailman3 src code.

Regards,
Aanand
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] GSoC 2015 aspirant: Github/development tools integration

2015-02-28 Thread Aanand Shekhar Roy
Hi Karan,

I would suggest setting up mailman would be a good start
and from there your can to jump beginner friendly bugs on launchpad.

To get a better insight into mailman system, you can also go through their
documentation

http://wiki.list.org/DEV/A%205%20minute%20guide%20to%20get%20the%20Mailman%20web%20UI%20running

https://pythonhosted.org/mailman/src/mailman/docs/START.html

If you get stuck you can contact someone at IRC also, at #mailman on
freenode.




 Hi Developers,

 I am final year computer science engineering student from UPTU. I want to
 contribute to the organization by becoming a part of GSoC 2015. I know
 C/C++, Python, Javascript.
 I went through project ideas of Mailman and found Github/development
 tools
 integration interesting. Please guide me for the next step. I want to
 start exploring asap to get good grasp of the platform required.

 Thank You,

 Karan Dev
 Github: https://github.com/karan10
 Blog: https://karandevjre.wordpress.com
 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013001%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Approach for plugin ideas

2015-02-27 Thread Aanand Shekhar Roy

Based on the discussion with @Abhilash, Below is the modified   approach
for plugin ideas:

*Banned Words*:

 1. We create a common set of words that are to be banned in a mail.

 How do you create such a list, who decides which words are banned?

 Would it be possible to add/remove words from these lists from postorius?

We create a default list of such words, like common racial and abusive
words, the list will be displayed on the UI along with which we will
provide two buttons add or remove which can allow list admin to modify
it.

 Will this list be list specific or global to one mailman installation?

By default this list will be global to one mailman installation.But then,
it can be modified as per needs of the list admin so it will be specific
in general.

 2. In list settings we create an option for list admin to choose action
taken if a mail has banned words.
 What according to you should be sane default for this?
 Is is possible that
 the banned words be removed or replaced with ** and the mail be sent
to
 the list so as to ease the life of list-admins?


Yes it is possible in the pipeline of handlers where we can extract and
modify message string object, so the sane default will be replacing the
banned word with . But the UI will provide
options to list admin to change the default to accept or discard.

 3. We need to create a new rule in src/mailman/rules that checks
 for banned words in a msg string.
 4. This rule is to be implemented in
 src/mailman/chains/builtin.py
 where it takes the action as chosen by list admin and then the control is
 passed further depending on the action taken.

*Confidential Information Check*:

 1. We need to create another rule which check for confidential info. like
 phone no and address credit card no. using regexp search.
 How do you do that check? How can you differentiate any number from
phone number,

Below is a regex for a 7 or 10 digit number, with extensions allowed,
delimiters are spaces, dashes, or periods :
For example: For numbers like (123) 456 7899, this helps in catching the
ones with an area code in parentheses ([0-9]\{3\})[ .-][0-9]\{3\}[
.-][0-9]\{4\}
We can extend it further to accommodate other international phone-numbers
as well.

  or credit card number? (Using reg-ex, yes, but what would the rules
be?)

For credit-card numbers like:

Visa : ^4[0-9]{12}(?:[0-9]{3})?$ All Visa card numbers start with a 4. New
cards have 16 digits. Old cards have 13.

MasterCard: ^5[1-5][0-9]{14}$ All MasterCard numbers start with the
numbers 51 through 55. All have 16 digits.

 Why is address a confidential information

It depends, for some lists it could be a confidential information.

and how do you actually decide what
 level of confidentiality you want to maintain? Will that be
 configurable per-list or
 globally in a mailman installation?

We can provide provide checkboxes in postorius which will allow list admin
to mark  on the required fields.
Like 1,Phone number
  2,Credit-card No.
  3,Address, etc.

 2. If found we hold that message, and then we send an auto-reply to
sender
 asking for confirmation if he
 intends to post such information.
 3. This system works similar to the mail-back verification procedure
during confirmation of email while subscribing where potential
 subscriber's reply decides the further action to be taken.

 How will you parse the response of the sender, will there be a
 pre-defined format
 like email commands in mailman?
Yes, we will have some commands like say OK-forward in reply that will
let it proceed further and No-discard if we don't want to.
Will you provide option in postorius too for the
 same? If yes, how?

No, keeping same settings will remove the flexibility, sometimes I would
like to provide my phone number and sometimes no, so email command would
be a better option.

 4.Based on the user's response the held message will be processed
further.

 Where will the message be stored while mailman waits for the reply from
the sender?

We will have to make a queue similar to held message queue for this purpose.

 Will there be a timeout for response after which the email will
 automatically be
 rejected (or discarded? )
 or will mailman wait forever for the
 response? If you plan
 to timeout what would be default value?

The timeout will be there for a week after which it will be discarded.

 TIMED VACATION:

First, I will try to implement above two ideas and if the time frame will
allow then I would proceed on this further, otherwise I would like to make
this one after Gsoc period.










___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: 

Re: [Mailman-Developers] Approach for plugin ideas

2015-02-25 Thread Aanand Shekhar Roy
Hi Abhilash,
Thanks for guiding me through. I'll work on the details as suggested by
you. :)

 Hi Aanand,

 On 23 February 2015 at 17:11, Aanand Shekhar Roy 2013...@iiitdmj.ac.in
 wrote:
 Hi everyone,

 This is my approach for plug-in ideas :

 BANNED WORDS:
 1. We create a common set of words that are to be banned in a mail.

 How do you create such a list, who decides which words are banned?
 Will this list be list specific or global to one mailman installation?
 Would it be possible to add/remove words from these lists from postorius?

 2. In list settings we create an option for list admin to choose action
 taken if a mail has banned words.

 What according to you should be sane default for this? Is is possible that
 the banned words be removed or replaced with ** and the mail be sent
 to
 the list so as to ease the life of list-admins?

 3. We need to create a new rule in mailman/src/mailman/rules that checks
 for banned words in a msg string.

 When you mention url relative to a project, you don't need to add the name
 of
 the root directory. Like 'mailman/src/mailman/rules' should be
 'src/mailman/rules/'.
 Also, include them inside quotes to differentiate it from normal text.

 4. This rule is to be implemented in
 mailman/src/mailman/chains/builtin.py
 where it takes the action as chosen by list admin and then the control
 is
 passed further depending on the action taken.

 CONFIDENTIAL INFORMATION CHECK:
 1. We need to create another rule which check for confidential info.
 like
 phone no and address credit card no. using regexp search.

 How do you do that check? How can you differentiate any number from
 phone number,
  or credit card number? (Using reg-ex, yes, but what would the rules be?)
 Why is address a confidential information and how do you actually decide
 what
 level of confidentiality you want to maintain? Will that be
 configurable per-list or
 globally in a mailman installation?

 2. If found we hold that message, and then we send an auto-reply to
 sender
 asking for confirmation if he
 intends to post such information.
 3. This system works similar to the mail-back verification procedure
 during confirmation of email while subscribing where potential
 subscriber's reply decides the further action to be taken.

 How will you parse the response of the sender, will there be a
 pre-defined format
 like email commands in mailman? Will you provide option in postorius too
 for the
 same? If yes, how?

 4.Based on the user's response the held message will be processed
 further.

 Where will the message be stored while mailman waits for the reply
 from the sender?
 Will there be a timeout for response after which the email will
 automatically be
 rejected (or discarded? ) or will mailman wait forever for the
 response? If you plan
 to timeout what would be default value?

 TIMED VACATION:
  In  member's preference form we already have an option for enabling and
 disabling mail delivery. We can
 extend it to another option called Vacation period which takes the
 duration of vacation and disables receiving emails and
 automatically enables mails after the vacation period ends.

 This project is about *plugins* and not extending core to do such things.
 Once it is decided what and how the filtering is to be done, its fairly
 easy to
 write a  rule. What you need to figure out is how to actually add this as
 an
 optional plug-in to mailman. If you make the options configurable by
 list-admin
  you would need to add options in postorius as well, again as a plug-in.

 Have you read if mailman supports plug-ins at all right now? If yes, how?
 If no,
 how will you do that? You have suggested 4 ideas for plugins, but I
 think it would
 be better if you choose any two of them which you can best implement in
 the time
 frame given to you. In case you finish early, you can extend your
 project and create
 more plugins.

 I hope my questions help you figure out the minute details of your
 project.

 thanks,
 Abhilash



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Approach for plugin ideas

2015-02-23 Thread Aanand Shekhar Roy
Hi everyone,

This is my approach for plug-in ideas :

BANNED WORDS:
1. We create a common set of words that are to be banned in a mail.
2. In list settings we create an option for list admin to choose action
taken if a mail has banned words.
3. We need to create a new rule in mailman/src/mailman/rules that checks
for banned words in a msg string.
4. This rule is to be implemented in mailman/src/mailman/chains/builtin.py
where it takes the action as chosen by list admin and then the control is
passed further depending on the action taken.

CONFIDENTIAL INFORMATION CHECK:
1. We need to create another rule which check for confidential info. like
phone no and address credit card no. using regexp search.
2. If found we hold that message, and then we send an auto-reply to sender
asking for confirmation if he
intends to post such information.
3. This system works similar to the mail-back verification procedure
during confirmation of email while subscribing where potential
subscriber's reply decides the further action to be taken.
4.Based on the user's response the held message will be processed further.

TIMED VACATION:
 In  member's preference form we already have an option for enabling and
disabling mail delivery. We can
extend it to another option called Vacation period which takes the
duration of vacation and disables receiving emails and
automatically enables mails after the vacation period ends.

AUTO-MODERATION SYSTEM FOR LIMITING POST:
I want your suggestions on how to approach this issue.

Also,I wish to seek your views on these approaches.














___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Prospective applicant for GSoC-2015

2015-02-21 Thread Aanand Shekhar Roy
Hi,
Welcome!
You may start off by setting up your development environment. You may
refer to
http://wiki.list.org/DEV/A%205%20minute%20guide%20to%20get%20the%20Mailman%20web%20UI%20running
.If you run into any problem, you can also contact on IRC channel
#mailman. :)

 Hello!
 My name is Aditya, studying Computer Science at Bangalore. I am currently
 in the third year and have good experience with Python.
 How may I start contributing to mailman?

 Regards,

 --
 Aditya Dalwani
 P.E.S Institute of Technology,
 Bangalore, India
 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013001%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9



___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Plug-in Ideas for Gsoc 2015

2015-02-20 Thread Aanand Shekhar Roy
Hi everyone,

We had discussed few plug-in ideas here among which following were found
to be suitable:

1.Automoderation system for limiting post - Fexible automoderation system.
Lot of moderators (and even more subscribers!) who would love to have long
threads throttled (the first 10 messages delivered immediately, the next
10 with 3 hours delay, the next 10 with 6 hours delay, and after that
doubling delay every 10 posts.

2.Asking for confirmation if a member's post include confidential
information.

3.Timed vacations, allowing a user to postpone or discard emails on some
lists for a
certain number of days or weeks.

So,I wish to ask can we put (1) and (3) on mailman wiki page of idea list
for Gsoc'15.

Among all ideas that have been accepted and discussed,I am interested in
the following:

The three mentioned above along with Banned word list as mentioned on the
wiki.

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Building plug-ins for mailman.

2015-02-18 Thread Aanand Shekhar Roy
Thanks everyone for your invaluable suggestions,I was also thinking about
having features as plug-ins like

1.As discussed with @Rashi007-Timed delay or timed delivery of messages -
Suppose I wish to post a
message to list but instead of composing and sending I prefer to send it
delayed like I wish to post a message at 4am but since i would be sleeping
at that time so what I can do,I will post my message at 10pm at night and
a delaying or timed delivery plugin can deliver it at 4am.

2.Limited post by specific members - Being the list owner, I wish to
restrict the number of posts one can do on the mailing list.Like a
specific set of members can post 1 post per day,another set of members can
do 10 posts per day.

3.Gmail has a plug-in system that allows listing of all your email
subscriptions and unsubscribe with one-click from every list you don’t
read anymore...that will save much time unsubscribing to a lot of email
lists and newsletters that you never read.Can we have one for mailman?


Based on the discussions held previously on this topic,few ideas that have
been found suitable are:

1.Timed vacations, allowing a user to postpone or discard email for a
certain number of days or weeks.

2.Asking for confirmation if a member's post include confidential
information.


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Building plug-ins for mailman.

2015-02-17 Thread Aanand Shekhar Roy
Hi,everyone
I was researching a bit more for plug-in ideas for mailman 3 and I
stumbled upon the wishlist of mailman on wiki,it was mentioned that it is
outdated so I had to ask you all whether the following ideas have been
implemented yet or not?

1.Provide downloadable tar.gz's of the html archives.
2.Timed vacations, allowing a user to postpone or discard email for a
certain number of days or weeks.


I find them interesting and am thinking of having them as plug-ins.


Regards!
*Aanand Shekhar Roy*
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Building plug-ins for mailman.

2015-02-15 Thread Aanand Shekhar Roy
 Original Message 
Subject: Re: [Mailman-Developers] Building plug-ins for mailman.
From:Aanand Shekhar Roy 2013...@iiitdmj.ac.in
Date:Mon, February 16, 2015 9:32 am
To:  2013...@iiitdmj.ac.in
--
Hi everyone,

 * Aanand Shekhar Roy 2013...@iiitdmj.ac.in:
 Hi all,
 I am currently finding good plugin ideas that might make there way into
 mailman 3 system.I had discussed the same with @terri on irc.Some ideas
 i
 have already found good are:
 1. DNS BlockList

 where would you put DNSBL support?

 On SMTP level? I'd let the MTA take care of it.
 On HTTP level? I'd let the HTTP take care of it.


1. I totally agree with you that DNSBL suits better in MTA, my interest on
bulding it as a plugin is for the reason that a user might want to block a
particular domain not because it is a spam but due to reasons better known
and genuine to him or her.To let let them do that with ease without
worrying about shell access and other complexities.


 Sorry, if I sound harsh. I don't mean it. I just can't imagine where DNSBL
 would make sense without reinventing something that has been done yet.




 3. SpamAsassin as it is

 I'd leave that to an MTA too, unless there's a non-SMTP way how mail
 enters
 mailman.

 p@rick


 Spamassasin is better placed in the MTA support and works quite more
effieciently but again for the ease of acces for some list admins who
want to keep there spam level threshold low or high according to their
needs may find it difficult to regulate it without an easy available
chunk in user interface.Also option for marking a domain spam (I am not
sure but as far as my knowledge about it is ,it isn't there yet in
mailman3) might be a good idea

 2. Confirmation from user before posting phone nos in email
 --
 [*] sys4 AG


I am going through the archives of user-list to gain more insight on
this topic.This one by far sounds the most interesting.Also,as suggested
by Stephen J. Turnbull,i am thinking of extending it further to other
confidential
Thanks everyone for correcting me.I have also thought of a few more ideas,
reading about them before discussing them here.
Aiming towards more improvement in these ideas..



 https://sys4.de, +49 (89) 30 90 46 64
 Franziskanerstraße 15, 81669 München

 Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
 Vorstand: Patrick Ben Koetter, Marc Schiffbauer
 Aufsichtsratsvorsitzender: Florian Kirstein

 ___
 Mailman-Developers mailing list
 Mailman-Developers@python.org
 https://mail.python.org/mailman/listinfo/mailman-developers
 Mailman FAQ: http://wiki.list.org/x/AgA3
 Searchable Archives:
 http://www.mail-archive.com/mailman-developers%40python.org/
 Unsubscribe:
 https://mail.python.org/mailman/options/mailman-developers/2013001%40iiitdmj.ac.in

 Security Policy: http://wiki.list.org/x/QIA9


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Building plug-ins for mailman.

2015-02-14 Thread Aanand Shekhar Roy
Hi all,
I am currently finding good plugin ideas that might make there way into
mailman 3 system.I had discussed the same with @terri on irc.Some ideas i
have already found good are:
1. DNS BlockList
2. Confirmation from user before posting phone nos in emails
3. SpamAsassin as it is
I wish to ask you all about other problems that mailman users face that
may be solved by a plugin application or any other ideas you wish to see
in the form of plugins .Any suggestions would be of great help.
Thanks in advance
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


[Mailman-Developers] Getting error with the tests mailman3 core

2015-02-12 Thread Aanand Shekhar Roy

Hi,
I am working on bug #967951.Following is the diff file for my changes.
http://pastebin.com/x7LMiTCR
I am getting the following error on running the tests.
http://pastebin.com/NFU3Gbrc
Can someone please help as i unable to understand why i am getting these
errors!
Any help would be appreciated

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9