Page MenuHomePhabricator

Whoops! The default skin for your wiki ($wgDefaultSkin), vector, is not available right after installation
Closed, ResolvedPublic

Description

After a fresh install (using maintenance/install.php command line installer on PostgreSQL) my new wiki greets me with a message:

Whoops! The default skin for your wiki ($wgDefaultSkin), vector, is not available.

Your installation seems to include the following skins. See Manual: Skin configuration for information how to enable them and choose the default.

vector / Vector (disabled)
If you have just installed MediaWiki
You probably installed from git, or directly from the source code using some other method. This is expected. Try installing some skins from mediawiki.org's skin directory, by:
Downloading the tarball installer, which comes with several skins and extensions. You can copy and paste the skins/ directory from it.
Cloning one of the mediawiki/skins/* repositories via git into the skins/ directory of your MediaWiki installation.
Doing this should not interfere with your git repository if you're a MediaWiki developer.
If you have just upgraded MediaWiki
MediaWiki 1.24 and newer no longer automatically enables installed skins (see Manual: Skin autodiscovery). You can paste the following lines into LocalSettings.php to enable all currently installed skins:
require_once "$IP/skins/Vector/Vector.php";
If you have just modified LocalSettings.php
Double-check the skin names for typos.

Here is my "skins" directory:

$ ls -al skins/
total 20
drwxr-xr-x 3 saper wheel 4096 Aug 31 01:22 .
drwxr-xr-x 15 saper wheel 4096 Aug 31 01:52 ..
drwxr-xr-x 3 saper wheel 4096 Aug 31 01:22 common
-rw-r--r-- 1 saper wheel 26 Aug 31 01:22 .gitignore
-rw-r--r-- 1 saper wheel 1160 Aug 31 01:22 README
lrwxrwxrwx 1 saper wheel 31 Aug 31 00:27 Vector ->

../../../../gerrit/skins/Vector

$ ls -l skins/Vector/Vector.php
-rw-r--r-- 1 saper wheel 3857 Aug 26 21:36 skins/Vector/Vector.php

Actually, since I7b8bd77f5868af2ccf464e48db771f2e8e0472ff (https://gerrit.wikimedia.org/r/#/c/156440/) Vector skins worked in my installer
fine, but after the installation it fails badly.

Should this line:

require_once "$IP/skins/Vector/Vector.php";

be added automatically by the installer? Where does autodiscovery belong now?

https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery promises:

The bundled skins which come with MediaWiki (like Vector or MonoBook) will continue to be updated with the MediaWiki Core. When you upgrade your installation to MediaWiki 1.24 or newer, you will also get a new version of these skins. (You should then remove the old copies from the skins/ folder, see Manual:Upgrading#Files remaining that may cause errors.)

... but this no longer seems true...


Version: 1.24rc
Severity: major

Details

Reference
bz70222

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:39 AM
bzimport set Reference to bz70222.
bzimport added a subscriber: Unknown Object (MLST).

All such instructions on mediawiki.org refer to the 1.24 *tarball* (and not git installation), and the tarball hasn't been released yet.

The require_once line should definitely be added by the installer. The web installer does it. I'm not sure about the command-line one, to be honest…

I'd propose this to move back to the Skins component for the reasons listed in bug 68332 comment 9 (https://bugzilla.wikimedia.org/show_bug.cgi?id=68332#c9) namely

(...)

(D) (...) we (should) have a potential list of candidate skins for the default.

(E) If Vector is not present, one of the present skins should be the new default one.

(F) Even if Vector is present, we might think of some other, pre-installation mechanisms to say, *This is my default skin*

(G) All of above should happen somewhere around includes/Setup.php and not in the installer (that's why I don't think installer is the right component here).

Skin autoconfiguration/fallback is not the Installer issue; it should be provided by the Setup.php code.

I disagree. I think the installer is the only part of MediaWiki that should have anything to do with skin autodiscovery, and it already implements all of your requirements other than not being an installer.

The part of this bug that seems valid and solvable to me is, whether installer skin autodiscovery works with the command-line installer. Let's focus on that. I'll file it as a separate bug because I don't like repurposing bugs, and you're asking for other things here too.

The installer bug (bug 70815) has been fixed. I don't know if there's anything left to do here?

What is the status of this bug? It is targeted for 1.24, which Mark wants to release in a week-and-a-bit. Can it be closed?

matmarex claimed this task.

I suppose it's fixed.