Por definición las Webs realizadas con MediaWiki están orientadas a compartir todo el contenido de las mismas, sin embargo para restringir el acceso a determinadas páginas existen extensiones. En las páginas de las mismas se recuerda que el mensaje anterior.
Estas extensiones (Extensions) de MediaWiki permiten crear categorías privadas que hacen que una parte del contenido de la Wiki solo sea visible para los grupos de usuarios que defina el administrador de la página.
CategoryPermissions
Esta extensión funciona correctamente y permite controlar el acceso. Ver las instrucciones de Descargar y utilización aquí: CategoryPermissions. Ver instrucciones en castellano en introBlog.
La pega que tiene es que hay que ir categoría por categoría definiendo permisos para cada una de ellas en LocalSettings.php con lo cual si creamos una nueva categoría y no la controlamos ahí entonces no será accesible. Para Wikis con muchas categorías no la veo práctica.
CategoryControl
Extensión ideal para control de categorías por su sencillez de uso. Ver las instrucciones de Descargar y utilización aquí: CategoryControl.
Se añade la línea de la extensión en LocalSettings.php como es habitual:
PLAIN TEXT PHP: require_once("$IP/extensions/CategoryControl/CategoryControl.php");Y se configura de la siguiente forma:
PLAIN TEXT PHP: $wgCategoryPermissions['CategoryName']['read'] = array( 'sysop', 'Group1' ); // Users who are in both NewGroup and OtherGroup can read pages in this category.Esto quiere decir que la categoría CategoryName solo será visible para los usuarios de grupo sysop y Group1 y dará un mensaje de error para el resto de usuarios. Si una categoría no es mencionada entonces se usan los permisos por defecto que se hayan definido para la Wiki. Esto simplifica mucho el uso de la extensión al tener que notificar sólo las excepciones.
Otros ejemplo de uso son:
PLAIN TEXT PHP: $wgCategoryPermissions['category']['*'][] = 'sysop'; // Sysops can do anything they want with this category.$wgCategoryPermissions['category']['*'][] = 'bureaucrat'; // Bureaucrats can do anything they want with this category.
$wgCategoryPermissions['category']['read'] = array( 'newgroup', 'othergroup' ); // Users who are in both NewGroup and OtherGroup can read pages in this category.