summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/aggregate.pm
AgeCommit message (Collapse)Author
2008-05-05aggregate: Add support for web-based triggering of aggregation for people ↵Joey Hess
stuck on shared hosting without cron. (Sheesh.) Enabled via the `aggregate_webtrigger` configuration optiom.
2008-04-03aggregate: Correct a mistake in the code that dummy up a guid for feeds ↵Joey Hess
lacking one.
2008-03-14load HTML::Entities at topJoey Hess
Used in several subs, not all of which load it on demand, this seems simpler.
2008-03-12no need to use HTML::Entities, as it's loaded on demand by code belowJoey Hess
2008-02-03implement aggregate_locking designJoey Hess
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-03add aggregate locking functionsJoey Hess
2008-02-03* aggregate: Revert use of forking to not save state, that was not the rightJoey Hess
approach.
2008-02-02* aggregate: Forking a child broke the one state that mattered: ForcingJoey Hess
the aggregating page to be rebuilt. Fix this.
2008-01-29merged the recentchanges branchJoey Hess
misc fixes
2008-01-29add missing test to avoid uninitialised value when a page with metadata is ↵Joey Hess
removed
2008-01-26aggregate.pm: Replace Unicode apostrophe with ASCII to unbreak buildJosh Triplett
gettext choked on a Unicode apostrophe in the aggregate plugin, which appeared in a new error message in commit 4f872b563300e4a277cac3d7ea2a999bcf75d1ff. Replace it with an ASCII apostrophe.
2008-01-24* aggregate: Fork a child process to handle the aggregation. This simplifiesJoey Hess
the code, since that process can change internal state as needed, and it will automatically be cleaned up for the parent process, which proceeds to render the changes.
2008-01-16* aggregate: Don't let feeds set creation times for pages in the future.Joey Hess
2008-01-08* aggregate: Include copyright statements from rss feed as meta copyrightJoey Hess
directives. * aggregate: Yet another state saving fix (sigh). * aggregate: Add hack to support feeds with invalidly escaped html entities.
2008-01-05* aggregate: Only save state if it was already loaded.Joey Hess
2008-01-02round days old messageJoey Hess
2007-12-30I *think* that this comment is out of date.Joey Hess
2007-12-30* aggregate: Fix stupid mistake introduced when converting it to useJoey Hess
the needsbuild hook. This resulted in feeds not being removed when pages were updated, and probably other bugs. * aggregate: Avoid uninitialised value warning when removing a feed that has an expired guid.
2007-12-16loadstate needs to be called even if no pages are being builtJoey Hess
2007-12-16* meta: Drop support for "meta link", since supporting this for internalJoey Hess
links required meta to be run during scan, which complicated its data storage, since it had to clear data stored during the scan pass to avoid duplicating it during the normal preprocessing pass. * If you used "meta link", you should switch to either "meta openid" (for openid delegations), or tags (for internal, invisible links). I assume that nobody really used "meta link" for external, non-openid links, since the htmlscrubber ate those. (Tell me differently and I'll consider bringing back that support.) * meta: Improved data storage. * meta: Drop the hackish filter hook that was used to clear stored data before preprocessing, this hack was ugly, and broken (cf: liw's disappearing openids). * aggregate: Convert filter hook to a needsbuild hook.
2007-10-30improve use of seen hashJoey Hess
2007-10-30* Fix an aggregate plugin expiry bug. Over time, it's possible for the sameJoey Hess
page name to be expired and reused for several distinct guids. When this happened, the expiry code counted each past guid that had used that page name as a currently existing page, and thus expired too many pages.
2007-07-28* Various minor bug fixes for silly mistakes in the code, thanks to thejoey
various reviewers.
2007-07-25* Add a htmlext config option, this can be used to make ikiwiki generatejoey
html files with a different extension.
2007-05-21improve messagesjoey
2007-05-21Clear state after performing aggregation, since it could hypotheticallyjoey
change after the lock is dropped, and before the lock is regained by the build process. The state will now be reloaded by the build process.
2007-05-21* Change the aggregate plugin's locking strategy. Now it defers loading statejoey
until the wiki is building and already locked, unless it's aggregating. When aggregating, it does not wait for the lock if it cannot get it, and instead exits, to prevent aggregating processes from piling up.
2007-04-27* pagespec_match() has changed to take named parameters, to better allowjoey
for extended pagespecs. The old calling convention will still work for back-compat for now. * The calling convention for functions in the IkiWiki::PageSpec namespace has changed so they are passed named parameters. * Plugin interface version increased to 2.00 since I don't anticipate any more interface changes before 2.0.
2007-04-23improve messagejoey
2007-04-23* Fix aggregator to not warn when a feed contains no body content at all.joey
* Work around bug #420636 by, if XML::Parser crashes, running the feed content though Encode::decode_utf8.
2007-04-10* Optimise displaytime, trimming maybe 6% off the build time.joey
2007-04-01another htmlpage call that is no longer appropriatejoey
2007-04-01* Finally apply the index.html patch, with thanks to everyone who workedjoey
on and supported creating it (especially Tumov). This adds a "usedirs" option that makes ikiwiki use foo/index.html instead of foo.html as output page names. It is not yet enabled by default.
2007-03-31fix error message to include urljoey
2007-03-08typojoey
2007-03-08* Correct a deadlock that could occur in post-commit if the aggregate pluginjoey
was enabled and tried to lock the already locked wiki.
2007-03-07more i18n improvementsjoey
2007-02-15* Many changes to make ikiwiki very resistant to write failuresjoey
including out of disk space situations. ikiwiki should never leave truncated files, and if the error occurs during a web-based file edit, the user will be given an opportunity to retry. Inspired by the many ways Moin Moin destroys itself when out of disk. :-) * Fix syslogging of errors.
2007-01-14fehjoey
2007-01-14fix broken format string, manual unfuzzyjoey
2007-01-14* In the aggregator, check for and deal with post filenames that arejoey
longer than the maximum file length.
2007-01-03fix whitespacejoey
2006-12-29* Initial work on internationalization of the program code. po/ikiwiki.potjoey
is available for translation. * Export gettext() from IkiWiki module.
2006-11-08* Make sure to check for errors from every eval.joey
2006-11-08* Enable utf8 file IO in aggregate plugin.joey
* Fix some issues with the new registration form.
2006-11-06typojoey
2006-11-04* Fix issue with aggregate plugin updating expired pages.joey
2006-11-01* Implemented expiry options for aggregate plugin.joey
* Use precalculated backlinks info when determining if files need an update due to a page they link to being added/removed. Mostly significant if there are lots of pages. * Remove duplicate link info when saving index. In some cases it could pile up rather badly. (Probably not the best way to deal with this problem.)
2006-10-13* Make the aggregate plugin emphasize error messages.joey
2006-09-09* Work on firming up the plugin interface:joey
- Plugins should not need to load IkiWiki::Render to get commonly used functions, so moved some functions from there to IkiWiki. - Picked out the set of functions and variables that most plugins use, documented them, and made IkiWiki export them by default, like a proper perl module should. - Use the other functions at your own risk. - This is not quite complete, I still have to decide whether to export some other things. * Changed all plugins included in ikiwiki to not use "IkiWiki::" when referring to stuff now exported by the IkiWiki module. * Anyone with a third-party ikiwiki plugin is strongly enrouraged to make like changes to it and avoid use of non-exported symboles from "IkiWiki::". * Link debian/changelog and debian/news to NEWS and CHANGELOG. * Support hyperestradier version 1.4.2, which adds a new required phraseform setting.