From mediawiki.org
MediaWiki extensions manual
OOjs UI icon advanced-invert.svg
Release status: unmaintained
Implementation Parser function , Extended syntax , Notify, Hook , Database , Special page
Description Centralized and Remote accessible FAB diagnostic for EUV sources and peripherals
Author(s) Jan Boer (jackqboxtalk)
Latest version 1.0 (2016-10-05)
MediaWiki 1.25.5
PHP 5.5.36
Database changes No
Composer qbox4u/mediawiki-github
License GNU General Public License 2.0 or later
Release notes
Example TBS
User, Admin, Remote

Check usage and version matrix.


What is this weird extension doing you would say

EASY for all semiconductor technicians ........ Centralized and Remote accessible FAB diagnostic and analysis Based on KISS TQM and SPC for a kind of EUV sources and peripherals with interfaces to integrate and communicate (stream data) with existing dedicated FAB IT equipment and environments.

Github will contain the Latest versions of the Jac QBox4u public extension applications, and MediaWiki.org some of the technical documentation. Other available sophisticated extension will not be published here.

Basically, this will be an extension that integrates technically peripherals ( IN AN SECURED WAY ) of an entire FAB so that you are able to get the MTTR instantly down by sitting relaxed on an chair either at home or office or busy somewhere running down through the corridors of an huge FAB holding your cell phone that provides you the required diagnostic answers ^_^

Clean Qnap QBox4u server installation[edit]

  • Remove your HDD(s) from the tray (if for TS-109, the same).
  • Boot up the NAS without HDD(s) installed. You will hear a short beep, and after about 1~2 minutes, a long beep.
  • The system will use the embedded image to boot up.
  • Then run the Finder on your PC, it will help you to find the NAS on the network.
  • Use the default ID (admin) and password (admin) to login if it asks.
  • Hot-plug the HDD(s) into the NAS.
  • Go through the installation process including formatting hard disk and installing the firmware.
  • install phpMyAdmin from the QNap admin app center
  • install manually Entware-ng

Installation of extension EUV[edit]

  • Open the QBox4u QNAP folder where your main MediaWiki Application resides
  • Locate inside this folder extensions
  • Create inside the folder extensions an new folder called EUV
  • Copy from github EUV_Vxxx.zip into your PC
  • Unzip the file and copy them into the subfolder extensions/EUV
  • Return to the QBox4u QNAP folder where the main MediaWiki Application resides
  • Copy the file LocalSettings.php to LocalSettings_org.php
  • Add the following lines at the bottom inside the file LocalSettings.php
  • Allocate $wgLogo
  • Set $wgLogo = "$wgResourceBasePath/resources/assets/<your wiki image>.png";
  • Allocate $wgScriptPath
  • Set $wgScriptPath = "/VHost_qbox4u/conf/euv/mwk";
  • Add the following at the bottom
# Add more configuration options below.
$wgEnableParserCache 	= false;
$wgCachePages 		= false;
$wgFileExtensions = array_merge($wgFileExtensions, array('doc', 'xls', 'pdf', 'mp3', 'ico', 'tla', 'ppt'));
$wgUseAjax = true;
$wgAllowUserJs = false;
$wgAllowUserCss = false;
$wgExternalLinkTarget = '_blank';
$wgUploadDirectory 	= "{$IP}/images";
$wgDisableCounters = false;
$wgShowExceptionDetails = true;
# refuse users already available on the blacklist
$wgEnableDnsBlacklist = true;
$wgDnsBlacklistUrls = array( 'xbl.spamhaus.org', 'dnsbl.tornevall.org' );

# **************** Implement default additional extension *********************
wfLoadExtension( 'CategoryTree' );
wfLoadExtension( 'NewestPages' );
wfLoadExtension( 'HitCounters' );

# **************** Implement extension EUV *********************
# Set the Google Server side ReCapcha codes 
# The Page HTML code class="g-recaptcha" data-sitekey 
$PublicGoogleReCapcha  = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
# The secret Google verification code 
$SecretGoogleReCapcha	= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
# Enable Raw HTML only for Admin controlled pages with the namespace EUV
define( 'NS_EUV',  1600 );
define( 'NS_EUV-TALK',  1601 );
define( 'NS_EUV-MESSAGE',  1602 );
$wgExtraNamespaces[NS_EUV] 				 	= 'EUV';
$wgExtraNamespaces[NS_EUV+1] 				= 'EUV_talk';
$wgExtraNamespaces[NS_EUV+2] 				= 'EUV_message';
$wgNamespaceProtection[NS_EUV] 			 	= array( 'html-edit' ); 
$wgGroupPermissions['sysop']['html-edit'] 	= true;
$wgRawHtml 									= true;
$wgExtensionFunctions[] 					= 'wfHtmlEUVNamespace';
function wfHtmlEUVNamespace() {
    if( array_key_exists( 'title', $_REQUEST ) ) {
        $title = Title::newFromText( $_REQUEST['title'] );
        if( is_object( $title ) ) {
            global $wgRawHtml;
            $wgRawHtml = $title->getNamespace() == NS_EUV;

wfLoadExtension( 'EUV' );

# **************** End of Implement extension EUV *********************

Rebuild mediaWiki maintenance applications[edit]

[/] # /mnt/ext/opt/apache/bin/php /share/Web/VHost_qbox4u/conf/euv/mwk/maintenance/update.php
[/] # /mnt/ext/opt/apache/bin/php /share/Web/VHost_qbox4u/conf/euv/mwk/maintenance/rebuildall.php

Reset the image permissions[edit]

[~] # chown -R httpdusr:everyone /share/Web/VHost_qbox4u/conf/euv/mwk/images/EUV

Server side opkg update[edit]

[~] # opkg update
[~] # opkg list_installed
gnuplot - x.0.x-x
[~] # opkg install gnuplot
Installing gnuplot (5.0.5-1) to root...
[~] #

User server configuration[edit]

Check inside extension.json the correct path of the following items

the PHP execute bin[edit]
  • "EUV_QBox_PHPBin": "/mnt/ext/opt/apache/bin/php"
the gnuplot execute bin[edit]
  • "EUV_QBox_GnuplotBin": "/share/MD0_DATA/.qpkg/Entware-ng/bin/gnuplot"
the mysqldump execute bin[edit]
  • "EUV_QBox_mysqldump": "/mnt/ext/opt/mariadb/bin/mysqldump"

Pre Check[edit]

SpecialPages Version

Verify that the Extension:EUV is active

  • Select in your mediawiki Special Pages
  • Select Version
  • allocate Other


Implemented Pages

  • Special:EUVAdmin

The following Special:EUVAdmin administrator page functions are implemented

  • Class EUVParmFunctions
    • wf_EUV_Get_all_WIKI_parameters
    • wf_EUV_Display_all_WIKI_parameters_TableTop
    • wf_EUV_Display_all_WIKI_parameters_TableBottom
    • wf_EUV_get_WIKI_BASEPARM_1280
    • wf_EUV_Create_all_WIKI_parameters_array_render
  • Class EUVTQM
    • wf_EUV_GetTQM_PSD_array
    • wf_EUV_CreateTQM_PSD_Dropdown
    • wf_EUV_CreatePSDDemo
  • Class EUVGDFunctions
    • wf_EUV_GDrandomCaptcha
    • wf_EUV_GDimg_bsg
    • wf_EUV_GDimg_mcg
    • wf_EUV_GDtexttoimage
  • Class EUVRecapcha
    • wf_EUV_ReCapchaCheck
    • wf_EUV_ReCapchaPage_CreatePage
    • wf_EUV_ReCapchaPage_Mailbinding
  • Class EUVgnuplot
  • Class EUVmosa
    • wf_EUV_CreateMOSA_Demo
    • wf_EUV_MOSA_Output_Page_Header
    • wf_EUV_MOSA_Create_HTML_Mosa
    • wf_EUV_MOSA_Output_Page_Footer
    • wf_EUV_MOSA_MosaItem
    • wf_EUV_MOSA_SetControlLimits
    • wf_EUV_MOSA_SetConfFabParams
    • wf_EUV_MOSA_sandboxParse
  • Class EUVFileFunctions
    • wf_EUV_ChkUserDir
    • wf_EUV_CreateRandomFilename
    • wf_EUV_ListZipArchive
    • wf_EUV_ListAllfilenames (RECURSIVE FOLDERS)
    • wf_EUV_GetFileIcon
    • wf_EUV_DispayAllFileIcons
  • Class EUVmail
    • wf_EUV_Send_Email
  • Real time browser update by ob_start function
  • Auto update configuration,Global's,Database and functions by userconfig.json
  • Create and view EUV Mysql Database backup's
  • Display the last 10 EUV Diagnostics Logging Files
  • Test the TAG functionality
  • QBox qnap server php bin executable search
  • Import default images
  • Create and Update default EUV Pages
  • Display Classes and functions information
  • Test basic lantronix UDS1100 functionality
  • Testing FTP functionality
  • Display Globals wgEuvUserconfig_json

First Samples of prototype EUV Admin page[edit]

EUV slit beam profiler stability distribution at xy ==> DEMO MODE
Bulletin board test FAB12 & Line 16
3d surface plots
EUV Admin page 01.PNG EUV Admin page 03.PNG Listfileicons 01.PNG Admin page 02.PNG Euv obstart 01.PNG
EUV Classes 01.PNG Recap page 03.png Recap page 04.png Euvgd 01.PNG RPN-PSD 01.PNG
GetAParm 02.PNG GetAParm 03.PNG