Hi !
I updated my blog recently with the initial 3 weeks of my project
experience. Its been great so far, for I ve got to learn so much more than
I expected and hope to extract more from the coming time.
For the project, I ve successfully implemented the view for The Tasks,
List-Index, The Activity Tracker and The Graphical Stats Widget along with
a nav bar featuring a quick global search among lists, members and the
domains. The Dashboard's view is kept restricted based on the logged in
user's privileges. I am planning on refining the dashboard views,
refactoring and removing any code smells from the code for the coming time.
Any reviews over any UI updations required, widget functionality or overall
code structure would be greatly appreciated. This marks my current work
till mid terms along with testing and bug fixing upon which I am currently
working on.
Thanks for your consideration :)
Project Link :
https://code.launchpad.net/~bhavesh-goyal093/postorius/dashboard
Blog : towardsgsoc15.wordpress.com
--
Regards,
Bhavesh Goyal,
Computer Science Engineering,
IIIT Hyderabad
Hello all
I recently posted my "Pre-Mid-Term" report on my blog, here I would like to
mention few other details. Firstly I skipped week 3 from my timeline and
will
be going this week as per week 4. However I have successfully completed
most of work from week 5 to 10 so I have plenty of time to have your reviews
for the work till mid term. There will be no rush for the remaining work as
it
involves writing few tests and documentation. However I'm facing some issues
while calculating new recipients as per dlist preference but I think it
will be
solved in a day or two. I will need your reviews to modify/add to my work if
there is anything missing.
Blog : http://prany.github.io/dlist-pre-mid-term-report.html
--
*Pranjal Yadav*
*IIT Kharagpur*
On 06/19/2015 11:24 AM, khushboo surana wrote:
>
> In the mailman source code, I don't see the
> provision to process an unsubscription request through email, i.e,
> when a user sends an email with the subject 'Unsubscribe'. It is
> possible that the provision is there and I have missed it. If so,
> please correct me.
One sends the command 'unsubscribe' or 'leave' in the Subject: or the
first body line of a message to the LIST-request address.
The command is processed by src/mailman/commands/eml_membership.py. Some
docs are at
<http://mailman.readthedocs.org/en/latest/src/mailman/commands/docs/membersh…>
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
Hello all,
I am a GSoC student working on Syster's custom version of Mailman. I am
trying to record the stats for the number of users unsubscribed through
different means like email-confirmation, admin mass removal , etc.
More details here: http://systers.org/wiki/doku.php/f_dlist_stats_scripts
In the mailman source code, I don't see the
provision to process an unsubscription request through email, i.e,
when a user sends an email with the subject 'Unsubscribe'. It is
possible that the provision is there and I have missed it. If so,
please correct me.
I tried to check for myself if that functionality is there by sending
an email with the subject "unsubscribe", but that just appears in the
held messages of the admin interface waiting for moderator action.
Is there an existing functionality for unsubscription through email in
Mailman 3. If yes, what is its implementation design (just a brief
overview).
-Khushboo
On Jun 12, 2015, at 10:38 AM, khushboo surana wrote:
>I have also changed the 'on_delete()' method of the mailman/rest/members.py
>file to retrieve the data sent.
I'd like to see the diff, or the modified function.
>In the Core, I get the following logs:
>
>Traceback (most recent call last):
> File "/usr/lib/python3.4/wsgiref/handlers.py", line 137, in run
> self.result = application(self.environ, self.start_response)
> File "/home/khushboo/gsoc/mailman/src/mailman/database/transaction.py",
>line 57, in wrapper
> rtn = function(*args, **kws)
> File "/home/khushboo/gsoc/mailman/src/mailman/rest/wsgiapp.py", line 65,
>in __call__
> environ, start_response)
> File
>"/home/khushboo/gsoc/mailman/lib/python3.4/site-packages/falcon-0.3.0-py3.4.egg/falcon/api.py",
>line 182, in __call__
> responder(req, resp, **params)
>TypeError: on_delete() missing 1 required positional argument: 'response'
Is that the entire traceback? I would have expected to see the on_delete()
method mentioned there. There's probably a chained traceback in the log files
before the one you pasted.
Be sure you don't change the signature of the on_delete() method. That must
take exactly three arguments: self, request, and response. Normally, the way
on_patch() or on_post() dig parameters out of the data is through a
Validator() instance, which lists the parameters and their type conversion
methods. You can see examples of this all over the rest submodule methods.
But on_delete() (really the HTTP DELETE method) doesn't accept any arguments
since its purpose is to delete a resource.
I'm not sure what your best option is for recording the "mode" of the
deletion. I'm not sure whether it's technically acceptable to add data to a
DELETE method (the documentation and books I've consulted don't say either
way). But it would definitely be out of the ordinary for Mailman's REST API.
Even if it were acceptable, I think this on_delete() method would at least
have to accept and do something reasonable with zero arguments (i.e. the mode
would be optional).
Cheers,
Barry
Hello Barry,
I had the same (roundabout) problem as my peer in
regards to passing parameters to the REST API. For the
Systers-customized version of Mailman, I wanted to add an 'essay' field
to the member, such that someone trying to subscribe to our mailing list
would write an essay that could be stored. I made whatever changes to
the code I thought were necessary and then attempted to subscribe a
member myself.
This Google Doc highlights some code and errors that I ran into.
https://docs.google.com/document/d/1CbqZ_uONS-uEzVXoV8B198LmQoQ8vUqRspcJTdB…
My main question is: How deep do I need to go into the subscription workflow to add a single field?
Thanks,
Nafisa Shazia
Hello,
I am working on Mailman to implement report generations for unsubscription
stats like no. of members who unsubscribed through different modes like
email confirmation. web-confirmation, etc. ( For more details refer:
http://systers.org/wiki/doku.php/f_dlist_stats_scripts)
I made changes in the Mailman Model to add attributes for date and mode of
unsubsrciption in the member table. I also changed the unsubscribe() method
in mailman/model/member.py file to accept another parameter called 'mode'
and add that to the member table.
I am trying to change all the methods in the Client and REST API that
access the unsubscribe method, to pass the mode, but I am facing
problems.
In the mailmanclient/_client.py file I have made the following changes:
def unsubscribe(self, email, mode):
data = dict(mode = mode)
for member in self.members:
if member.email == email:
self._connection.call(member.self_link, data=data,
method='DELETE')
break
I have also changed the 'on_delete()' method of the mailman/rest/members.py
file to retrieve the data sent.
When I run mmclient in postorius and try to unsubscribe a member from the
list I get the following error:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/khushboo/gsoc/mailman.client/src/mailmanclient/_client.py",
line 619, in unsubscribe
self._connection.call(member.self_link, data=data, method='DELETE')
File "/home/khushboo/gsoc/mailman.client/src/mailmanclient/_client.py",
line 108, in call
raise HTTPError(url, response.status, content, response, None)
HTTPError: HTTP Error 500: A server error occurred. Please contact the
administrator.
In the Core, I get the following logs:
Traceback (most recent call last):
File "/usr/lib/python3.4/wsgiref/handlers.py", line 137, in run
self.result = application(self.environ, self.start_response)
File "/home/khushboo/gsoc/mailman/src/mailman/database/transaction.py",
line 57, in wrapper
rtn = function(*args, **kws)
File "/home/khushboo/gsoc/mailman/src/mailman/rest/wsgiapp.py", line 65,
in __call__
environ, start_response)
File
"/home/khushboo/gsoc/mailman/lib/python3.4/site-packages/falcon-0.3.0-py3.4.egg/falcon/api.py",
line 182, in __call__
responder(req, resp, **params)
TypeError: on_delete() missing 1 required positional argument: 'response'
I am trying to debug the problem but haven't been able to make much
progress. Can someone please help figure out the problem.
Thanks
Khushboo
Hi Danil,
On Sun, 7 Jun 2015 15:22:48 +0300
Danil Smirnov <danil(a)smirnov.la> wrote:
> I've sent simple html-formatted message with image inside the body to
> my Mailman 3 test list.
>
> On "Held messages" page there is 'View' button and it was
> disappointing that this feature
> just show a source code of message (35 thousand lines because of image
> attached).
Postorius just queries the core via REST API the for the message and
dumps the message code in the "View". Probably we need to identify if
the message contains a text/html part and then render that
appropriately.
> When I approve the message it went to the archive but with no proper
> html rendering also. The html was simple formatting and it become
> attachment.html file which even cannot be opened in place, just
> downloaded.
>
> Are there any plans to show html messages nicely in 'View' feature
> and archives?
Care to open an issue for it on Gitlab?
https://gitlab.com/mailman/postorius/issues
--
thanks,
Abhilash Raj
2015-06-08 12:22 GMT+03:00 Aurelien Bompard <aurelien(a)bompard.org>:
> I fixed it in HyperKitty and released a new tarballs a few days later,
> it should be OK but it's not officially supported for 3.0. There are a
> few missing features, like password reset, etc.
> To login with the internal database, set USE_INTERNAL_AUTH to True in
> your settings file.
Thank you Aurelien!
Could you please give us some details regarding the right way
of upgrade of Mailman 3?
We have good installation manual but there are lack of information
regarding the upgrade process.
It's important to have one because of the current development stage
is pretty dynamic.
Best,
Danil