Create new skin

How to create a new skin, and "BasicInternet:How_to_edit" a web page.... = Title::Create new skin for a project= following examples in owncloud file CreateNewSkin_setup.docx
 * Copy /etc/skins/bif (including BIF*.php) into a new directory, e.g. SAT
 * change all BIF into SAT (or project shortcut)
 * create namespace (see further down)
 * create home page for that namespace, explanation of elements in BasicInternet:How_to_edit
 * wrong: edit /etc/nginx/sites-enabled/default and add subdirectory, e.g. sat.unik.no (ask Arild to do)
 * create logo sat_logo.png and put it into $IP/skins/common/images

= Update custom skin (SAT) = edits in SAT.php
 * include the background-image sat_logo.png - 190 x 105 px
 * and link http://cwi.unik.no/SAT:Home  (!note: no 'wiki' in this link)

edit sat_template.css
 * dark blue #060080, Telenor SAT #457ABE, GravidPluss #993365, light Gravid #CD99B2
 * Gradients are done using:
 * background: #0C4B88; /* Fallback for IE */
 * background: linear-gradient(#001F53, #0C4B88);
 * line106 sat-header = background: #457ABE;
 * line 165 p-logo = background….
 * line 610 sat-footer = background ….
 * note: header colour in MediaWiki:Hf-nsheader-SAT
 * line 99 = h1, h2, h3 { color: #060080; }

Colours used for DigI
 * 250, 245, 189 yellow and 48,77,11 for green

note: main.css = p-logo, width: 11em;

Customisation of the wiki
Navbar is defined through MediaWiki:Hf-nsheader-SAT, MediaWiki:Hf-nsheader-GravidPluss, MediaWiki:Hf-nsheader-BasicInternet, MediaWiki:Hf-nsheader-DigI and for main MediaWiki:Hf-nsheader-
 * Template:Main_Navbar, Template:BIF_Navbar, Template:GravidPluss_Navbar, Template:GravidAdmin_Navbar, Template:DigI_Navbar, Template:DigAdmin_Navbar
 * Footer like MediaWiki:Hf-nsfooter-DigI using e.g. gravid skin, need to change CSS defined in skins/gravid/gravid_template.css for updated colours in footer
 * Footer for main namespace MediaWiki:Hf-nsfooter-

grep -rnw '.' -e "navbar" to identify text in directory MediaWiki:Hf-nsheader-BasicInternet which includes -, - - MediaWiki:Hf-nsfooter-BasicInternet
 * edit header

on MediaWiki:Common.css
 * add #bif-p-search, #sat-p-search
 * .catlinks { display: none; }  # for removing overlapp of category links

edit namespaces.php
$wgSkinPerNamespace[NS_BIF] = "bif"; $wgSkinPerNamespace[NS_BIF_TALK] = "bif";
 * 1) Skins

= Access control, Extension:Lockdown = require_once "$IP/extensions/Lockdown/Lockdown.php";
 * 1) in extensions.php

= Examples = define("NS_SAT", 178); define("NS_SAT_TALK", 179); $wgExtraNamespaces[NS_SAT] = 'SAT'; $wgExtraNamespaces[NS_SAT_TALK] = 'SAT_talk'; $wgNamespaceProtection[NS_SAT] = array('SAT-edit'); $wgNamespaceProtection[NS_SAT_TALK] = array('SAT-talk-edit'); $wgGroupPermissions['SATUsers']['SAT-edit'] = true; $wgGroupPermissions['SATUsers']['SAT-talk-edit'] = true; $wgNamespacesToBeSearchedDefault[NS_SAT] = true; $wgNamespacesToBeSearchedDefault[NS_SAT_TALK] = false; $wgNamespacesWithSubpages[NS_SAT] = true; $wgNamespacesWithSubpages[NS_SAT_TALK] = true; $smwgNamespacesWithSemanticLinks [NS_SAT] = true; $wgGroupPermissions['SATUsers']['write'] = true; $wgNamespacePermissionLockdown[178]['read'] = array('*'); $wgNamespacePermissionLockdown[178]['edit'] = array('SATUsers'); $wgNamespacePermissionLockdown[178]['create'] = array('SATUsers'); $wgNamespacePermissionLockdown[179]['read'] = array('SATUsers'); $wgNonincludableNamespaces[] = 179;
 * 1) Namespace SAT ESA-Ka-band 178,179
 * 1) include custom NS to configuration array
 * 1) Restrict SAT namespace edit
 * 1) enable namespaces search
 * 1) enale Namespaces Subpages
 * 1) add to NamespacesWithSemanticLinks
 * 1) create user group 'SATUsers'
 * 1) restrict "read" permission to logged in users
 * 1) prevent inclusion of pages from that namespace
 * 2) $wgNonincludableNamespaces[] = 178; # public namespace

Basic Admin settings
$wgGroupPermissions['BasicAdminUsers']['read'] = true; $wgNamespacePermissionLockdown[170]['read'] = array('BasicAdminUsers'); # only BasicAdminUsers can read $wgNamespacePermissionLockdown[170]['edit'] = array('BasicAdminUsers'); $wgNamespacePermissionLockdown[170]['create'] = array('BasicAdminUsers'); $wgNamespacePermissionLockdown[171]['read'] = array('BasicAdminUsers'); $wgNonincludableNamespaces[] = 170; $wgNonincludableNamespaces[] = 171;
 * 1) create user group 'BasicAdminUsers'
 * 1) restrict "read" permission to logged in users
 * 1) prevent inclusion of pages from that namespace

Citi Admin settings
$wgGroupPermissions['CitiAdminUsers']['read'] = true; $wgNamespacePermissionLockdown[174]['read'] = array('CitiAdminUsers'); # only CitiAdminUsers can read $wgNamespacePermissionLockdown[174]['edit'] = array('CitiAdminUsers'); $wgNamespacePermissionLockdown[174]['createpage'] = array('CitiAdminUsers'); $wgNamespacePermissionLockdown[174]['upload'] = array('CitiAdminUsers'); $wgNamespacePermissionLockdown[175]['read'] = array('CitiAdminUsers'); $wgNonincludableNamespaces[] = 174; $wgNonincludableNamespaces[] = 175;
 * 1) create user group 'CitiAdminUsers'
 * 1) restrict "read" permission to logged in users
 * 1) prevent inclusion of pages from that namespace

define custom namespaces
$wgGroupPermissions['CitiAdmin']['read'] = true; $wgExtraNamespaces[100] = 'Private'; $wgExtraNamespaces[101] = 'Private_talk'; $wgGroupPermissions['SATUsers']['write'] = true; $wgNamespacePermissionLockdown[178]['read'] = array('*'); $wgNamespacePermissionLockdown[178]['edit'] = array('SATUsers'); $wgNamespacePermissionLockdown[178]['create'] = array('SATUsers'); $wgNamespacePermissionLockdown[179]['read'] = array('SATUsers'); $wgNonincludableNamespaces[] = 179;
 * 1) in namespaces.php
 * 2) creating a group - as soon as the group permission is addressed, the group is created
 * 1) namespace example
 * 1) create user group
 * 1) restrict "read" permission to logged in users
 * 1) prevent inclusion of pages from that namespace
 * 2) $wgNonincludableNamespaces[] = 178; # public namespace

= Footer configuration = uses: Extension:Header_Footer

Per-Namespace Header and Footer
Edit the pages: For the 'main' namespace, just use blank i.e. no string, but with the hyphen:

Per-Page Header and Footer
Edit the pages:

Disable commands
On edit protected pages, one can add
 * to suppress the page level header
 * to suppress the page level footer
 * to suppress the namespace level header
 * to suppress the namespace level footer

CSS

 * Page Level Header:
 * Namespace Level Header:
 * Page Level Footer:
 * Namespace Level Footer:
 * extra space before footer:

Extra space before footer
Error: the custom footer was overlapping with the Namespace Level Footer hf-nsfooter
 * add  to CWI.php
 * add example for in cwi-template.css

Alternatively, add the following lines to the Web pages, e.g. Template:GravidPluss_About

Specific cwi settings
Namespace BasicInternet Namespace Main
 * MediaWiki:Hf-nsfooter-BasicInternet
 * MediaWiki:Hf-nsfooter-

Colour codes
 * CWI blue #174F86
 * BasicInternet white #DC143C

Overall width: 999px, framed 979px
 * changed font to small in cwi_template.css

= Namespaces = Our Namespaces used on praia.unik.no -
 * Main - colour #0c 4b 88 (for colour behind menu)
 * 152 Yeboo
 * 154 SMT
 * 156 Movation
 * 158 Nextelco
 * 160 FWA (free web access)
 * 162 SecEDU
 * 164 GravidPluss
 * 166 BasicInternet
 * 168 UNIKUM
 * 170 BasicAdmin - group: BasicAdmin (using Lockdown)
 * 172 GravidAdmin - group:GravidAdmin
 * 174 CitiAdmin - group:CitiAdminUsers
 * 176 CSM (for Citi-Sense-MOB) - CSMUsers
 * 178 SAT - for ESA Ka Satellite propagation - public for all
 * Colour: 00 1B 71
 * see all in praia ... /var/www/mediawiki/namespaces.pnp

Elements:
 * colour behind Menu: .cwi-portlet (background)

= Specific pages =
 * MediaWiki:Createaccount-text for the login message
 * $wgFavicon = '/GP_Icon/favicon.ico';   #Favicon in ITS.php...