Extension:MultimediaViewer

The MultimediaViewer extension gives the user of a wiki a slightly nicer interface for viewing full-size, or nearly full-size, images in their browser without extraneous page loads or confusing interstitial pages.

Installation
Option A: use Vagrant. See the MediaWiki-Vagrant page for instructions to get a MediaWiki installation going with a Vagrant virtual machine system.

Then do  and then.

Option B: install manually.

First, consider installing Extension:BetaFeatures. It may be helpful to hide the media viewer feature behind a preference. If you don't install this, it will be enabled everywhere. MultimediaViewer uses the GetBetaFeaturePreferences hook, which is created and run from BetaFeatures, to register this preference.

You'll also likely want to download Extension:CommonsMetadata - it's not a hard requirement, but without it you won't get very much information in your lightboxes.

Configuration
There are two configuration variables that are relevant for MultimediaViewer -, which will register a preference with BetaFeatures if set to true, and  , which will turn MMV on for only logged-in users if set to true. If neither are set, MMV will be turned on for all users!

Using the extension
First thing, before testing, is to make sure you're logged in and you have the preference enabled: Log in to the wiki and go to Special:Preferences, then visit the "Beta features" tab and check the appropriate box.

Next, go to a page that has a thumbnail on it. Try clicking on the image or on the "expand" icon near it. The lightbox should pop up and give you a bigger view of the image.

If you'd prefer, there's an exported test environment that you can use via Special:Import to quickly set up a suitable testing environment.

Extending with user scripts
If you want to add functionality, you'll have to dig around in the classes and change the functionality pretty manually. We'll work on making this a nicer experience, but given the class and method hierarchy we've built, we think it's not terribly difficult right now.

HOWEVER, you should avoid doing this too much. If things change internally, then your code might break in unexpected ways, and you (and your users) will be surprised. Don't let that happen, and wait for a more stable way to extend the product.

See /Extension:Metadata/ for an example.