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.

QBox ABC Information template:

This page contains Jack QBox php Extension (lessons)


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.

Be patient, i am just starting Writing design documentation and first Coding

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

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 installationEdit

  • 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 EUVEdit

  • 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 applicationsEdit

[/] # /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 permissionsEdit

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

Server side opkg updateEdit

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

User server configurationEdit

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

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

Pre CheckEdit

SpecialPages Version
Verify that the Extension:EUV is active
  • Select in your mediawiki Special Pages
  • Select Version
  • allocate Other

Last updated StatusEdit

Coming Functions
  • RPC mosaic bulletin board
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 pageEdit

EUV slit beam profiler stability distribution at xy ==> DEMO MODE
Bulletin board test FAB12 & Line 16
3d surface plots