On Tue, May 22, 2007 at 02:55:29PM +0200, Christophe David wrote: > I am using beta 49, and have wiki pages created dynamically from > external applications (say "Group1.Name1", Group1.Name2, etc.), and a > simple (:pagelist group=Group1:) fails to list them. > > Deleting .pageindex does not help. > > When creating a page with PmWIki in Group1, pagelist sees it. > > Could you please explain how (:pagelist:) works internally in order to > take the neccessary steps to get externally generated pages listed ?
That's a pretty large question... pagelist is by far the largest subsystem within PmWiki, and undoubtedly the most complex. The basic algorithm is straightforward -- simply loop through all of the available pages and filter out any that don't match whatever criteria are presented. It's the speed optimizations such as indexing and caching that add complexity and dependencies. > Are the caching options related somehow ? Yes. In this case I suspect it's not the .pageindex that is the culprit but the pagelist cache. (A simple group=Group1 query doesn't use .pageindex at all.) So, are you running with pagelist caching enabled? If yes, then the problem is that PmWiki can't see that a page has been created by an external program, and therefore doesn't realize that the pagelist cache it's already created is invalid. PmWiki keeps a file (normally "wiki.d/.lastmod") that indicates the time of last modification to any pages on the site. The various caches in PmWiki then use this to determine when something has changed and thus invalidate the cache. So, whenever your external program creates a new page, it probably needs to update the ".lastmod" file as well. This can be as simple as touch wiki.d/.lastmod The contents of the .lastmod file don't matter -- PmWiki just uses the file's "last modified" timestamp. Pm _______________________________________________ pmwiki-users mailing list pmwiki-users@pmichaud.com http://www.pmichaud.com/mailman/listinfo/pmwiki-users