<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AMediaWiki_CleanUp_Procedure</id>
	<title>ICT:MediaWiki CleanUp Procedure - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AMediaWiki_CleanUp_Procedure"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:MediaWiki_CleanUp_Procedure&amp;action=history"/>
	<updated>2026-07-22T23:27:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:MediaWiki_CleanUp_Procedure&amp;diff=214&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= MediaWiki Cleanup &amp; Fresh Start Procedure (Cargo + Page Forms) =  == Purpose == This page describes the safe procedure to remove experimental / test work before rebuilding the Costasano Heritage system using:  * Cargo (data storage) * Page Forms (data entry) * Templates (schema definition)  We intentionally avoid Page Schemas because it does not support: * enforced namespaces * automatic page naming * strict workflow control  A clean reset prevents schema conflicts, du...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:MediaWiki_CleanUp_Procedure&amp;diff=214&amp;oldid=prev"/>
		<updated>2026-01-29T13:19:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= MediaWiki Cleanup &amp;amp; Fresh Start Procedure (Cargo + Page Forms) =  == Purpose == This page describes the safe procedure to remove experimental / test work before rebuilding the Costasano Heritage system using:  * Cargo (data storage) * Page Forms (data entry) * Templates (schema definition)  We intentionally avoid Page Schemas because it does not support: * enforced namespaces * automatic page naming * strict workflow control  A clean reset prevents schema conflicts, du...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= MediaWiki Cleanup &amp;amp; Fresh Start Procedure (Cargo + Page Forms) =&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
This page describes the safe procedure to remove experimental / test work&lt;br /&gt;
before rebuilding the Costasano Heritage system using:&lt;br /&gt;
&lt;br /&gt;
* Cargo (data storage)&lt;br /&gt;
* Page Forms (data entry)&lt;br /&gt;
* Templates (schema definition)&lt;br /&gt;
&lt;br /&gt;
We intentionally avoid Page Schemas because it does not support:&lt;br /&gt;
* enforced namespaces&lt;br /&gt;
* automatic page naming&lt;br /&gt;
* strict workflow control&lt;br /&gt;
&lt;br /&gt;
A clean reset prevents schema conflicts, duplicate forms, and long-term maintenance issues.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Guiding principles ==&lt;br /&gt;
&lt;br /&gt;
* Keep the system predictable and explicit&lt;br /&gt;
* One template = one Cargo table&lt;br /&gt;
* One form = one data entry workflow&lt;br /&gt;
* No legacy or experimental artifacts in production namespaces&lt;br /&gt;
* Delete test content aggressively&lt;br /&gt;
&lt;br /&gt;
If something is not part of the real system → remove it.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 0 – Backup (mandatory) ==&lt;br /&gt;
&lt;br /&gt;
Before deleting anything:&lt;br /&gt;
&lt;br /&gt;
Either:&lt;br /&gt;
* Database dump (mysqldump), or&lt;br /&gt;
* Special:Export XML backup&lt;br /&gt;
&lt;br /&gt;
Never skip this step.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 1 – Remove Page Schemas artifacts ==&lt;br /&gt;
&lt;br /&gt;
We no longer use Page Schemas.&lt;br /&gt;
&lt;br /&gt;
Delete:&lt;br /&gt;
&lt;br /&gt;
* Schema:* pages&lt;br /&gt;
* Forms generated by Page Schemas&lt;br /&gt;
* Templates generated by Page Schemas&lt;br /&gt;
* Any helper categories or leftover scaffolding&lt;br /&gt;
&lt;br /&gt;
If unsure, temporarily rename with &amp;quot;_old&amp;quot; first.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 Template:DigitalAsset → Template:DigitalAsset_old&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 2 – Delete test content pages ==&lt;br /&gt;
&lt;br /&gt;
Remove all experimental pages:&lt;br /&gt;
&lt;br /&gt;
* DigitalAssets test pages&lt;br /&gt;
* HeritageObjects test pages&lt;br /&gt;
* dummy entities&lt;br /&gt;
* sandbox objects&lt;br /&gt;
&lt;br /&gt;
Goal:&lt;br /&gt;
 System starts with ZERO content.&lt;br /&gt;
&lt;br /&gt;
This avoids mixing test data with production data later.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 3 – Delete test Forms and Templates ==&lt;br /&gt;
&lt;br /&gt;
Delete any temporary or experimental items:&lt;br /&gt;
&lt;br /&gt;
* Form:Test*&lt;br /&gt;
* Template:Test*&lt;br /&gt;
* old prototype templates&lt;br /&gt;
* duplicate versions (v2, final, new, etc.)&lt;br /&gt;
&lt;br /&gt;
Keep names clean and canonical.&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
 Template:DigitalAsset2&lt;br /&gt;
 Template:DigitalAsset_final&lt;br /&gt;
 Template:DigitalAsset_new&lt;br /&gt;
&lt;br /&gt;
Only keep:&lt;br /&gt;
 Template:DigitalAsset&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 4 – Clean Cargo tables ==&lt;br /&gt;
&lt;br /&gt;
Cargo tables persist even if templates are deleted.&lt;br /&gt;
&lt;br /&gt;
Go to:&lt;br /&gt;
 Special:CargoTables&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
* delete test tables, or&lt;br /&gt;
* recreate them later from clean templates&lt;br /&gt;
&lt;br /&gt;
This step is critical to avoid schema mismatches.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 5 – Delete test uploaded files ==&lt;br /&gt;
&lt;br /&gt;
Go to:&lt;br /&gt;
 Special:ListFiles&lt;br /&gt;
&lt;br /&gt;
Delete:&lt;br /&gt;
* dummy images&lt;br /&gt;
* sample PDFs&lt;br /&gt;
* temporary uploads&lt;br /&gt;
&lt;br /&gt;
Reasons:&lt;br /&gt;
* reduces clutter&lt;br /&gt;
* faster backups&lt;br /&gt;
* prevents test assets appearing in production&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 6 – (Optional) Disable Page Schemas extension ==&lt;br /&gt;
&lt;br /&gt;
If no longer needed, disable it in LocalSettings.php:&lt;br /&gt;
&lt;br /&gt;
 wfLoadExtension( &amp;#039;PageSchemas&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
Comment out or remove.&lt;br /&gt;
&lt;br /&gt;
This prevents accidental reuse.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Rebuild order (recommended workflow) ==&lt;br /&gt;
&lt;br /&gt;
After cleanup, rebuild in small steps.&lt;br /&gt;
&lt;br /&gt;
=== 1. Create templates ===&lt;br /&gt;
Each table gets exactly one template using:&lt;br /&gt;
&lt;br /&gt;
 #cargo_store&lt;br /&gt;
&lt;br /&gt;
=== 2. Create Cargo tables ===&lt;br /&gt;
 Special:CargoTables → Recreate data&lt;br /&gt;
&lt;br /&gt;
=== 3. Create Page Forms ===&lt;br /&gt;
* set target namespace&lt;br /&gt;
* set page name formula&lt;br /&gt;
* hide title&lt;br /&gt;
&lt;br /&gt;
=== 4. Test one full workflow ===&lt;br /&gt;
Create → save → query&lt;br /&gt;
&lt;br /&gt;
Only then add more tables/forms.&lt;br /&gt;
&lt;br /&gt;
Do not build everything at once.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Architectural rules ==&lt;br /&gt;
&lt;br /&gt;
=== Rule 1 – One table, one template ===&lt;br /&gt;
Each DBML table maps to exactly one template.&lt;br /&gt;
&lt;br /&gt;
=== Rule 2 – Use namespaces strictly ===&lt;br /&gt;
Example:&lt;br /&gt;
* DA: for DigitalAssets&lt;br /&gt;
* HO: for HeritageObjects&lt;br /&gt;
&lt;br /&gt;
Forms must enforce namespaces automatically.&lt;br /&gt;
&lt;br /&gt;
=== Rule 3 – Prefer Page fields over raw IDs ===&lt;br /&gt;
Use:&lt;br /&gt;
 input type=page&lt;br /&gt;
&lt;br /&gt;
instead of plain text.&lt;br /&gt;
&lt;br /&gt;
Benefits:&lt;br /&gt;
* autocomplete&lt;br /&gt;
* fewer errors&lt;br /&gt;
* clickable links&lt;br /&gt;
&lt;br /&gt;
=== Rule 4 – Use junction tables for many-to-many ===&lt;br /&gt;
Never embed lists manually.&lt;br /&gt;
Always create explicit Cargo junction tables.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Final note ==&lt;br /&gt;
&lt;br /&gt;
Prototype → learn → delete → rebuild clean.&lt;br /&gt;
&lt;br /&gt;
A fresh start is faster and safer than trying to fix experimental scaffolding.&lt;br /&gt;
&lt;br /&gt;
Clarity beats cleverness.&lt;br /&gt;
Explicit beats automatic magic.&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>