Modify

Opened 4 years ago

Closed 11 months ago

Last modified 11 months ago

#6297 closed enhancement (invalid)

Keep a consistent API when plug-ins subclass/override Trac classes

Reported by: egilwilde Owned by: andreat
Priority: normal Component: AgiloForTracPlugin
Severity: normal Keywords:
Cc: thijs Trac Release: 0.11

Description

I recently upgraded our Agilo installation to version 1.1.1. We soon found out that the upgrade broke the Mylyn connection to Eclipse, which we maintain using XML-RPC.

The cause seems to be that Agilo overrides the Milestone class with its own AgiloMilestone class. That caused the RPC namespace 'ticket.milestone' to change into 'ticket.agilomilestone', which in turn broke the Mylyn connection which relies on 'ticket.milestone.getAll'.

Now, I would not call this a bug in either product, but I think it is safe to assume that this is not the last case we will see of overriding classes in plug-ins. I would consider it a nice-to-have feature if the XML-RPC could be configured to provide a consistent API regardless of the names of the underlying implementing classes.

Attachments (0)

Change History (4)

comment:1 Changed 4 years ago by thijs

  • Cc thijs added

comment:2 Changed 3 years ago by osimons

  • Component changed from XmlRpcPlugin to AgiloForScrumPlugin
  • Owner changed from osimons to andreat

As from todays ticket #8550 discussion, I think we can safely conclude that this really is an issue for Agilo and not for the RPC plugin. RPC plugin can't possibly maintain a 'consistent API' when Agilo reworks, subclasses and replaces core Trac functionality.

RPC plugin is pluggable at all ends, and like how Agilo replaces Trac functionality there is no reason why they (or someone else) can't provide a replacement tracrpc.ticket module answering to same calls but resolving it their way.

The RPC plugin provides a functional test suite so that makes a good starting point for Agilo to test how their Trac & replacement API performs against expected RPC behavior. See my blog post for details of how to get the tests running. I'll happily apply patches with new tests if needed to further detail expected behaviour for clients.

comment:3 Changed 11 months ago by rjollos

  • Resolution set to invalid
  • Status changed from new to closed

You'll need to ask over on the Agilo mailing list, see AgiloForTracPlugin#BugsFeatureRequests for details. I don't think the Agilo guys monitor trac-hacks for bug reports.

comment:4 Changed 11 months ago by stefano.rago@…

@reporter: please upgrade to the latest Agilo for Trac version (currently 0.9.10/1.3.10). If you have problems/bug reports, please write to support@…

Add Comment

Modify Ticket

Action
as closed .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from andreat. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.