[Mailman-Users] Archives! Two neat demos from my GSoC students

2010-10-26 Thread Terri Oda
As some of you may know, Mailman had a bunch of Google Summer of Code 
students working on our codebase via Systers, which hired students to do 
improvements on their Mailman-based list infrastructure.


I was mentoring for the project which worked on the archives, where we 
had two students, Yian Shang who worked on the web interface for the 
archives, and Priya Iyer who worked on integrating search.  They've 
produced some great demos that you all need to see, and some code that 
I'd really like to see integrated into Mailman 3.


I was going to forward their final summaries to the lists, but since 
they're quite long, here's the things I'd like you all to check out 
first and foremost.  There's two neat demos here!


#1:

Yian's been working on a variety of UI infrastructure improvements (note 
that in this case, she's working at the code to support the UI, not the 
graphics and theming, so this may not *look* fancy but it *behaves* 
really well)


Her threaded conversation demo is here:
http://dev.systers.org/pipermail/testing/all/conversation-3.html

and note that you can actually click through and read messages there, so 
try poking around those archives and see how you like them!


And you might be interested in hearing about the use cases that went 
into threading and quote detection that made that demo possible.  Many 
of you may have answered the surveys I sent out on her behalf which were 
used to generate these use cases!  She's got a whole series of posts on 
it, but here's one of interest:

http://movicont.nfshost.com/blog/mailman-archives-ui-added-automatically-detecting-quotes-support

#2:

Priya's search demo is here:
http://lists.priyakuber.in/cgi-bin/mailman/mailocate/search.py

She'd originally hoped to find and integrate an existing search package, 
but licensing proved to be an issue for upstream contribution, so she 
wound up implementing her own.  You can search a string, a phrase, 
wildcard searches with *, by author, by subject, and using some basic 
operators (AND OR NOT all work).  It's got a basic spell check, though 
she expects that will need to be improved.


The documentation is here: 
http://systers.org/systers-dev/doku.php/doumentation-priya
And the code is here: 
http://github.com/beachbrake/Mailocate/tree/master/demo/


-

I've cc'ed mailman-users on this email since many people there contributed to 
the surveys we used to develop use-cases, but follow-ups should probably go to 
mailman-developers!


Terri

--
Mailman-Users mailing list Mailman-Users@python.org
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org


[Mailman-Users] Follow up to a Lock problem.

2010-10-26 Thread Llewellyn Curran
Hi All,

I've summarized my issue below, and I would like to say I have around 215K
subscribers on a Dedicated Server With a Quad Xeon CPU and 4GB's Ram. Most
notably Mailman chews up around 2GB's+ of Ram but completely max's my CPU
usage in top on CentOS. Python runs about 98% to 100% - I suspect this is
from a mail drop going on however it doesn't explain below. Please read on.

Mailman Version: 2.1.9

Symptoms:
I had an issue a month or so ago where my web interface on 
http://mysite.com/mailman/admin/mylist; would lock up on login, and I
couldnt access that list. The other lists I could access no problems. I was
guided to  the FAQ at http://wiki.list.org/x/noA9 by Mark S. and that
temporarily relieved the problem. I find now that I have to completely
delete my locks everytime I want to go to a new location in the admin
interface. I have included some errors from the locks log below. Can you
assist me?

Errors:
[r...@x mailman]# tail -50 /var/log/mailman/locks
Oct 26 21:13:56 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/IncomingRunner.py, line 115, in _dispose
Oct 26 21:13:56 2010 (17763)
mlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)
Oct 26 21:13:56 2010 (17763)   File /usr/lib/mailman/Mailman/MailList.py,
line 161, in Lock
Oct 26 21:13:56 2010 (17763) self.__lock.lock(timeout)
Oct 26 21:13:56 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 287, in lock
Oct 26 21:13:56 2010 (17763) self.__linkcount(), important=True)
Oct 26 21:13:56 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 416, in __writelog
Oct 26 21:13:56 2010 (17763) traceback.print_stack(file=logf)
Oct 26 21:13:58 2010 (17763) xlt.lock unexpected linkcount: 1
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/bin/qrunner, line
278, in ?
Oct 26 21:13:58 2010 (17763) main()
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/bin/qrunner, line
238, in main
Oct 26 21:13:58 2010 (17763) qrunner.run()
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 71, in run
Oct 26 21:13:58 2010 (17763) filecnt = self._oneloop()
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 112, in _oneloop
Oct 26 21:13:58 2010 (17763) self._onefile(msg, msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 170, in _onefile
Oct 26 21:13:58 2010 (17763) keepqueued = self._dispose(mlist, msg,
msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/VirginRunner.py, line 38, in _dispose
Oct 26 21:13:58 2010 (17763) return IncomingRunner._dispose(self, mlist,
msg, msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/IncomingRunner.py, line 115, in _dispose
Oct 26 21:13:58 2010 (17763)
mlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/MailList.py,
line 161, in Lock
Oct 26 21:13:58 2010 (17763) self.__lock.lock(timeout)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 287, in lock
Oct 26 21:13:58 2010 (17763) self.__linkcount(), important=True)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 416, in __writelog
Oct 26 21:13:58 2010 (17763) traceback.print_stack(file=logf)
Oct 26 21:13:58 2010 (17763) xlt.lock unexpected linkcount: 1
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/bin/qrunner, line
278, in ?
Oct 26 21:13:58 2010 (17763) main()
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/bin/qrunner, line
238, in main
Oct 26 21:13:58 2010 (17763) qrunner.run()
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 71, in run
Oct 26 21:13:58 2010 (17763) filecnt = self._oneloop()
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 112, in _oneloop
Oct 26 21:13:58 2010 (17763) self._onefile(msg, msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/Runner.py, line 170, in _onefile
Oct 26 21:13:58 2010 (17763) keepqueued = self._dispose(mlist, msg,
msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/VirginRunner.py, line 38, in _dispose
Oct 26 21:13:58 2010 (17763) return IncomingRunner._dispose(self, mlist,
msg, msgdata)
Oct 26 21:13:58 2010 (17763)   File
/usr/lib/mailman/Mailman/Queue/IncomingRunner.py, line 115, in _dispose
Oct 26 21:13:58 2010 (17763)
mlist.Lock(timeout=mm_cfg.LIST_LOCK_TIMEOUT)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/MailList.py,
line 161, in Lock
Oct 26 21:13:58 2010 (17763) self.__lock.lock(timeout)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 287, in lock
Oct 26 21:13:58 2010 (17763) self.__linkcount(), important=True)
Oct 26 21:13:58 2010 (17763)   File /usr/lib/mailman/Mailman/LockFile.py,
line 416, in __writelog
Oct 26 21:13:58 2010 (17763) traceback.print_stack(file=logf)
[r...@x mailman]#

-- 
Llewellyn