Main Page: Difference between revisions

From MediaWiki-1.39
Jump to navigation Jump to search
(That’s the entire page, stitched together and formatted for the client. No guessing, no duplicates—just one cohesive document you can hand over today.)
 
(53 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  <strong>MediaWiki has been installed.</strong>


  Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User’s Guide] for information on
{{Info|Updated March 16, 2026.}}
  using the wiki software.


  == Getting started ==
= ROUTINE troubleshooting notes =
  * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
  * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
  * [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing
  list]
  * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for
  your language]
  * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your
  wiki]


  == Import CustomQueryPage ==
These notes are for checking or changing the active ROUTINE in the Manual Procedures workflow.
  * [https://mw.eckford.ca/downloads/CustomQueryPage-mw1359.tar.gz CustomQueryPage for mw1359]


  === Installing CustomQueryPage ===
== Normal workflow ==
  # Download the bundle: <code>wget https://mw.eckford.ca/downloads/CustomQueryPage-mw1359.tar.gz</code>
  # Extract into your extensions folder: <code>tar -xzf CustomQueryPage-mw1359.tar.gz -C /srv/mediawiki/
  extensions</code>
  # Edit <code>LocalSettings.php</code> and add <code>wfLoadExtension( 'CustomQueryPage' );</code>
  # Run <code>php maintenance/update.php --quick</code>
  # Visit <code>Special:CustomQuerySettings</code>, set the ROUTINE tag (e.g. <code>ROUTINE_4.110</code>), and
  confirm <code>Special:ApprovedManuals</code>.


  = Where We Stand =
# Log in.
  * '''CustomQueryPage''' now includes the simplified clone path:
# Open '''Approved manuals'''.
  ** ''Special:CustomQuerySettings'' copies the ''mw_tag_pages'' rows from <code>ROUTINE_4.110</code> to
# Note the ROUTINE shown at the top of the page.
  <code>ROUTINE_4.111</code>, clones the ''mw_tags'' row, and immediately points the listing at the new tag. The
# Open '''ROUTINE tags'''.
  success banner is fixed and README documents the “Quick clone workflow.”
  * On sh1re/sh0re we still need to finish the MediaWiki patch that drops <code>mw_logging.log_user*</code>, so we
  seeded <code>mw_customquerypage_settings</code> manually to keep the UI working.


  == Why mw_tags felt “bypassed” ==
=== To activate or roll back to an existing ROUTINE ===
  * On dev we inserted the active tag row directly into <code>mw_customquerypage_settings</code>; the clone form
  still expects the standard <code>mw_tags</code>/<code>mw_tag_pages</code> tables.
  * If those tables contain the 4.110 data (they should after your import), the UI reuses them immediately.
  * Nothing special is required in <code>LocalSettings.php</code>; our extension simply uses the core tables via
  the MediaWiki load balancer.


  == Next steps on mw.eckfordc (MW 1.39) ==
Use the '''top ROUTINE field'''.
  # Copy <code>extensions-mw1359/CustomQueryPage</code> onto the host.
  # Ensure <code>mw_tags</code>/<code>mw_tag_pages</code> include at least one ROUTINE (for example, import
  <code>ROUTINE_4.110</code>).
  # Visit <code>Special:CustomQuerySettings</code>, run the clone form end to end, and confirm the changed
  listing.
  # Once Lisa confirms the UI workflow, document the promotion steps on her admin page.


  = Recap (Last Week → Now) =
Enter the exact existing ROUTINE value you want to use, for example:
  * Finished the MW 1.35.9 build with the simplified clone workflow (Set active tag + Clone ROUTINE_x.xxx →
  ROUTINE_y.yyy).
  * Deployed the same code to eckfordc (1.39) and sh1re/sh0re (1.35.9); all installs now have ''mw_tags'',
  ''mw_tag_pages'', and <code>mw_customquerypage_settings</code>.
  * On sh1re/sh0re, <code>update.php</code> still balks at dropping <code>mw_logging.log_user*</code>; we seeded
  the settings row manually until the patch runs cleanly.


  == Where we landed ==
<code>ROUTINE_4.110</code>
  * No human DB access – the release script populates ``mw_tags``/``mw_tag_pages``, and Lisa works entirely
  through the Special pages.
  * ''Special:CustomQuerySettings'' + ''Special:ApprovedManuals'' both confirmed for <code>ROUTINE_4.111</code>;
  README documents the “Quick clone workflow.”
  * Nothing extra is required in <code>LocalSettings.php</code>; the extension uses the standard tables via
  MediaWiki services.


  == Next step: JSON/API practice ==
Then click '''Activate tag'''.
  * Since most releases are re-tags, the clone form covers the common path.
  * For the rare “new” ROUTINE payload, define a JSON schema (page_id, rev_id, deployment comment, wikitext, etc.)
  and decide whether you want a REST endpoint, an Action API module, or a CLI importer so everything stays inside
  MediaWiki.


  = Routine Workflow (ship today) =
This can be used to:


  == 1. Seed the ROUTINE data ==
* activate the current working ROUTINE
  * Import the raw rows (''mw_tags'' + ''mw_tag_pages'') via the export/import script.
* return to a previous ROUTINE
  * After import, run <code>php maintenance/update.php --quick</code> if <code>mw_customquerypage_settings</code>
* confirm that an existing ROUTINE bundle still works
  does not exist yet.


  == 2. Use the Special page ==
'''Do not''' use '''Clone ROUTINE release''' for rollback.
  * Log in as a sysop and open [[Special:CustomQuerySettings]].
  * Top form (Set active tag): type the ROUTINE you want live (for example, <code>ROUTINE_4.111</code>) and click
  '''Save tag''' if the rows already exist.
  * Clone form: source <code>ROUTINE_4.110</code>, target <code>ROUTINE_4.111</code>, optional note. Submit once
  to duplicate the tag entirely inside MediaWiki (no DB work).


  == 3. Verify ==
=== To create the next ROUTINE ===
  * Visit [[Special:ApprovedManuals]]; it now lists the pages tagged with <code>ROUTINE_4.111</code>.
  * Lisa reviews/publishes directly from there—no database access required.


  (Once the data is in place, you either run the import script or use the clone form. When a JSON/API importer is
First make sure the current ROUTINE is correct in the '''top ROUTINE field'''.
  ready, it replaces step 1; steps 2 and 3 stay the same.)
If needed, enter the current ROUTINE there and click '''Activate tag''' first.


  == Maintenance helper (eckfordc, MW 1.39) ==
Then use '''Clone ROUTINE release'''.
  # Flush Opcache once so PHP rereads the helper:
 
  #::<pre>if ( function_exists( 'opcache_reset' ) ) {
Enter:
      opcache_reset();
 
  }</pre>
* '''Source ROUTINE''': the current active release, for example <code>ROUTINE_4.110</code>
  # Run the clone from the server:
* '''New ROUTINE''': the new release, for example <code>ROUTINE_4.111</code>
  #::<pre>php extensions/CustomQueryPage/maintenance/testClone.php \
 
      --wiki=eckfordc_mw19424 \
Then submit the form.
      --source=ROUTINE_4.110 \
 
      --target=ROUTINE_4.111 \
This should:
      --user=Admin
 
  </pre>
* create the new ROUTINE tag
  # Check [[Special:ApprovedManuals]]; if the script prints an error, copy the message verbatim so we can patch
* copy the current bundle into the new ROUTINE
  it.
* activate the new ROUTINE automatically
 
== What to check immediately after ==
 
After activating or cloning:
 
# Stay on the page and note the message shown at the top.
# Open '''Approved manuals''' again.
# Confirm whether the ROUTINE heading changed.
# Confirm whether the manual list changed as expected.
 
== Important ==
 
* '''Activate tag''' uses an existing ROUTINE.
* '''Clone ROUTINE release''' creates a new ROUTINE from an existing one.
* '''Rollback''' means activating an existing ROUTINE in the top field.
* Enter the ROUTINE exactly as written, for example <code>ROUTINE_4.110</code>.
* Changing approved document revisions does '''not''' by itself create a new ROUTINE label.
* A new ROUTINE appears only after it is cloned or otherwise created in the ROUTINE tables.
 
= Emergency fallback test in LocalSettings.php =
 
Use this only if the normal ROUTINE activation path is not working and you need to test whether the wiki is falling back to configuration.
 
== Method 1: Change the fallback ROUTINE in <code>LocalSettings.php</code> ==
 
Edit this line in <code>LocalSettings.php</code>:
 
<syntaxhighlight lang="php">
$wgCustomQueryPageDefaultTag = 'ROUTINE_4.111';
</syntaxhighlight>
 
Then:
 
# Save the file.
# Reload [[Special:RoutineTags]].
# Reload [[Special:ApprovedManuals]].
 
If nothing changes:
 
# Do a hard refresh in the browser.
# If it is still unchanged, ask the sysadmin to restart PHP or the container.
# Reload both special pages again.
 
Expected result:
 
* If the page starts showing <code>ROUTINE_4.111</code>, the extension is reading the fallback value from configuration.
* If it still shows <code>ROUTINE_4.110</code>, this change did not affect the current read path.
 
== Method 2: Quick page check ==
 
After Method 1, check both pages, not just one:
 
* [[Special:RoutineTags]]
* [[Special:ApprovedManuals]]
 
Things to confirm:
 
* Does [[Special:RoutineTags]] show <code>ROUTINE_4.111</code> as the visible current or default tag?
* Does the heading on [[Special:ApprovedManuals]] change to the new ROUTINE?
* Does the document list appear to match the intended release?
 
== Method 3: See documentation ==
 
Use the ROUTINE workflow and recovery notes for deeper troubleshooting.
 
Known points:
 
* ROUTINE labels are stored in <code>mw_tags</code>.
* ROUTINE membership is stored in <code>mw_tag_pages</code>.
* The current approved set is stored in <code>mw_approved_revs</code>.
* The active selected ROUTINE is stored in <code>mw_customquerypage_settings</code>.
* Activating a ROUTINE rebuilds <code>mw_approved_revs</code>.
* Rollback is done by reactivating the previous ROUTINE.
 
If the manual <code>LocalSettings.php</code> edit and page refresh do not restore expected behaviour, continue with the documented extension workflow and technical recovery notes.
 
---
= DEBUG STEPS =
 
== In a nutshell ==
 
* What ROUTINE is showing on Approved manuals?
 
* What ROUTINE tag displays on the ROUTINE tags page?
 
* What exact message appeared after clicking the button?
 
== Tech Fixes ==
 
Please let me know if this is fixed or if you need another step. Based on what's happening, I can probably help :)
 
-----------------------------------------------------------
 
{{Info| Released Vesion 1.0 is available as Latest Version released Feb 26, 2026}}
[[:File:CustomQueryPage-latest.tgz|CustomQueryPage – latest deployment bundle]]
 
File:CustomQueryPage-latest.tgz
 
'''Data model summary:''' <code>page_latest</code> tracks the most recent edit, <code>mw_approved_revs</code> identifies the revision currently approved for display, and each ROUTINE snapshot in <code>mw_tag_pages</code> records which revision belongs to that release.
 
---------------------------------------------------------
 
The following information can be used as an installation guide. Only download files tagged latest
 
'''''
 
=  OBSOLETE Pre-release =
<strong>MediaWiki has been installed.</strong>
{{Notice
| event_name  = Wiki launch
| date        = February 12th
| location    = Lisa's Desk
| description = Count down to the retirement of the efs3 server!
}}
{{{Hatnote|content is content}}}
 
== Import CustomQueryPage ==
This install is originally intended for the ROUTINE Manuals publication workflow. That's all it does now, but hey, it's a good place to keep notes too. Did you know for MediaWiki you create a page by writing the name in the address bar? How tricky is that?
 
== NOTE ==
See procedure for rollback to reset to a previous version. Set tag ONLY.
 
== Let's Get Started ==
 
* [https://mw.eckford.ca/downloads/CustomQueryPage-mw1359.tar.gz CustomQueryPage for mw1359]
 
 
 
[[:File:CustomQueryPage-latest.tgz|CustomQueryPage – latest deployment bundle]]
 
=== Installing CustomQueryPage ===
* Download the bundle: <code>wget https://mw.eckford.ca/downloads/CustomQueryPage-mw1359.tar.gz</code>
* Extract it into your extensions folder:
** <code>tar -xzf CustomQueryPage-mw1359.tar.gz -C /srv/mediawiki/extensions</code>
* Edit <code>LocalSettings.php</code> and add <code>wfLoadExtension( 'CustomQueryPage' );</code>
* Run <code>php maintenance/update.php --quick</code>.
* Visit <code>Special:CustomQuerySettings</code>, set the ROUTINE tag (e.g., <code>ROUTINE_4.110</code>), and confirm <code>Special:ApprovedManuals</code>.
 
= Quick Start: ROUTINE Management =
 
=== 1. Seed the ROUTINE in the DB ===
Before first run of the UI, make sure the database has ROUTINE data.
 
* Use the import script or manual SQL method.
* Required tables:
** <code>mw_tags</code> — one row per ROUTINE (e.g., <code>ROUTINE_4.111</code>).
** <code>mw_tag_pages</code> — one row per approved page.
* If needed, run: <code>php maintenance/update.php --quick</code>
{{Note|Note: Only run <code>update.php</code> if <code>mw_customquerypage_settings</code> does not exist yet, or if you are intentionally applying the CustomQueryPage schema changes in a controlled maintenance window.}}
 
=== 2. Use the Special Page to Switch or Clone ===
 
Please note that the Revision is part of this query and display. Any documents that have been approved since the last release should have a new revision and this new revision should be included in the ROUTINE_tag
 
* Go to: <code>Special:CustomQuerySettings</code>
* Two options:
** '''Set Active Tag''' — type <code>ROUTINE_4.111</code>, then Save.
** '''Clone ROUTINE → New ROUTINE''':
*** From: <code>ROUTINE_4.110</code>
*** To: <code>ROUTINE_4.111</code>
*** Submit → this copies rows and updates the active tag.
 
=== 3. Verify the Result ===
 
* Visit: <code>Special:ApprovedManuals</code>
* Confirm the listing shows <code>ROUTINE_4.111</code>
* Lisa can now publish or review the approved manuals.
* No DB access required.
 
= Optional: JSON/API Importer =
 
If you're ready to skip the SQL import:
 
* Define a JSON payload that includes:
** <code>page_id</code>, <code>rev_id</code>, <code>deploy_comment</code>, <code>wikitext</code>, etc.
* Build a:
** REST endpoint, or
** Action API module, or
** Maintenance script that reads JSON
 
Once defined, MediaWiki can import directly into <code>mw_tags</code> / <code>mw_tag_pages</code>.
 
{{Warning|Avoid touching the database manually if you want to adopt the JSON route. The importer will safely handle all insertions.}}

Latest revision as of 08:49, 17 March 2026

Info: Updated March 16, 2026.


ROUTINE troubleshooting notes

These notes are for checking or changing the active ROUTINE in the Manual Procedures workflow.

Normal workflow

  1. Log in.
  2. Open Approved manuals.
  3. Note the ROUTINE shown at the top of the page.
  4. Open ROUTINE tags.

To activate or roll back to an existing ROUTINE

Use the top ROUTINE field.

Enter the exact existing ROUTINE value you want to use, for example:

ROUTINE_4.110

Then click Activate tag.

This can be used to:

  • activate the current working ROUTINE
  • return to a previous ROUTINE
  • confirm that an existing ROUTINE bundle still works

Do not use Clone ROUTINE release for rollback.

To create the next ROUTINE

First make sure the current ROUTINE is correct in the top ROUTINE field. If needed, enter the current ROUTINE there and click Activate tag first.

Then use Clone ROUTINE release.

Enter:

  • Source ROUTINE: the current active release, for example ROUTINE_4.110
  • New ROUTINE: the new release, for example ROUTINE_4.111

Then submit the form.

This should:

  • create the new ROUTINE tag
  • copy the current bundle into the new ROUTINE
  • activate the new ROUTINE automatically

What to check immediately after

After activating or cloning:

  1. Stay on the page and note the message shown at the top.
  2. Open Approved manuals again.
  3. Confirm whether the ROUTINE heading changed.
  4. Confirm whether the manual list changed as expected.

Important

  • Activate tag uses an existing ROUTINE.
  • Clone ROUTINE release creates a new ROUTINE from an existing one.
  • Rollback means activating an existing ROUTINE in the top field.
  • Enter the ROUTINE exactly as written, for example ROUTINE_4.110.
  • Changing approved document revisions does not by itself create a new ROUTINE label.
  • A new ROUTINE appears only after it is cloned or otherwise created in the ROUTINE tables.

Emergency fallback test in LocalSettings.php

Use this only if the normal ROUTINE activation path is not working and you need to test whether the wiki is falling back to configuration.

Method 1: Change the fallback ROUTINE in LocalSettings.php

Edit this line in LocalSettings.php:

<syntaxhighlight lang="php"> $wgCustomQueryPageDefaultTag = 'ROUTINE_4.111'; </syntaxhighlight>

Then:

  1. Save the file.
  2. Reload Special:RoutineTags.
  3. Reload Special:ApprovedManuals.

If nothing changes:

  1. Do a hard refresh in the browser.
  2. If it is still unchanged, ask the sysadmin to restart PHP or the container.
  3. Reload both special pages again.

Expected result:

  • If the page starts showing ROUTINE_4.111, the extension is reading the fallback value from configuration.
  • If it still shows ROUTINE_4.110, this change did not affect the current read path.

Method 2: Quick page check

After Method 1, check both pages, not just one:

Things to confirm:

  • Does Special:RoutineTags show ROUTINE_4.111 as the visible current or default tag?
  • Does the heading on Special:ApprovedManuals change to the new ROUTINE?
  • Does the document list appear to match the intended release?

Method 3: See documentation

Use the ROUTINE workflow and recovery notes for deeper troubleshooting.

Known points:

  • ROUTINE labels are stored in mw_tags.
  • ROUTINE membership is stored in mw_tag_pages.
  • The current approved set is stored in mw_approved_revs.
  • The active selected ROUTINE is stored in mw_customquerypage_settings.
  • Activating a ROUTINE rebuilds mw_approved_revs.
  • Rollback is done by reactivating the previous ROUTINE.

If the manual LocalSettings.php edit and page refresh do not restore expected behaviour, continue with the documented extension workflow and technical recovery notes.

---

DEBUG STEPS

In a nutshell

  • What ROUTINE is showing on Approved manuals?
  • What ROUTINE tag displays on the ROUTINE tags page?
  • What exact message appeared after clicking the button?

Tech Fixes

Please let me know if this is fixed or if you need another step. Based on what's happening, I can probably help :)


Info: Released Vesion 1.0 is available as Latest Version released Feb 26, 2026

CustomQueryPage – latest deployment bundle

File:CustomQueryPage-latest.tgz

Data model summary: page_latest tracks the most recent edit, mw_approved_revs identifies the revision currently approved for display, and each ROUTINE snapshot in mw_tag_pages records which revision belongs to that release.


The following information can be used as an installation guide. Only download files tagged latest


OBSOLETE Pre-release

MediaWiki has been installed.

   Upcoming Event: Wiki launch 
Scheduled for: February 12th at Lisa's Desk

Count down to the retirement of the efs3 server!

content is content

Import CustomQueryPage

This install is originally intended for the ROUTINE Manuals publication workflow. That's all it does now, but hey, it's a good place to keep notes too. Did you know for MediaWiki you create a page by writing the name in the address bar? How tricky is that?

NOTE

See procedure for rollback to reset to a previous version. Set tag ONLY.

Let's Get Started


CustomQueryPage – latest deployment bundle

Installing CustomQueryPage

  • Download the bundle: wget https://mw.eckford.ca/downloads/CustomQueryPage-mw1359.tar.gz
  • Extract it into your extensions folder:
    • tar -xzf CustomQueryPage-mw1359.tar.gz -C /srv/mediawiki/extensions
  • Edit LocalSettings.php and add wfLoadExtension( 'CustomQueryPage' );
  • Run php maintenance/update.php --quick.
  • Visit Special:CustomQuerySettings, set the ROUTINE tag (e.g., ROUTINE_4.110), and confirm Special:ApprovedManuals.

Quick Start: ROUTINE Management

1. Seed the ROUTINE in the DB

Before first run of the UI, make sure the database has ROUTINE data.

  • Use the import script or manual SQL method.
  • Required tables:
    • mw_tags — one row per ROUTINE (e.g., ROUTINE_4.111).
    • mw_tag_pages — one row per approved page.
  • If needed, run: php maintenance/update.php --quick

Note: Note: Only run update.php if mw_customquerypage_settings does not exist yet, or if you are intentionally applying the CustomQueryPage schema changes in a controlled maintenance window.


2. Use the Special Page to Switch or Clone

Please note that the Revision is part of this query and display. Any documents that have been approved since the last release should have a new revision and this new revision should be included in the ROUTINE_tag

  • Go to: Special:CustomQuerySettings
  • Two options:
    • Set Active Tag — type ROUTINE_4.111, then Save.
    • Clone ROUTINE → New ROUTINE:
      • From: ROUTINE_4.110
      • To: ROUTINE_4.111
      • Submit → this copies rows and updates the active tag.

3. Verify the Result

  • Visit: Special:ApprovedManuals
  • Confirm the listing shows ROUTINE_4.111
  • Lisa can now publish or review the approved manuals.
  • No DB access required.

Optional: JSON/API Importer

If you're ready to skip the SQL import:

  • Define a JSON payload that includes:
    • page_id, rev_id, deploy_comment, wikitext, etc.
  • Build a:
    • REST endpoint, or
    • Action API module, or
    • Maintenance script that reads JSON

Once defined, MediaWiki can import directly into mw_tags / mw_tag_pages.

⚠️

Warning: Avoid touching the database manually if you want to adopt the JSON route. The importer will safely handle all insertions.