The new internal page feature is designed for something like [[plugins/aggregate]]. How to transition to it though? inlines of aggregated content would need to change their pagespecs to use `internal()`. > [[patch]] in git://git.debian.org/git/users/smcv/ikiwiki.git, branch "aggregate". > Migration is a two-step process: first change all your pagespecs to use `internal()`, then add `internalize="yes"` to all your aggregate invocations. --smcv.pseudorandom.co.uk > Thanks for working on this. > > I see one problem, if internalize is flipped on and there are existing > aggregated pages, htmlfn will not return the right filename for those > pages when expiring them. Seems that `$was_internal` (or just the full > source filename) should be recorded on a per-guid basis. Could you do > that? > > I'm weighing the added complexity of having an internalize option > (which people would have to add, and would probably forget), with just > making aggregate create all new pages as internal, and having a flag day > where all inlines and other uses of aggregated pages have to change > pagespecs to use `isinternal()`. > > There are real bugs that are fixed by making > aggregated plugins internal, including: > - Avoids web edits to aggregated pages. (Arguably a security hole; > though they can be locked..) > - Significant speed improvements. > - Less disk use. > > If internal has to be manually enabled, people will forget to. I'd rather > not have to worry about these bugs in the future. So, I'm thinking flag > day. --[[Joey]] > OK, there's a simpler approach in the same repository, branch > "aggregateinternal". It just adds an aggregateinternal option > for the whole wiki. > > On a flag day, everyone has to change their inline directives > to use `internal()`, after which this option can be switched on. > When changing the option, you'll have to clean up the mess from > old aggregated pages by hand, and re-aggregate. > > If this is a direction you prefer, the next step would be to > add support for existing wikis setting this option - for instance > it could look for non-internal pages that were previously > aggregated, and convert them to internal, the first time aggregation > runs. --smcv > Sure, that seems reasonable. Perhaps `ikiwiki-transition` could be used > to move the pages, and even, possibly update the pagespecs (not sure how > it could figure out which ones tho). --[[Joey]] > I've patched ikiwiki-transition to have an aggregateinternal mode. > See my aggregateinternal branch, again. > "ikiwiki-transition aggregateinternal $setupfile" moves the pages around, > although it doesn't update the pagespecs (I wouldn't know how...) --[[smcv]] [[!tag patch done]]