[dokuwiki] Re: Recent changes broken

(The explanation here goes from most technical to least technical, so it may be best to read the last sentence first...)

On Oct 22, 2006, at 3:19 AM, Anika Henke wrote:

Guy Brand wrote:
On 07 octobre at 16:35, Ben Coburn wrote:

This indicates that the import functioned correctly. The current changelog system uses a new configuration option "recent_days" to determine which changes really are recent. It defaults to 7 days, so if nothing has changed in the past week the "Recent Changes" page and RSS feed will be empty after the import. During normal operation some of the most recent stale changes will be kept around if nothing has been edited in the past week.

The "recent_days" configuration option is part of the optimization of the new changelog system, so it should be set to a reasonably small number based on the rate at which the wiki is edited. Settings of up to 3-6 months may even be reasonable on very slow moving wikis.
  I set recent_days to one year and everything is fine now. I added a
  note on that on http://wiki.splitbrain.org/wiki:changelog

I had the very same problem, but increasing recent_days didn't solve it. I had to rewind the importoldchangelog plugin manually (deleting "disabled" and "./data/meta/_dokuwiki.changes*") to work.
This isn't very userfriendly as disabling the plugin by the plugin manager (= removing "disabled") alone wouldn't work. And there is no UI way to remove "_dokuwiki.changes" etc., is there?



The importoldchangelog plugin runs once to automatically import the old changelog. The "./data/meta/_dokuwiki.changes" file is the recent changes cache created during the import. While importing, only changes newer than "recent_days" will be added to this cache. This is just done to populate the recent changes cache with some data before any new edits have been made. The importoldchangelog plugin is **not intended to run more than once**, this is why there is no UI to make rerunning the plugin simple.


Is there anything I am missing?


It is valid for the recent changes cache to be empty after the import. New changes will be added to the recent changes cache as they are made. The permanent changelogs are stored as one file per wiki page, such as "./data/meta/start.changes". The "do=check" messages will show if the changelog has been correctly imported.


Could someone please explain "recent_days" better? (Preferably at http://wiki.splitbrain.org/wiki:changelog.) What exactly is it configuring? The oldest age of the recent changes or the old revisions as well? Or only the oldest age of the recent changes to be *imported*?


The recent changes cache ("./data/meta/_dokuwiki.changes") stores the changes that are used to generate the recent changes and RSS feed. To keep the cache from expanding forever, it is trimmed daily. While trimming, changes newer than "recent_days" will be retained. If there are no changes newer than "recent_days" the trimmer will attempt to retain $conf['recent'] changelog lines to avoid emptying the recent changes cache.


To be specific.... The "recent_days" configuration value only sets the oldest age of an item in the recent changes and RSS feed. All "old revisions" are kept, and kept separately from the recent changes list.

I hope I've described this clearly. Did this help? I'll update the wiki when I am certain that I have a good way to explain this. Really, "recent_days" just sets the maximum age of things that are to be considered "recent".

Regards, Ben Coburn


------------------- silicodon.net -------------------

--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: