Motivation
You may want to be able to rename a web even if you don't have rename access to its parent.
Description and Documentation
TWiki::UI::Manage::_createWeb() calls TWiki::Users::canCreateWeb($users, $web) to check if the user is allowed to create the web. But there is no similar check in TWiki::UI::Manage::_renameweb(). For symmetry and flexibility _renameweb() needs to call TWiki::Users::canRenameWeb($user, $oldWeb, $newWeb). And TWiki::Users::canRenameWeb() will be similar to TWiki::Users::canCreateWeb() -- calling the canCreateWeb method of the user handler.
Examples
If {UserSubWebs}{Enabled} is true and user registration is not required (basic user information is provided by LDAP or other non-TWiki means), then a user should be able to create and delete their personal web as a subweb of the Main top level web. Meanwhile, you may want to restrict changes to the Main web to prevent garbage from accumulating -- the Main web will soon be filled with junks if you have thousands of users but for restriction. As of now, you can allow a user to create their subweb under Main by defining canCreateWeb() in your user mapping handler. But it's not possible to allow a user to delete or rename their personal web because of lack of TWiki::Users::canRenameWeb() hence no call for that in TWiki::UI::Manage::_renameweb().
Impact
Implementation
--
Contributors: Hideyo Imazu - 2017-01-16
Discussion
Spec looks good to me.
--
Peter Thoeny - 2017-01-19