<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ticket search results</title><link>https://forge-allura.apache.org/p/allura/tickets/</link><description>You searched for assigned_to:"rick446"</description><language>en</language><lastBuildDate>Thu, 20 Aug 2015 22:07:57 -0000</lastBuildDate><item><title>Rework Ming's DataStore to simplify connections</title><link>https://forge-allura.apache.org/p/allura/tickets/4603/</link><description>The code in ming.datastore has multiple problems

- it replicates existing pymongo functionality
- it doesn't support ReplicaSetConnections (which is the only way you can do `read_preference`)
- its support for master/slave replication is rather first class for a deprecated deployment scenario

Rip out the existing datastore/engine and replace it with something that returns native pymongo objects (`mim.Connection`, `Connection`, `ReplicaSetConnection`, or `MasterSlaveConnection` rather than `Engine` and `Database` rather than `DataStore`)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick Copeland</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/4603/</guid></item><item><title>Change links to use rel=nofollow instead of going through /nf/redirect?path=</title><link>https://forge-allura.apache.org/p/allura/tickets/3960/</link><description>All markdown-rendered links go through /nf/redirect which AFAIK was to avoid google juice going to external links.  However, that is annoying and clean direct URLs are much more useful.  We should generate regular direct URLs, and instead put rel=nofollow on the `&lt;a&gt;` tag.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:56 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3960/</guid></item><item><title>Discussion Forum description displays link as html code [24936]</title><link>https://forge-allura.apache.org/p/allura/tickets/3940/</link><description>https://sourceforge.net/apps/trac/sourceforge/ticket/24936

&gt;goto this link

&gt;https://sourceforge.net/p/openantz/discussion/

&gt;notice that the link in the 'Description' field for General Discussions displays as html code rather then a proper 'blue' link...
if you click on 'General...' then the topic page displays properly (blue link, no html code.)

&gt;cheers, Shane

Not sure if we want to allow, or disallow html/markup in forum descriptions, but either way, we should be consistent.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Tsai</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:53 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3940/</guid></item><item><title>Create a user_activity wiki macro</title><link>https://forge-allura.apache.org/p/allura/tickets/3923/</link><description>The macro should pull all items from the user's Feed items.
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick Copeland</dc:creator><pubDate>Fri, 09 Jan 2015 10:17:20 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3923/</guid></item><item><title>Create a project_activity wiki macro</title><link>https://forge-allura.apache.org/p/allura/tickets/3922/</link><description>The macro should pull all items from the project's Feed items.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick Copeland</dc:creator><pubDate>Mon, 16 Mar 2015 20:19:53 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3922/</guid></item><item><title>Upgrade to ming 0.3 (orm-&gt;odm rename)</title><link>https://forge-allura.apache.org/p/allura/tickets/3861/</link><description>Ming 0.3 has some backwards-incompatible changes with package names.  [#3822] took care of this for sfpy; we only need to update allura.  Zarkov too might be nice.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:56 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3861/</guid></item><item><title>handle AutoReconnect to allura &amp; gutenberg</title><link>https://forge-allura.apache.org/p/allura/tickets/3806/</link><description>~~~~
Traceback (most recent call last):
  File "/var/local/env-allura/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/registry.py", line 409, in streaming_iter
    for item in self.application(environ, start_response):
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/middleware.py", line 16, in __call__
    result = self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 41, in __call__
    return self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/config/middleware.py", line 153, in SchemeMiddleware
    return app(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/EasyWidgets-0.2dev_20110726-py2.7.egg/ew/middleware.py", line 65, in __call__
    result = self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 151, in __call__
    resp = req.get_response(self.app)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/allura/Allura/allura/config/middleware.py", line 162, in AlluraGlobalsMiddleware
    return app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 120, in __call__
    return self._app(environ, session_start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 200, in __call__
    resp = req.get_response(self.app, catch_exc_info=self.debug)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 78, in __call__
    self.app, environ, catch_exc_info=True)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/util.py", line 48, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/middleware.py", line 163, in __call__
    self.app, new_environ, catch_exc_info=True)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/util.py", line 48, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebError-0.10.3-py2.7.egg/weberror/errormiddleware.py", line 156, in __call__
    return self.application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Beaker-1.5.4-py2.7.egg/beaker/middleware.py", line 152, in __call__
    return self.wrap_app(environ, session_start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Routes-1.12.3-py2.7.egg/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/var/local/forge-classic/sfx/middleware.py", line 37, in __call__
    resp = request.get_response(self.app)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/wsgiapp.py", line 106, in __call__
    controller = self.resolve(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/wsgiapp.py", line 239, in resolve
    return self.find_controller(controller)
  File "/var/local/env-allura/lib/python2.7/site-packages/TurboGears2-2.1.3-py2.7.egg/tg/wsgiapp.py", line 37, in find_controller
    __import__(full_module_name)
  File "/var/local/allura/Allura/allura/controllers/root.py", line 28, in &lt;module&gt;
    from .project import NeighborhoodController, HostNeighborhoodController
  File "/var/local/allura/Allura/allura/controllers/project.py", line 36, in &lt;module&gt;
    class W:
  File "/var/local/allura/Allura/allura/controllers/project.py", line 39, in W
    add_project = plugin.ProjectRegistrationProvider.get().add_project_widget(antispam=True)
  File "/var/local/allura/Allura/allura/lib/plugin.py", line 280, in get
    return app_globals.Globals().entry_points['registration'][method]()
  File "/var/local/forge-classic/sfx/sfx_main.py", line 140, in __init__
    self.api = SFXProjectApi()
  File "/var/local/forge-classic/sfx/lib/sfx_api.py", line 147, in __init__
    n = M.Neighborhood.query.get(name='Users')
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/mapper.py", line 264, in get
    return self.find(kwargs).first()
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/ormsession.py", line 320, in first
    return self.next()
  File "/var/local/allura/Allura/allura/lib/stats.py", line 57, in inner
    return func(*l, **kw)
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/ormsession.py", line 273, in next
    return self._next_impl()
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/ormsession.py", line 252, in _next_impl
    doc = self.ming_cursor.next()
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/base.py", line 56, in next
    doc = self.cursor.next()
  File "/var/local/allura/Allura/allura/lib/stats.py", line 57, in inner
    return func(*l, **kw)
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 703, in next
    if len(self.__data) or self._refresh():
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 666, in _refresh
    self.__uuid_subtype))
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 628, in __send_message
    self.__tz_aware)
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/helpers.py", line 99, in _unpack_response
    raise AutoReconnect("master has changed")
AutoReconnect: master has changed
~~~~


And the gutenberg trace from the reactor/taskd service:

~~~~
16:06:28,602 ERROR [allura.command] Taskd, restart in 10s
Traceback (most recent call last):
  File "/var/local/allura/Allura/allura/command/taskd.py", line 66, in worker
    list(wsgi_app(r.environ, start_response))
  File "/var/local/env-allura/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/registry.py", line 409, in streaming_iter
    for item in self.application(environ, start_response):
  File "/var/local/env-allura/lib/python2.7/site-packages/Ming-0.2.2dev_20120202-py2.7.egg/ming/orm/middleware.py", line 16, in __call__
    result = self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 41, in __call__
    return self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/config/middleware.py", line 153, in SchemeMiddleware
    return app(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/EasyWidgets-0.2dev_20110726-py2.7.egg/ew/middleware.py", line 65, in __call__
    result = self.app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 151, in __call__
    resp = req.get_response(self.app)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/allura/Allura/allura/config/middleware.py", line 162, in AlluraGlobalsMiddleware
    return app(environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 120, in __call__
    return self._app(environ, session_start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 200, in __call__
    resp = req.get_response(self.app, catch_exc_info=self.debug)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/allura/Allura/allura/lib/custom_middleware.py", line 78, in __call__
    self.app, environ, catch_exc_info=True)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/util.py", line 48, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/middleware.py", line 163, in __call__
    self.app, new_environ, catch_exc_info=True)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/util.py", line 48, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebError-0.10.3-py2.7.egg/weberror/errormiddleware.py", line 156, in __call__
    return self.application(environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Beaker-1.5.4-py2.7.egg/beaker/middleware.py", line 152, in __call__
    return self.wrap_app(environ, session_start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Routes-1.12.3-py2.7.egg/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/var/local/forge-classic/sfx/middleware.py", line 37, in __call__
    resp = request.get_response(self.app)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/var/local/env-allura/lib/python2.7/site-packages/WebOb-1.1.1-py2.7.egg/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/wsgiapp.py", line 107, in __call__
    response = self.dispatch(controller, environ, start_response)
  File "/var/local/env-allura/lib/python2.7/site-packages/Pylons-1.0-py2.7.egg/pylons/wsgiapp.py", line 312, in dispatch
    return controller(environ, start_response)
  File "/var/local/allura/Allura/allura/controllers/task.py", line 11, in __call__
    result = task(restore_context=False)
  File "/var/local/allura/Allura/allura/model/monq_model.py", line 219, in __call__
    self.result = func(*self.args, **self.kwargs)
  File "/var/local/allura/Allura/allura/tasks/event_tasks.py", line 11, in event
    t(event_type, *args, **kwargs)
  File "/var/local/forge-classic/sfx/sfx_main.py", line 225, in project_updated
    api.update(pylons.c.user, pylons.c.project)
  File "/var/local/forge-classic/sfx/lib/sfx_api.py", line 230, in update
    self._update_gutenberg(p)
  File "/var/local/forge-classic/sfx/lib/sfx_api.py", line 351, in _update_gutenberg
    'shortname': p.get_tool_data('sfx', 'unix_group_name')})
  File "/var/local/allura/Allura/allura/lib/stats.py", line 57, in inner
    return func(*l, **kw)
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/collection.py", line 520, in find_one
    for result in self.find(spec_or_id, *args, **kwargs).limit(-1):
  File "/var/local/allura/Allura/allura/lib/stats.py", line 57, in inner
    return func(*l, **kw)
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 703, in next
    if len(self.__data) or self._refresh():
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 666, in _refresh
    self.__uuid_subtype))
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/cursor.py", line 628, in __send_message
    self.__tz_aware)
  File "/var/local/env-allura/lib/python2.7/site-packages/pymongo-2.1.1-py2.7-linux-x86_64.egg/pymongo/helpers.py", line 99, in _unpack_response
    raise AutoReconnect("master has changed")
AutoReconnect: master has changed
~~~~
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 29 Jan 2015 21:17:20 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3806/</guid></item><item><title>pull request notifications</title><link>https://forge-allura.apache.org/p/allura/tickets/3543/</link><description/><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:53 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3543/</guid></item><item><title>Create permissions changelog</title><link>https://forge-allura.apache.org/p/allura/tickets/3462/</link><description>Need a way to see who changed what when on project permissions.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Van Steenburgh</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3462/</guid></item><item><title>Error 500 when viewing Git repository [22505] - NEEDS REPO REFRESH</title><link>https://forge-allura.apache.org/p/allura/tickets/3150/</link><description>https://sourceforge.net/apps/trac/sourceforge/ticket/22505

&gt; Error 500 occurs on page http://sourceforge.net/p/abonpro/code/ci/3da3e8b80ac410df67d3cd65993270c774e9e6b2/tree/. This happened after pushing initial commit contents into Git repository. Maybe this caused by Readme file with Cyrillic symbols, but I tried UTF-8 encoding and the same error raised too.

This initially showed a 500 error, then I tried refreshing the repo and it seems stuck at "analyzing" now.

That is, it still shows a 500 when trying the exact link the user provided, but https://sourceforge.net/p/abonpro/code/ is stuck at analyzing.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Tsai</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3150/</guid></item><item><title>Prevent user without permission to any forum from getting error on new post</title><link>https://forge-allura.apache.org/p/allura/tickets/3115/</link><description>The drop down doesn't show up since there aren't any forums they are allowed to use, so the form errors when they submit.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jenny Steele</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:54 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3115/</guid></item><item><title>Depend on zmq and not all of zarkov</title><link>https://forge-allura.apache.org/p/allura/tickets/3067/</link><description>Zarkov pulls in a lot of deps but Allura only needs the zarkov client which is a very thin wrapper around zmq.  We should just use zmq directly.  We can also remove the ImportError handling and always require zmq.  The ini config option can stay.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:52 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3067/</guid></item><item><title>Editing a discussion comment doesn't work</title><link>https://forge-allura.apache.org/p/allura/tickets/3023/</link><description>If you click on 'edit' for a discussion comment, make changes and hit 'save' then it says it was edited but the original content is still there.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/3023/</guid></item><item><title>Update discussion tool to allow all posts to be sent to an email address </title><link>https://forge-allura.apache.org/p/allura/tickets/2943/</link><description>* i.e. a mailing list monitoring a web based forum
* was: [#2789]

usage:
4,256 &gt; 5 posts
2,798 &gt; 15 posts
out of 1,962,253 forums
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John Hoffman</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:54 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2943/</guid></item><item><title>Bring our environment up-to-date with the latest versions of dependencies</title><link>https://forge-allura.apache.org/p/allura/tickets/2936/</link><description>Code is on rc/2020. I have also uploaded a bundle with my dependencies at http://sourceforge.net/projects/allura/files/allura-20111007.bundle/download and created a SOG ticket at https://control.sog.geek.net/sog/trac/ticket/19180

Branched off into rc/2936 to keep separate from changes in rc/2020 (now merged to dev)</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick Copeland</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:52 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2936/</guid></item><item><title>Markdown help causes "Error adding &lt;br&gt; tags"</title><link>https://forge-allura.apache.org/p/allura/tickets/2819/</link><description>Our own markdown help logs an error:

~~~~
00:00:34,280 ERROR [allura.lib.markdown_extensions] Error adding &lt;br&gt; tags: new text is &lt;p&gt;&lt;b&gt;this will be bold&lt;/b&gt;&lt;br/&gt;you should escape &amp;lt;unknown&amp;gt; tags&lt;br/&gt;&amp;copy; special entities work&lt;br/&gt;&amp;amp;copy; if you want to escape it&lt;/p&gt;
Traceback (most recent call last):
  File "/var/local/allura/Allura/allura/lib/markdown_extensions.py", line 278, in run
    new_node = markdown.etree.fromstring(unicode(BeautifulSoup(new_text)))
  File "&lt;string&gt;", line 85, in XML
SyntaxError: undefined entity: line 1, column 77
~~~~</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:56 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2819/</guid></item><item><title>Convert adobe/tamarinproject's Home tool</title><link>https://forge-allura.apache.org/p/allura/tickets/2792/</link><description>Somehow this got missed in the conversion script.  https://sourceforge.net/adobe/tamarinproject/home/</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2792/</guid></item><item><title>Add a sitemap XML file for Allura - NEEDS URL ROUTING</title><link>https://forge-allura.apache.org/p/allura/tickets/2786/</link><description>Sitemap index is located at /_sitemap, sitemaps are at /_sitemap/0, /_sitemap/1, etc.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick Copeland</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:54 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2786/</guid></item><item><title>Add limit option to project list macro</title><link>https://forge-allura.apache.org/p/allura/tickets/2599/</link><description>It's hardcoded to 100 right now, should be configurable.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:57 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2599/</guid></item><item><title>Commit runs need to handle individual commits better</title><link>https://forge-allura.apache.org/p/allura/tickets/2585/</link><description>The new SCM indexing in [#2020] does not build runs efficiently when pushing a sequence of individual commits separately (like SVN always does).  See http://pastie.org/2339735 for examples.  It does build a run fine when reindexing an svn repo and when a set of commits is pushed from hg/git.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2585/</guid></item><item><title>wiki: comment box too near at wiki content</title><link>https://forge-allura.apache.org/p/allura/tickets/2583/</link><description>*Originally created by:* cweiske

The "add comment" form is too near at the wiki page contents - see the attachment.

I'd like to see some vertical space and a &amp;lt;hr/&amp;gt;.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:54 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2583/</guid></item><item><title>No edit permissions for home tool on new projects [20776]</title><link>https://forge-allura.apache.org/p/allura/tickets/2493/</link><description>https://sourceforge.net/apps/trac/sourceforge/ticket/20776

&gt;Edit access required.

&gt;Please can you give me edit access?

    &gt;the project is bv-tapi which I just created.

I've manually fixed this guy's project, but I've gotten a couple reports of this already. Seems that the default is a bit wonky.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chris Tsai</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:57 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2493/</guid></item><item><title>amqp connection should by lazy</title><link>https://forge-allura.apache.org/p/allura/tickets/2479/</link><description>Got this during chroot build before a push:

~~~~
  File "&lt;string&gt;", line 1, in &lt;module&gt;
  File "/var/local/allura/Allura/allura/controllers/root.py", line 27, in &lt;module&gt;
    from .project import NeighborhoodController, HostNeighborhoodController
  File "/var/local/allura/Allura/allura/controllers/project.py", line 42, in &lt;module&gt;
    class W:
  File "/var/local/allura/Allura/allura/controllers/project.py", line 45, in W
    add_project = plugin.ProjectRegistrationProvider.get().add_project_widget(antispam=True)
  File "/var/local/allura/Allura/allura/lib/plugin.py", line 278, in get
    return app_globals.Globals().entry_points['registration'][method]()
  File "/var/local/allura/Allura/allura/lib/app_globals.py", line 85, in __init__
    vhost=config.get('amqp.vhost', 'testvhost'))
  File "/var/local/allura/Allura/allura/lib/async.py", line 17, in __init__
    self.reset()
  File "/var/local/allura/Allura/allura/lib/async.py", line 20, in reset
    self._conn = self._connection_pool.acquire()
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/connection.py", line 458, in acquire
    resource = self.prepare(resource)
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/connection.py", line 552, in prepare
    resource.connect()
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/connection.py", line 95, in connect
    return self.connection
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/connection.py", line 396, in connection
    self._connection = self._establish_connection()
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/connection.py", line 364, in _establish_connection
    return self.transport.establish_connection()
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/transport/pyamqplib.py", line 219, in establish_connection
    connect_timeout=conninfo.connect_timeout)
  File "/var/local/env-allura/lib/python2.6/site-packages/kombu-1.0.4-py2.6.egg/kombu/transport/pyamqplib.py", line 45, in __init__
    super(Connection, self).__init__(*args, **kwargs)
  File "/var/local/env-allura/lib/python2.6/site-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/connection.py", line 125, in __init__
    self.transport = create_transport(host, connect_timeout, ssl)
  File "/var/local/env-allura/lib/python2.6/site-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/transport.py", line 220, in create_transport
    return TCPTransport(host, connect_timeout)
  File "/var/local/env-allura/lib/python2.6/site-packages/amqplib-0.6.1-py2.6.egg/amqplib/client_0_8/transport.py", line 58, in __init__
    self.sock.connect((host, port))
  File "&lt;string&gt;", line 1, in connect
socket.error: [Errno 111] Connection refused
~~~~</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:56 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2479/</guid></item><item><title>DuplicateKeyError on pyforge.user when adding a project</title><link>https://forge-allura.apache.org/p/allura/tickets/2462/</link><description>~~~~
Module sfx.sfx_main:171 in register_project
&lt;&lt;                  raise
               p = super(SFXProjectRegistrationProvider, self).register_project(
                   neighborhood, shortname, project_name, user, user_project, private_project)
               p.set_tool_data('sfx', unix_group_name=ug_name)
               self.api.read(p)
&gt;&gt;  neighborhood, shortname, project_name, user, user_project, private_project)
Module allura.lib.plugin:349 in register_project
&lt;&lt;                  users=[user],
                       is_user_project=user_project,
                       is_private_project=private_project)
               except forge_exc.ProjectConflict:
                   raise
&gt;&gt;  is_private_project=private_project)
Module allura.model.project:578 in configure_project
&lt;&lt;              self.database_configured = True
                   self.notifications_disabled = False
                   ThreadLocalORMSession.flush_all()
       
           def add_user(self, user, role_names):
&gt;&gt;  ThreadLocalORMSession.flush_all()
Module ming.orm.ormsession:191 in flush_all
&lt;&lt;      def flush_all(cls):
               for sess in cls._session_registry.itervalues():
                   sess.flush()
       
           @classmethod
&gt;&gt;  sess.flush()
Module allura.lib.stats:57 in inner
&lt;&lt;                  return func(*l, **kw)
                   with stats.timing(self.timer):
                       return func(*l, **kw)
               inner.__name__ = func.__name__
               return inner
&gt;&gt;  return func(*l, **kw)
Module ming.orm.ormsession:25 in inner
&lt;&lt;          def inner(session, *args, **kwargs):
                   before(session, *args, **kwargs)
                   result = func(session, *args, **kwargs)
                   after(session, *args, **kwargs)
                   return result
&gt;&gt;  result = func(session, *args, **kwargs)
Module ming.orm.ormsession:70 in flush
&lt;&lt;          if self.impl.db is None: return
               if obj is None:
                   self.uow.flush()
               else:
                   st = state(obj)
&gt;&gt;  self.uow.flush()
Module ming.orm.unit_of_work:41 in flush
&lt;&lt;              st = state(obj)
                   if st.status == ObjectState.new:
                       inow(obj, st)
                       st.status = ObjectState.clean
                       new_objs[i] = obj
&gt;&gt;  inow(obj, st)
Module ming.orm.ormsession:25 in inner
&lt;&lt;          def inner(session, *args, **kwargs):
                   before(session, *args, **kwargs)
                   result = func(session, *args, **kwargs)
                   after(session, *args, **kwargs)
                   return result
&gt;&gt;  result = func(session, *args, **kwargs)
Module ming.orm.ormsession:82 in insert_now
&lt;&lt;      @with_hooks('insert')
           def insert_now(self, obj, st, **kwargs):
               mapper(obj).insert(obj, st, **kwargs)
       
           @with_hooks('update')
&gt;&gt;  mapper(obj).insert(obj, st, **kwargs)
Module ming.orm.mapper:48 in insert
&lt;&lt;      def insert(self, obj, state, **kwargs):
               state.document.m.insert(validate=False)
               self.session.save(obj)
               state.status = state.clean
&gt;&gt;  state.document.m.insert(validate=False)
Module ming.metadata:123 in inner
&lt;&lt;                  curried_args = [ getattr(self, argname) for argname in proxy_args ]
                       all_args = tuple(curried_args) + args
                       return method(*all_args, **kwargs)
                   inner.__name__ = name
                   return inner
&gt;&gt;  return method(*all_args, **kwargs)
Module ming.session:21 in wrapper
&lt;&lt;      def wrapper(self, doc, *args, **kwargs):
               try:
                   return func(self, doc, *args, **kwargs)
               except pymongo.errors.OperationFailure, opf:
                   opf.args = opf.args + (('doc:  ' + str(doc)),)
&gt;&gt;  return func(self, doc, *args, **kwargs)
Module ming.session:140 in insert
&lt;&lt;      def insert(self, doc, **kwargs):
               data = self._prep_save(doc, kwargs.pop('validate', True))
               bson = self._impl(doc).insert(data, safe=kwargs.get('safe', True))
               if bson and '_id' not in doc:
                   doc._id = bson
&gt;&gt;  bson = self._impl(doc).insert(data, safe=kwargs.get('safe', True))
Module pymongo.collection:275 in insert
&lt;&lt;          self.__database.connection._send_message(
                   message.insert(self.__full_name, docs,
                                  check_keys, safe, kwargs), safe)
       
               ids = [doc.get("_id", None) for doc in docs]
&gt;&gt;  check_keys, safe, kwargs), safe)
Module pymongo.connection:770 in _send_message
&lt;&lt;                  response = self.__receive_message_on_socket(1, request_id,
                                                                   sock)
                       return self.__check_response_to_last_error(response)
                   return None
               except (ConnectionFailure, socket.error), e:
&gt;&gt;  return self.__check_response_to_last_error(response)
Module pymongo.connection:718 in __check_response_to_last_error
&lt;&lt;          if "code" in error:
                   if error["code"] in [11000, 11001, 12582]:
                       raise DuplicateKeyError(error["err"])
                   else:
                       raise OperationFailure(error["err"], error["code"])
&gt;&gt;  raise DuplicateKeyError(error["err"])
DuplicateKeyError: (u'E11000 duplicate key error index: pyforge.user.$username_1 dup key: { : "niallr" }', "doc: {'username': u'niallr', 'tool_preferences': {}, '_id': ObjectId('4e1ff0d2b9363c1a3e0003b9'), 'tool_data': {'sfx': {'userid': 3471841}}, 'preferences': {'results_per_page': None, 'email_format': None, 'email_address': None}, 'open_ids': [], 'display_name': u'Niall', 'password': None, 'email_addresses': []}")
~~~~</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dave Brondsema</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:55 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2462/</guid></item><item><title>Disallow removing admin group from allura admin perms</title><link>https://forge-allura.apache.org/p/allura/tickets/2414/</link><description>A project admin removed project admin perms from the project admin group. While I see a reason to allow removing yourself from the admin group -- the Admin group should likely retain admin perms to save you from yourself in most cases.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Burley</dc:creator><pubDate>Thu, 20 Aug 2015 22:07:52 -0000</pubDate><guid>https://forge-allura.apache.org/p/allura/tickets/2414/</guid></item></channel></rss>