Page MenuHomePhabricator

Implement user permissions for saving books to the wiki
Closed, ResolvedPublic

Description

Author: happy.melon.wiki

Description:
After discussion on enwiki, we have concluded that we do not find the ability for indiscriminate users to save books to the wiki to be constructive. We wish to disable on-wiki saving for at least the majority of users.

The nicest and most flexible way to develop the extension is to create new permissions, say 'savebooktouserspace' and 'savebooktoprojectspace', that can be assigned to arbitrary groups as with other permissions. This should replace the hardcoded restriction to */autoconfirmed, respectively. Naturally, the "save book" box on [[Special:Book]] should not appear if the user is not able to save in any location.


Version: unspecified
Severity: enhancement
URL: http://en.wikipedia.org/w/index.php?oldid=292049119#Moving_forward

Details

Reference
bz18902

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:37 PM
bzimport added a project: Collection.
bzimport set Reference to bz18902.

lastword wrote:

However, downloading as PDF and requesting print from PediaPress is, of course, fine :)

development wrote:

As of r51151, the MediaWiki rights needed to save collections in the user or the (configurable) "community" namespace can be changed via two global variables $wgCollectionSaveAsUserPageRight and $wgCollectionSaveAsCommunityPageRight. These rights can be configured to be e.g. "autoconfirmed" or turned of by setting them to null.

development wrote:

Needs to be checked on the PHP side, too.

development wrote:

Implemented in r51870.

r51870/r51943 changed the permissions from flexible strings to hardcoded permission key values:

$wgAvailableRights[] = 'collectionsaveasuserpage';
$wgAvailableRights[] = 'collectionsaveascommunitypage';

By default no user will have these rights.

Note I've cleaned up the README.txt in r52180; the entries for the previous variables were inadvertently left in.

fvassard wrote:

InitializeSettings has been updated and deployed to reflect this change.