Modify

Opened 22 months ago

Closed 22 months ago

Last modified 22 months ago

#10395 closed task (fixed)

Requesting to adopt TracBacksPlugin

Reported by: ejucovy Owned by: rjollos
Priority: normal Component: TracBacksPlugin
Severity: normal Keywords: adoption-request
Cc: hasienda Trac Release: 0.12

Description

I'd like to request to adopt the TracBacksPlugin if the current maintainer no longer wishes to maintain it. Alternatively, I'd like to request to co-develop the plugin with the current maintainer. :-) I've noticed a couple of comments by the current maintainer from 2010 saying he's no longer using this plugin; I don't know if that's still the case, but if it is I'd be happy to help maintain it since I am using the plugin in several environments.

I'd particularly like to commit the patch described in #9743 -- that bug is currently preventing me from using an unpatched checkout of the plugin in production -- and also implement the suggestion in #6638. I'd also like to get the plugin internationalized, and add a functional test suite which I think would help to develop fixes for several other bugs (#5456, #5457, #6639, #7439) as well as preventing regressions, since there are a couple of fairly complex edge cases that the plugin has to deal with.

Attachments (0)

Change History (5)

comment:1 follow-up: Changed 22 months ago by rjollos

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

I'd be happy to have you take over maintenance of this code. I'd like to use the plugin, but haven't found the time to fix all the issues you've mentioned.

I was also considering merging some recent work on BackLinksMacro and TicketBackLinksMacro into this plugin, making a single plugin that provides macros and backlinks functionality that can be enabled through individual components. What do you think of that idea?

What functional test suite do you use?

The permissions changed have been made, so you should be all set now.

comment:2 in reply to: ↑ 1 ; follow-ups: Changed 22 months ago by ejucovy

Replying to rjollos:

I was also considering merging some recent work on BackLinksMacro and TicketBackLinksMacro into this plugin, making a single plugin that provides macros and backlinks functionality that can be enabled through individual components. What do you think of that idea?

Huh -- I've never used either of those plugins, but that sounds really interesting. So there would be a single plugin with macros for rendering a list of tickets and/or wiki pages that reference X, where X is either a ticket or a wiki page? (Do you think it would also make sense to build an IWikiChangeListener to create ticket comments when the text of a wiki page contains a link to a ticket? Or would that be overkill...)

What functional test suite do you use?

I've always been fond of Twill. (I passively maintain a test runner that sits on top of Twill scripts which was written by some former colleagues of mine.) I know that Trac itself and AccountManagerPlugin both have twill-based functional test suites, so I was planning on looking into the way they set that up and doing something similar, unless it ends up looking substantially easier to just use Python and unittest to do the test setup and assertions (in the manner of Trac's primary test suite)

Do you know of any other plugins that maintain test suites community preferences best practices here?

The permissions changed have been made, so you should be all set now.

Thanks!

comment:3 in reply to: ↑ 2 Changed 22 months ago by rjollos

Replying to ejucovy:

Huh -- I've never used either of those plugins, but that sounds really interesting. So there would be a single plugin with macros for rendering a list of tickets and/or wiki pages that reference X, where X is either a ticket or a wiki page?

Yeah, and in the future the functionality could be extended beyond tickets and wiki references, to components such as Changsets, FullBlogPlugin, DiscussionPlugin, ...

(Do you think it would also make sense to build an IWikiChangeListener to create ticket comments when the text of a wiki page contains a link to a ticket? Or would that be overkill...)

That was one of the extensions I had in mind as well. I was thinking of having a div under the ticket description with a list of referring tickets and wiki pages. There are a lot of possible features for linking resources together and reporting the linkages, and bits of overlapping code, which was my motivation for wanting to pull these plugins/macros together and develop them further as one plugin.

Also, I'd really like the TracBacks to be dynamic. That is, rather than copying the static text of a comment, insert a TracLink or WikiProcessor that renders the comment (like CommitTicketReferenceMacro [tracopt.ticket.commit_updater] does), so that if the comment is edited, the text in the ticket with the TracBack will be updated as well.

Do you know of any other plugins that maintain test suites community preferences best practices here?

CodeExampleMacro has a lot of unit tests. TagsPlugin has some basic unit test functionality. I don't know of much else with extensive unit tests, except for a smattering in the plugins I maintain, and no functional tests suite. Good examples of functional testing in Trac plugins are needed, and I've wanted to implement functional testing in the plugins I maintain. However, I just don't have any experience with web-based functional testing, and didn't find any good examples.

comment:4 in reply to: ↑ 2 Changed 22 months ago by rjollos

  • Cc hasienda added

Replying to ejucovy:

Do you know of any other plugins that maintain test suites community preferences best practices here?

A best practices page on plugin testing for trac-hacks.org would be very valuable. I've cc'ed hasienda as he might know more about the subject.

comment:5 in reply to: ↑ 2 Changed 22 months ago by hasienda

Replying to ejucovy:

Replying to rjollos:
Do you know of any other plugins that maintain test suites community preferences best practices here?

There are only few Trac plugins to implement even basic unit testing indeed. TagsPlugin was already mentioned. It's test suite is rather young, so you may find interesting insight in it's recent commit history. CryptoPlugin will be another reference, that I want to build within the next months.

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 rjollos. 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.