This is a comment on Upgrade to 5.5, posted by WikiAdmin at 16.09.2019 11:24
View source for Re: Empty body_r and body_toc
The installer empties ##body_r## and ##body_toc## because the toc and the headings along with other markup has changed. So every page must be recompiled, parsed again. a. The ##show## handler recompiles a page if ##body_r## and ##body_toc## is not available (empty). * add a page reload condition, object cache issue? * need to test some cases to get a bigger picture * seems an object cache issue in ##built_toc## function * ##$page = $this->load_page($tag);## b. The Wiki-links option under Re-Synchronize data in the Admin panel re-parses all pages and updates the emptied ##body_r## and ##body_toc## fields, as mentioned in the ((/Dev/Release/R5.5/Upgrade upgrade guide)). However there are some open issues: * the routine fails to continue if it can't parse a particular page or triggers an unwanted redirect * the page redirect may exceed the allowed value of your browser * the used routine settings may exceed your allowed system resources * the Wiki-links re-rendering option needs more testing and tuning, so far you can * tune max records per turn * add an array to exclude failing pages in ##foreach## using ##continue## * turn on debugging, e.g. ##Diag::dbg('GOLD', $record, $page['tag']);## shows the last failing page Fixes 1. I fixed some ((revision:c3444ed issues)), excluded all system pages, but it should exclude only the pages failing to parse, and disabled the redirect action again. 1. ((revision:f7e059d added option)) to re-compile all pages Debugging: 1. It seems that the ##changepassword## and the ##registration## action causes the routine to fail. WHY? * ##login## works. I assume both actions trigger a redirect.