The New User Template has a entry
* Optionally write protect your home page: (set it to your %TWIKIWEB%.WikiName)
* Set ALLOWTOPICCHANGE =
I consider this dangerous on a publicly accessible site so have cnged it to:
* Set ALLOWTOPICCHANGE = Main.%TOPIC%
However there are two problems with this.
- The %TOPIC% is not being expanded at registration time.
THisd leads to the second problem.
- Users view their home page and it is expanded, so they think they have access, but the code that scans the access cotnrol sees the string "%TOPIC%" rather than their WikiName and so refuses to allow them to edit their own home page.
I've further customized the home pages with
---++ Topics I've been involved in recently
---+++ TWiki
%SEARCH{ "Main.%TOPIC%" web="TWiki" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" regex="off" order="modified" reverse="on" limit="20"}%
The %TOPIC% isn't being expanded there either.
It seems that the construct to prevent expansion that existed in Cairo:
%NOP{
* Set ALLOWTOPICCHANGE = Main.%TOPIC%
}%
has been removed (when I try this it is copied across literally) and that construct's intent to prevent expansion when a template is initatied is now the default action.
I see no mention in the Dakar code that the
%NOP{}%
has been removed nor that the instantiation process has been changed.
I wouldn't expect %TOPIC% to be expanded on topic creation. It's not one of the set of variables defined as expanding then.
%NOP is still supported, same as in Cairo, during topic creation and normal topic view, and works perfectly, as per the documentation. I added a unit test to the registration to make sure of this. SVN 4642
Note that defining access permissions using variables is not supported.
- Set ALLOWTOPICCHANGE = Main.Item95
isn't going to do anything when used in the template. Because you have placed it in a NOP, when a new topic based on this template is instantiated, it is going to get removed anyway.
CC