[Mediawiki-l] New Extension:NSFileRepo Announcement - Protect images and files the same as other NameSpace access restrictions

Jack D. Pond jack.pond at psitex.com
Sun Jul 12 04:25:26 UTC 2009


After two years of promising to look at this, I finally did (mostly because
I had to update several wikis to use SMW).

It requires only a very minor patch to GlobalFunctions.php to install, and
I'm working on removing that barrier in the future.

See: http://www.mediawiki.org/w/index.php?title=Extension:NSFileRepo for
full details and installation instructions.

==What can this extension do? ==

The NSFileRepo extension implements a way to restrict access to specified
files and images to a given set of user groups using NameSpace protections.
This provides a more fine grained security model and allows access
restriction to users in specified groups.

==Usage==

Generically, you use the same syntax as a normal file/image reference link,
adding the namespace between the file specifier ("File","Image", or
"Media"), and the file name:

[[{FILE_NS}:{Namespace}:{Filename}]]

Example(Where "Project" is the protected namespace and "ProjectFile.pdf" is
the file to which you wish to limit access):

[[File:Project:ProjectFile.pdf]]]

The standard for accessing files/images is generally:

[[File:Filename.txt]]
[[Image:Filename.jpg]]
[[Media:Filename.pdf]]

This extension allows you to protect access to files/images, by adding the
namespace text identifier after the file namespace identifier, for
example(Where "Project" is the protected namespace and "ProjectFile.xxx" is
the file to which you wish to limit access):

[[File:Project:Filename.txt]]
[[Image:Project:Filename.jpg]]
[[Media:Project:Filename.pdf]]

Limitations of security are the same as for Extension Lockdown.  To review
these limitations, [[Extension:Lockdown#Additional_measures | please
reference here]].

To use the full capabilities of this extension (e.g., specific namespace
protections), you will need to install and use the namespace protections
provided through [[Extension:Lockdown]].

This extension was made possible by the introduction of Repository Classes
by Tim Starling - an elegant and brilliant implementation.  It uses a new
Local Repository class mechanism.  Technical details on how this extension
works can be found [[Extension:NSFileRepo/DOC | here]].

This extension has only been tested on 1.15.0, but should work on everything
>= 1.13.0

I will be testing 1.13.0 and 1.14.0 within the next couple of days.  As
always, I appreciate any help/advice/support.

Hope this helps!

Jack D. Pond
"Although prepared for martyrdom, I preferred that it be postponed." -- Sir
Winston Leonard Spencer Churchill(1874-1965)




More information about the MediaWiki-l mailing list