Difference between revisions of "Opasnet update 2017"

From Testiwiki
Jump to: navigation, search
m
Line 34: Line 34:
 
**MyExtension.php no longer supported, need extension.json for registering extensions
 
**MyExtension.php no longer supported, need extension.json for registering extensions
 
**Composer might be useful for managing PHP dependencies
 
**Composer might be useful for managing PHP dependencies
*RTools MediaWiki extension
+
 
**RTools special page class (now named SpecialRtools)
+
=== RTools MediaWiki extension ===
***Creates instance of rtools_client
+
*RTools special page class (now named SpecialRtools)
***separate config file, which is included by SpecialRTools instead of rtools_client for some reason
+
**Creates instance of rtools_client
***fixed: "mysql" to "mysqli"
+
**separate config file, which is included by SpecialRTools instead of rtools_client for some reason
 +
**fixed: "mysql" to "mysqli"
 +
**fixed: "wfMsg" to "wfMessage->text()"
 +
*<nowiki><rcode></nowiki> tag
 +
**Detected by parser hooks
 +
**RToolsParser class
 
***fixed: "wfMsg" to "wfMessage->text()"
 
***fixed: "wfMsg" to "wfMessage->text()"
**<nowiki><rcode></nowiki> tag
+
***fixed: class instead of global functions
***Detected by parser hooks
+
****create class instance in parser given by hook in order to retain variable values
***RToolsParser class
+
***fixed: added "wgOut->addModules( 'ext.RTools.parser' );" which enables the on-page UI
****fixed: "wfMsg" to "wfMessage->text()"
+
***fixed: changed efRCodeMBInArray to a static function and changed reference in templates/inputs/checkbox.php
****fixed: class instead of global functions
+
*rtools_client
*****create class instance in parser given by hook in order to retain variable values
+
**handles connections and job submissions etc. to server
****fixed: added "wgOut->addModules( 'ext.RTools.parser' );" which enables the on-page UI
+
**xml-rpc library
****fixed: changed efRCodeMBInArray to a static function and changed reference in templates/inputs/checkbox.php
+
***communicates with rtools_server API
**rtools_client
+
*javascripts
***handles connections and job submissions etc. to server
+
**script.aculo.us + prototype
***xml-rpc library
+
***UI
****communicates with rtools_server API
+
***ajax
**javascripts
+
***old versions, probably still acceptable
***script.aculo.us + prototype
+
**loaded by mediawiki resource loader
****UI
+
***now set up in extension.json
****ajax
+
*wiki database
****old versions, probably still acceptable
+
**rtools_inputs
***loaded by mediawiki resource loader
+
***added schema update hook to create the necessary table if missing
****now set up in extension.json
+
*Current issues:
**wiki database
+
**<s>Show code button does not work</s>
***rtools_inputs
+
**<s>Run page throws: Didn't receive 200 OK from remote server. (HTTP/1.0 500 Internal Server Error), which is a xml-rpc related error</s>
****added schema update hook to create the necessary table if missing
+
**<s>Runs and shows outputs (oprint and cat), but code is not visible, embed also does not work</s>
**Current issues:
+
**<s>Input forms are slightly broken: conditional categories do not work, checkboxes crash the whole page</s>
***<s>Show code button does not work</s>
+
**Rtools page does not update, shows error until refreshed once the run is over. Error on page: "jQuery is not defined", but it is loaded by mediawiki by default. Caused by some linking problem between the special page and mediawiki.  
***<s>Run page throws: Didn't receive 200 OK from remote server. (HTTP/1.0 500 Internal Server Error), which is a xml-rpc related error</s>
+
***SpecialRTools-class problem with include of "template/index.php" in method "output" not scoping as expected. Including javascript dependencies separately resolves the first issue, but results in "mw not defined" indicating no access to mediawiki.  
***<s>Runs and shows outputs (oprint and cat), but code is not visible, embed also does not work</s>
+
***Special page includes javascript for both parser and special page, which does not happen on the current server. It is loaded as part of parser initialization on every page.  
***<s>Input forms are slightly broken: conditional categories do not work, checkboxes crash the whole page</s>
+
 
***Rtools page does not update, shows error until refreshed once the run is over. Error on page: "jQuery is not defined", but it is loaded by mediawiki by default. Caused by some linking problem between the special page and mediawiki.  
+
==Extensions==
****SpecialRTools-class problem with include of "template/index.php" in method "output" not scoping as expected. Including javascript dependencies separately resolves the first issue, but results in "mw not defined" indicating no access to mediawiki.  
+
 
****Special page includes javascript for both parser and special page, which does not happen on the current server. It is loaded as part of parser initialization on every page.  
+
=== Our extensions ===
*table2base MediaWiki extension
+
*ExternalSourceBrowser: Einari
 +
*OpasnetBase: Einari, Juha
 +
*OpasnetBaseImport: Einari, Juha
 +
*Table2Base: Juha, Einari
 +
*OpasnetRater: Einari
 +
 
 +
=== Other Extensions ===
 +
Currently installed extensions, still maintained unless specified otherwise. Almost all have been updated since last time. Nothing tested yet.
 +
 
 +
*CategoryTree [https://www.mediawiki.org/wiki/Extension:CategoryTree]
 +
*ContactPage [https://www.mediawiki.org/wiki/Extension:ContactPage]
 +
**Need to reconfigure local settings when upgrading
 +
*Contribution Scores [https://www.mediawiki.org/wiki/Extension:Contribution_Scores]
 +
*Contributors [https://www.mediawiki.org/wiki/Extension:Contributors]
 +
*User Merge and Delete [https://www.mediawiki.org/wiki/Extension:UserMerge]
 +
**Has MediaWiki 1.29+ listed on extension page, but probably works on 1.28
 +
*ImageMap is shipped with MediaWiki
 +
*Maps [https://www.mediawiki.org/wiki/Extension:Maps]
 +
**Very active development
 +
**Possible incompatibilities with RTools when upgraded
 +
*Math [https://www.mediawiki.org/wiki/Extension:Math]
 +
*MsUpload [https://www.mediawiki.org/wiki/Extension:MsUpload]
 +
**Upload files from editor
 +
***Has this seen any use?
 +
*SimpleCalendar [https://www.mediawiki.org/wiki/Extension:NiceCategoryList2]
 +
*Widgets [https://www.mediawiki.org/wiki/Extension:Widgets]
 +
**Works
 +
*ConfirmEdit is shipped with MediaWiki
 +
*DataValues [https://github.com/DataValues/DataValues]
 +
**DataValues Geo [https://github.com/DataValues/Geo]
 +
**DataValues Time [https://github.com/DataValues/Time]
 +
**DataValues Validators [https://github.com/DataValues/Validators]
 +
**DataValues Common [https://github.com/DataValues/Common]
 +
**DataValues Interfaces [https://github.com/DataValues/Interfaces]
 +
**Still updated
 +
*AuthorProtect [https://www.mediawiki.org/wiki/Extension:AuthorProtect]
 +
**Git maintained
 +
*Google Analytics Integration [https://www.mediawiki.org/wiki/Extension:Google_Analytics_Integration]
 +
*PageNotice [https://www.mediawiki.org/wiki/Extension:PageNotice]
 +
*Validator [https://www.mediawiki.org/wiki/Extension:Validator]
 +
 
 +
==== Obsolete or otherwise dead ====
 +
Not maintained anymore, very old, security risk or integrated to MediaWiki.
 +
 
 +
*Ajax Show Editors [https://www.mediawiki.org/wiki/Extension:AjaxShowEditors]
 +
**Archived
 +
*CheckUser [https://www.mediawiki.org/wiki/Extension:CheckUser]
 +
**Integrated functionality?
 +
*Todo Tasks [https://www.mediawiki.org/wiki/Extension:Todo_Tasks]
 +
**Not maintained since 2009, expect to break.
 +
*CreateBox [https://www.mediawiki.org/wiki/Extension:CreateBox]
 +
**Archived
 +
**Option: InputBox [https://www.mediawiki.org/wiki/Extension:InputBox]
 +
***This is included with new installations of MediaWiki 1.21 and above
 +
**Used on [[Create_article]]
 +
***Any others?
 +
*DynamicPageList [https://www.mediawiki.org/wiki/Extension:DynamicPageList_(third-party)]
 +
**Very old version, might not work on latest MediaWiki and PHP
 +
*Google Co-op Extension [https://www.mediawiki.org/wiki/Extension:Google_Custom_Search_Engine] ?
 +
**Search functionality that was never used and is now obsolete?
 +
*MsLinks [https://www.mediawiki.org/wiki/Extension:MsLinks]
 +
**Used to display files on pages using "<nowiki>{{#l:Testfile.pdf}}</nowiki>"
 +
***Has this been used at all?
 +
**Very old version, likely broken
 +
*NewPageCSS [https://www.mediawiki.org/wiki/Extension:NewPageCSS]
 +
**Very old version
 +
**Security risk?
 +
*NiceCategoryList [https://www.mediawiki.org/wiki/Extension:NiceCategoryList2]
 +
**Security risk
 +
*EmailAddressImage [https://www.mediawiki.org/wiki/Extension:EmailAddressImage]
 +
 
 +
==See Also==
 +
[[Opasnet:Technical_documentation]]

Revision as of 09:43, 21 June 2017

This page contains notes produced while updating Opasnet server systems during the summer of 2017.

RTools server

CentOS 6.4: full support ended, but still get maintenance updates.

Key software, upgrade paths and related issues:

  • apache 2.2.15 -> 2.2.32 or 2.4.25
    • newer branch not particularly important
  • PHP 5.3.3 -> 5.6.x or 7.1.x
    • incompatibilities in mysql functions
      • "mysql" -> "mysqli" (5.5)
    • should upgrade to latest version
  • MySQL 5.1 -> 5.7
  • mongoDB 2.4 -> 3.2
    • should be relatively easy as we are not using sharding etc.
  • rtools_server PHP application
    • starts on test server after minor changes
    • further testing needed
  • opasnet_base2

Opasnet-wiki server

CentOS 6.5: full support ended, but still get maintenance updates.

Key software, upgrade paths and related issues:

  • apache 2.2.15 -> 2.2.32 or 2.4.25
  • PHP 5.4.28 -> 5.6.x or 7.1.x
    • 5.5.9+ required by currently supported mediawiki releases
    • latest php also supported
    • incompatibilities likely to occur in 5.4->5.5, hence might as well upgrade to latest
  • MySQL 5.5.37 -> 5.5.56 or 5.7.x
  • MediaWiki 1.20.0 -> 1.27 (LTS) or 1.28.2 (latest)
    • need to check supported extensions
    • MyExtension.php no longer supported, need extension.json for registering extensions
    • Composer might be useful for managing PHP dependencies

RTools MediaWiki extension

  • RTools special page class (now named SpecialRtools)
    • Creates instance of rtools_client
    • separate config file, which is included by SpecialRTools instead of rtools_client for some reason
    • fixed: "mysql" to "mysqli"
    • fixed: "wfMsg" to "wfMessage->text()"
  • <rcode> tag
    • Detected by parser hooks
    • RToolsParser class
      • fixed: "wfMsg" to "wfMessage->text()"
      • fixed: class instead of global functions
        • create class instance in parser given by hook in order to retain variable values
      • fixed: added "wgOut->addModules( 'ext.RTools.parser' );" which enables the on-page UI
      • fixed: changed efRCodeMBInArray to a static function and changed reference in templates/inputs/checkbox.php
  • rtools_client
    • handles connections and job submissions etc. to server
    • xml-rpc library
      • communicates with rtools_server API
  • javascripts
    • script.aculo.us + prototype
      • UI
      • ajax
      • old versions, probably still acceptable
    • loaded by mediawiki resource loader
      • now set up in extension.json
  • wiki database
    • rtools_inputs
      • added schema update hook to create the necessary table if missing
  • Current issues:
    • Show code button does not work
    • Run page throws: Didn't receive 200 OK from remote server. (HTTP/1.0 500 Internal Server Error), which is a xml-rpc related error
    • Runs and shows outputs (oprint and cat), but code is not visible, embed also does not work
    • Input forms are slightly broken: conditional categories do not work, checkboxes crash the whole page
    • Rtools page does not update, shows error until refreshed once the run is over. Error on page: "jQuery is not defined", but it is loaded by mediawiki by default. Caused by some linking problem between the special page and mediawiki.
      • SpecialRTools-class problem with include of "template/index.php" in method "output" not scoping as expected. Including javascript dependencies separately resolves the first issue, but results in "mw not defined" indicating no access to mediawiki.
      • Special page includes javascript for both parser and special page, which does not happen on the current server. It is loaded as part of parser initialization on every page.

Extensions

Our extensions

  • ExternalSourceBrowser: Einari
  • OpasnetBase: Einari, Juha
  • OpasnetBaseImport: Einari, Juha
  • Table2Base: Juha, Einari
  • OpasnetRater: Einari

Other Extensions

Currently installed extensions, still maintained unless specified otherwise. Almost all have been updated since last time. Nothing tested yet.

  • CategoryTree [1]
  • ContactPage [2]
    • Need to reconfigure local settings when upgrading
  • Contribution Scores [3]
  • Contributors [4]
  • User Merge and Delete [5]
    • Has MediaWiki 1.29+ listed on extension page, but probably works on 1.28
  • ImageMap is shipped with MediaWiki
  • Maps [6]
    • Very active development
    • Possible incompatibilities with RTools when upgraded
  • Math [7]
  • MsUpload [8]
    • Upload files from editor
      • Has this seen any use?
  • SimpleCalendar [9]
  • Widgets [10]
    • Works
  • ConfirmEdit is shipped with MediaWiki
  • DataValues [11]
    • DataValues Geo [12]
    • DataValues Time [13]
    • DataValues Validators [14]
    • DataValues Common [15]
    • DataValues Interfaces [16]
    • Still updated
  • AuthorProtect [17]
    • Git maintained
  • Google Analytics Integration [18]
  • PageNotice [19]
  • Validator [20]

Obsolete or otherwise dead

Not maintained anymore, very old, security risk or integrated to MediaWiki.

  • Ajax Show Editors [21]
    • Archived
  • CheckUser [22]
    • Integrated functionality?
  • Todo Tasks [23]
    • Not maintained since 2009, expect to break.
  • CreateBox [24]
    • Archived
    • Option: InputBox [25]
      • This is included with new installations of MediaWiki 1.21 and above
    • Used on Create_article
      • Any others?
  • DynamicPageList [26]
    • Very old version, might not work on latest MediaWiki and PHP
  • Google Co-op Extension [27] ?
    • Search functionality that was never used and is now obsolete?
  • MsLinks [28]
    • Used to display files on pages using "{{#l:Testfile.pdf}}"
      • Has this been used at all?
    • Very old version, likely broken
  • NewPageCSS [29]
    • Very old version
    • Security risk?
  • NiceCategoryList [30]
    • Security risk
  • EmailAddressImage [31]

See Also

Opasnet:Technical_documentation