[dokuwiki] Re: Freeeeeeze for April 2011

  • From: Michael Hamann <michael@xxxxxxxxxxxxxxxx>
  • To: dokuwiki <dokuwiki@xxxxxxxxxxxxx>, Tom N Harris <tnharris@xxxxxxxxxxxxx>
  • Date: Mon, 07 Mar 2011 00:41:50 +0100

Hi,

Excerpts from Adrian Lang's message of 2011-03-06 12:59:53 +0100:
[...]
> I would like to have the new meta data system (with indexer) in the
> next release. Hopefully Tom and Michitux will give us some information
> on what needs to be done and what has been done so we can finish stuff
> this week.

The code can be found at https://github.com/michitux/dokuwiki, the main
changes have been done in inc/indexer.php.

I've created some bits of documentation already
(http://www.dokuwiki.org/devel:metadata#metadata_index,
http://www.dokuwiki.org/devel:event:indexer_page_add and
http://www.dokuwiki.org/devel:event:indexer_version_get) and the code at
least doesn't break everything (or in other words: it seems to work for
me).

There is one issue we haven't solved yet, that is how/when to invalidate
the search index: always when the metadata is set using p_set_metadata
or just when a plugin triggers requests it? The problem is imho when
plugins change the metadata during rendering when the page hasn't
changed but external data has changed. E.g. the include plugin will
change the metadata when an included page is changed, but without
calling p_set_metadata. So perhaps the index should also simply depend
on the metadata file?

Another suggestion: Add an event to the backlinks function. I could need
it for the include plugin because when the metadata index is used all
links from included pages will be in the index but it is possible that
the current user can't view them. So I need to check for all pages on
the backlinks page if there are includes and then check if the current
user is allowed to see the link... Or different idea: Add an event to
lookupKey(), then other plugins can do the same thing for their data,
too.

Then we probably need a lot more tests. The code contains afaik some
features we currently don't use at all so imho we should have unit tests
for them so we can make sure they work.

If nobody objects I'll merge my fork with the indexer changes today
(March 7) so everybody can work on the code easily and it gets more
testing.

Michael
-- 
DokuWiki mailing list - more info at
http://www.dokuwiki.org/mailinglist

Other related posts: