Edgewall Software

Ticket #5741 (closed defect: fixed)

Opened 15 months ago

Last modified 6 months ago

InterMapTxt needs reload after updating

Reported by: martin.marcher@… Owned by: cboos
Priority: normal Milestone: 0.11
Component: notification Version:
Severity: major Keywords: intermaptxt
Cc:

Description

When entering new links in InterMapTxt you need to reload it once so that Trac catches the changes.

It should be sufficient to edit the page and click Save Changes, otherwise Users might be confused

Attachments

config-touch-after-intermaptxt-change-r6792.diff (3.5 kB) - added by cboos 6 months ago.
Propagate InterMapTxt changes to other servers by the way of a config.touch()

Change History

Changed 15 months ago by cboos

  • severity changed from normal to major
  • component changed from general to notification
  • priority changed from lowest to normal
  • owner changed from jonas to cboos
  • milestone set to 0.12
  • keywords intermaptxt added

Yes, it's a known limitation of the (common) multiple server settings. See TracDev/Proposals/Journaling#ReactingonWikicontentchange.

We'll hopefully find a clean and generic way to solve this in the next release.

Changed 15 months ago by eblot

cboos, was notification the intended component within your last change ?

Changed 15 months ago by cboos

Yes, I think the notification component should correspond to the notification infrastructure in general, encompassing the change listeners.

In 0.12, we could even probably implement the e-mail notification component as a simple IxxxChangeListener (xxx being Ticket for a start).

Changed 13 months ago by grib@…

In a current SVN version of trac-0.11 I am seeing behavior where the version of the intermap list displayed by the [[InterWiki]] macro is sometimes correct and sometimes shows a version of the list that is several revisions old. Sometimes reloading in the browser fixes this, sometimes not.

In all cases, the Prefix Definitions section of the page shows the correct version.

Changed 6 months ago by jjv@…

I think this feature is actually completely broken, and that the reloading doesn't fix the problem.

I have Trac .11b2 installed. I've added a couple of items to the InterMapTxt wiki page (wiki/InterMapTxt). I've edited the items a couple of times to tweak the URL's. I added several of the InterWiki items on a particular ticket to verify that they work. I got confusing results. If I refresh the ticket using my browser's refresh button, the resulting output from the ticket page will apparently randomly alternate between the Interwiki items 1.) not being recognized as if I'd never changed the wiki/InterMapTxt page 2.) being recognized but handled using an previous version of the wiki/InterMapTxt page, or 3.) being correctly handled by the current version of the wiki/InterMapTxt page. Additionally, I can refresh the wiki/InterMapText page, and I get different results in the "List of Active Prefixes" section, even though the "Prefix Definitions" portion of the page is always correct. I can even do something like: "wiki/InterMapTxt?version=5", and get the same behavior.

This makes the InterWiki link feature unusable completely for any items added over the default items that come out of the box.

Changed 6 months ago by jjv@…

I have verified that even if only one version of the InterMapTxt file exists, the Interwiki links do not always work. I deleted InterMapTxt and recreated it with the additional prefixes and save them so there was only one version. If I refresh the browsers the Interwiki links will sometimes render and sometimes not.

Changed 6 months ago by cboos

  • status changed from new to assigned
  • milestone changed from 0.12 to 0.11.1

jjv, it's a known problem in some situations and what you described is explained in comment:1.

Now, since the r6006 fix, there could be a "brute force" way to workaround this problem, namely a config.touch() in source:trunk/trac/wiki/interwiki.py. Please try out the attached patch.

Changed 6 months ago by cboos

Propagate InterMapTxt changes to other servers by the way of a config.touch()

Changed 6 months ago by cboos

  • status changed from assigned to closed
  • resolution set to fixed
  • milestone changed from 0.11.1 to 0.11

In r6837, applied a slightly enhanced patch (protect against race conditions).

I'm still thinking about a more general approach (see TracDev/JournalingProposal), but I think this would do in the meantime.

Add/Change #5741 (InterMapTxt needs reload after updating)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.