Hi there,

today I tried connecting Eclipse to Trac using Mylyn Trac Connector
(3.4.1) and tracxmlrpc (1.1.0). I partially succeeded, but the
important things did not work.

I'm using an Agilo Windows Installer Setup (v 1.3.0.7). Added trac xml-
rpc and trac httpauth plugins (latest versions) to the plugins dir
(tried both directories (tracenv/test/plugins and lib/site-packages -
no difference).

First on the things that worked: I was able to create a Trac Task
Repository and all types of connections worked (anonymous,
authenticated, Web and XML-RPC) - in any combination when testing with
the 'Validate Settings' button. I was also able create a query using a
Web connection. Creation of a task then opens the webbrowser showing
the Trac/Agilo interface to create a new ticket - not that bad, but I
was looking for full integration into Eclipse. So I went for XML-RPC.

So what did not work was the creation of a query using XML-RPC -
neither authenticated nor anonymous (both were granted the XML_RPC
permissions).
In both cases an error came up showing 'RPC method
"ticket.milestone.getAll" not found'. Trac.log:

--------------------------------------- 8<
--------------------------------------
2010-09-21 01:27:26,085 Trac[__init__] ERROR: RPC(XML-RPC) Error
Traceback (most recent call last):
  File "build\bdist.win32\egg\tracrpc\web_ui.py", line 158, in
_rpc_process
    result = (XMLRPCSystem(self.env).get_method(method_name)(req,
args))[0]
  File "build\bdist.win32\egg\tracrpc\api.py", line 286, in get_method
    raise MethodNotFound('RPC method "%s" not found' % method)
MethodNotFound: RPC method "ticket.milestone.getAll" not found
--------------------------------------- 8<
--------------------------------------

After some time with Google I found this:
http://groups.google.com/group/agilo/browse_thread/thread/b94ca7480f7aaa49/394546ff0f18364a?lnk=gst&q=xmlrpc#394546ff0f18364a.

Esp:
> I actually got it working by doing the quickest and dirtiest
> workaround possible. I modified ticket.py in TracXmlRpc to check for
> the class name 'AgiloMilestone' and replace it with 'Milestone' where
> the namespace is returned.
>
> Line 378 onwards:
> ...
> def ticketEnumFactory(cls):
>     """ Return a class which exports an interface to one of the Trac
> ticket abstract enum types. """
>     class AbstractEnumImpl(Component):
>         implements(IXMLRPCHandler)
>
>         def xmlrpc_namespace(self):
>             # Workaround for changed class names in Agilo-1.1.1
>             if (cls.__name__.lower() == 'agilomilestone'):
>                 return 'ticket.milestone'
>
>             return 'ticket.' + cls.__name__.lower()

Modified the python script, rebuild the python egg for xmlrpc, copied
it, restarted the server - now I get a 'HTTP Error 500' when trying to
'Update Attributes from Repository' in the query window. So I went
back to the old xmlrpc egg (no trac.log entry for this).

Another issue (guess it's related) is that when closing the query
window I also get a 'HTTP Error 500' (this time as a pop-up alert) -
this also came up before modifying the xmlrpc egg. The trac.log tells
me for this error:

--------------------------------------- 8<
--------------------------------------
2010-09-21 01:15:43,369 Trac[__init__] ERROR: RPC(XML-RPC) Unhandled
protocol error
Traceback (most recent call last):
  File "build\bdist.win32\egg\tracrpc\web_ui.py", line 167, in
_rpc_process
    protocol.send_rpc_result(req, result)
  File "build\bdist.win32\egg\tracrpc\xml_rpc.py", line 107, in
send_rpc_result
    xmlrpclib.dumps(result, methodresponse=True), rpcreq['mimetype'])
  File "C:\Program Files\Agilo\lib\xmlrpclib.py", line 1080, in dumps
    data = m.dumps(params)
  File "C:\Program Files\Agilo\lib\xmlrpclib.py", line 623, in dumps
    dump(v, write)
  File "C:\Program Files\Agilo\lib\xmlrpclib.py", line 635, in __dump
    f(self, value, write)
  File "C:\Program Files\Agilo\lib\xmlrpclib.py", line 695, in
dump_array
    dump(v, write)
  File "C:\Program Files\Agilo\lib\xmlrpclib.py", line 633, in __dump
    raise TypeError, "cannot marshal %s objects" % type(value)
TypeError: cannot marshal <class
'agilo.ticket.model.TicketValueWrapper'> objects
--------------------------------------- 8<
--------------------------------------

Now I've got no clue what to do... any suggestions? (maybe I missed
something simple)

Regards,
  Carsten

-- 
Follow Agilo on Twitter: http://twitter.com/agiloforscrum
Please support us by reviewing and voting on: 
http://userstories.com/products/8-agilo-for-scrum 
http://ohloh.net/p/agilo-scrum 
http://freshmeat.net/projects/agiloforscrum

You have received this message because you are subscribed to
the "Agilo for Scrum" Google Group. This group is focused on
supporting Agilo for Scrum users and is moderated by
Agilo Software GmbH <http://www.agiloforscrum.com>.

To post to this group, send email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/agilo

Reply via email to