Re: [Mailman-Developers] Query regarding auto-reply mechanism
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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 dont 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.
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.
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.
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
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