Joey Hess
9d54cc4659
implement aggregate_locking design
...
Now aggregation will not lock the wiki. Any changes made during aggregaton are
merged in with the changed state accumulated while aggregating. A separate
lock file prevents multiple concurrent aggregators. Garbage collection
of orphaned guids is much improved. loadstate() is only called once
per process, so tricky support for reloading wiki state is not needed.
(Tested fairly thuroughly.)
2008-02-03 16:48:26 -05:00
Joey Hess
38affb0c1c
add aggregate locking functions
2008-02-03 15:17:15 -05:00
Joey Hess
e57749b702
* recentchanges: Exipre all *._change pages, even if the directory
...
they're in has changed.
2008-02-03 14:51:03 -05:00
Joey Hess
340fe9707c
* recentchanges: Improve handling of links on the very static changes pages
...
by thunking to the CGI, which can redirect to the page, or allow it to be
created if it doesn't exist.
2008-02-03 14:48:20 -05:00
Joey Hess
42e5b8dfdc
prototype fix
2008-02-03 14:22:25 -05:00
Joey Hess
1f6591f0a6
* aggregate: Revert use of forking to not save state, that was not the right
...
approach.
2008-02-03 03:04:19 -05:00
Joey Hess
9f60272831
* poll: This plugin turns out to have edited pages w/o doing any locking.
...
Oops. Convert it from a cgi to a sessioncgi hook, which will work
much better.
2008-02-03 00:26:00 -05:00
Joey Hess
80915c830a
* cgi hooks are now run before ikiwiki state is loaded.
...
* This allows locking the wiki before loading state, which avoids some
tricky locking code when saving a web edit.
2008-02-03 00:23:04 -05:00
Joey Hess
0779013683
* aggregate: Forking a child broke the one state that mattered: Forcing
...
the aggregating page to be rebuilt. Fix this.
2008-02-02 23:56:13 -05:00
Joey Hess
6a7c3d1209
* Revert preservation of input file modification times in output files,
...
since this leads to too many problems with web caching, especially with
inlined pages. Properly solving this would involve tracking every page
that contributes to a page's content and using the youngest of them all,
as well as special cases for things like the version plugin, and it's just
too complex to do.
2008-02-02 23:40:57 -05:00
Joey Hess
870adf3bbf
move openiduser function to the openid plugin
2008-01-30 02:39:17 -05:00
Joey Hess
55e16be44a
move recentchanges link enabling into a pagetemplate hook
2008-01-30 02:29:12 -05:00
Jelmer Vernooij
246e93a300
Expand file-id in diffurl in the bzr backend.
2008-01-30 02:29:28 +01:00
Joey Hess
4284719464
rename bazaar -> bzr after discussion with jelmer
2008-01-29 19:48:30 -05:00
Joey Hess
381ac0f667
commit only the changed file
2008-01-29 19:44:26 -05:00
Joey Hess
274fb90026
stylistic changes
...
Remarkably few. Also, I removed the stub for the obsolete rcs_notify function.
2008-01-29 19:36:35 -05:00
Joey Hess
cddc335b2b
Merge git://git.samba.org/jelmer/ikiwiki
2008-01-29 19:28:51 -05:00
Joey Hess
f584abec0c
really fix the baseurl problem
...
the issue is that HTML::Template doesn't expand top-level variables when inside
a loop
2008-01-29 18:19:47 -05:00
Joey Hess
9e15bd27ea
avoid temp var
2008-01-29 18:07:20 -05:00
Joey Hess
7125c7269a
don't scan internal pages
...
scan() does too much. All that is needed is to preprocess the internal page
in scan-only mode.
2008-01-29 18:06:36 -05:00
Joey Hess
3803266b8f
merged the recentchanges branch
...
misc fixes
2008-01-29 17:50:11 -05:00
Joey Hess
7a40bcab9a
add missing test to avoid uninitialised value when a page with metadata is removed
2008-01-29 17:36:25 -05:00
Joey Hess
64a8c828b8
* meta: Add pagespec functions to match against title, author, authorurl,
...
license, and copyright. This can be used to create custom RecentChanges.
* meta: To support the pagespec functions, metadata about pages has to be
retained as pagestate.
* Fix encoding bug when pagestate values contained spaces.
2008-01-29 17:16:51 -05:00
Joey Hess
bc49e284ac
make the author metadata for changes pages be the un-munged openid
2008-01-29 16:05:31 -05:00
Joey Hess
9875bc10d1
avoid redundant recentpages action on the recentchanges page itself
2008-01-29 15:53:49 -05:00
Joey Hess
8b31c53366
added configuration for recentchanges
...
I kept it to a simple global configuration, rather than using the
preprocessor directive for recentchanges, because that had chicken and egg
problems and seemed overcomplicated. This should work reasonably well,
though it would be good to add some more metadata so that more customised
recentchanges pages can be made.
2008-01-29 15:51:32 -05:00
Joey Hess
cabd5140c4
add code to delete old change pages
2008-01-29 15:22:23 -05:00
Joey Hess
47ee266163
improve support for internal pages
...
This makes it a lot quicker to deal with lots of recentchanges pages
appearing and disappearing. It avoids needing to clutter up pagespecs with
exclusions for those pages, by making normal pagespecs not match them.
2008-01-29 15:05:49 -05:00
Joey Hess
35bc35660c
use new refresh hook
2008-01-29 13:08:48 -05:00
Joey Hess
e1ce482e41
add refresh hook
2008-01-29 13:08:32 -05:00
Joey Hess
a5ad70a8dc
updates
2008-01-29 12:59:49 -05:00
Joey Hess
152f32547f
indicate that an internal page will be rendered even if skipping it
...
This is important to do because until will_render is called, ikiwiki doesn't
know that the page exists. This avoids recentchanges re-writing every change
page every run.
2008-01-29 12:39:28 -05:00
Joey Hess
598d338b11
escape wikilinks and preprocessor directives
2008-01-29 12:37:39 -05:00
Joey Hess
7a4b7b1964
update RecentChanges action to point to page
2008-01-29 12:20:17 -05:00
Joey Hess
85eb1abc61
typo
2008-01-29 04:45:54 -05:00
Joey Hess
38e79f206e
more style improvements
2008-01-29 04:44:05 -05:00
Joey Hess
21f44880cd
non-tabular recentchanges display
...
Doesn't look as good as the old table, but works as a rss feed.
2008-01-29 01:48:55 -05:00
Joey Hess
d2a3695376
some parameteraisation and generalisation
2008-01-29 01:03:15 -05:00
Joey Hess
d7fdd04b5a
* Removed support for sending commit notification mails. Along with it went
...
the svnrepo and notify settings, though both will be ignored if left in
setup files.
2008-01-29 00:36:58 -05:00
Joey Hess
2ff726e875
don't render internal-use pages, and document them
2008-01-29 00:07:55 -05:00
Joey Hess
5921b86fcc
proof of concept implementation of static recentchanges
...
Currently hardcoded to write to recentchanges/*, and the page format needs
to be rethought to be usable for aggregation, but it basically works.
2008-01-28 23:56:26 -05:00
Joey Hess
2d3dc86d07
* prettydate,ddate: Don't ignore time formats passed to displaytime
...
function.
2008-01-28 23:48:27 -05:00
Joey Hess
0d2894711c
support for internal-use page types
...
If a page type starts with an underscore, hide it from the list of page types
in the edit form, and don't allow editing pages of that type. This allows
for plugins to add page types for internal use.
2008-01-28 23:08:48 -05:00
Joey Hess
29f3082772
move userlink to IkiWiki.pm
...
I have a plugin that needs to use userlink.
2008-01-28 22:58:31 -05:00
Joey Hess
9f25e3436b
change rcs_recentchanges when to absolute, not relative, time
...
No point in using a relative time value in rcs_recentchanges. Different
consumers of the info want different things.
2008-01-28 22:57:22 -05:00
Joey Hess
ad4f7bc075
remove debug message
...
This can legitimately happen when there's a simple merge.
2008-01-28 22:47:43 -05:00
Joey Hess
0f95adbd1d
Merge branch 'master' into recentchanges
2008-01-28 21:24:15 -05:00
Joey Hess
e30b96baba
figured out how rev is used..
2008-01-28 21:23:56 -05:00
Joey Hess
3436fed081
* inline: The template can check for FIRST and LAST, which will be
...
set for the first and last inlined page. Useful for templates that build
tables and the like.
2008-01-28 21:22:04 -05:00
Joey Hess
b11ddb88e6
add an id field to the rcs_recentchanges return structure
...
There was an undocumented field named "rev", I think "id" is a better name,
and nothing uses it yet.
2008-01-28 20:34:11 -05:00