<?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%3ASystem_Strategy</id>
	<title>ICT:System Strategy - 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%3ASystem_Strategy"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:System_Strategy&amp;action=history"/>
	<updated>2026-07-23T02:48:51Z</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:System_Strategy&amp;diff=391&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= Costa Sano MediaWiki – System Strategy and Architecture = __TOC__  == Purpose of this document == This page explains the &#039;&#039;design philosophy&#039;&#039; and &#039;&#039;architectural strategy&#039;&#039; of the Costa Sano information system.  It answers:  * Why MediaWiki? * Why namespaces? * Why Cargo + PageForms? * Why dashboards? * Why virtual machines? * Why this structure?  Future maintainers should understand the reasoning, not only the configuration.  The system was designed for: * long-ter...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:System_Strategy&amp;diff=391&amp;oldid=prev"/>
		<updated>2026-02-04T18:03:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Costa Sano MediaWiki – System Strategy and Architecture = __TOC__  == Purpose of this document == This page explains the &amp;#039;&amp;#039;design philosophy&amp;#039;&amp;#039; and &amp;#039;&amp;#039;architectural strategy&amp;#039;&amp;#039; of the Costa Sano information system.  It answers:  * Why MediaWiki? * Why namespaces? * Why Cargo + PageForms? * Why dashboards? * Why virtual machines? * Why this structure?  Future maintainers should understand the reasoning, not only the configuration.  The system was designed for: * long-ter...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Costa Sano MediaWiki – System Strategy and Architecture =&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Purpose of this document ==&lt;br /&gt;
This page explains the &amp;#039;&amp;#039;design philosophy&amp;#039;&amp;#039; and &amp;#039;&amp;#039;architectural strategy&amp;#039;&amp;#039; of the Costa Sano information system.&lt;br /&gt;
&lt;br /&gt;
It answers:&lt;br /&gt;
&lt;br /&gt;
* Why MediaWiki?&lt;br /&gt;
* Why namespaces?&lt;br /&gt;
* Why Cargo + PageForms?&lt;br /&gt;
* Why dashboards?&lt;br /&gt;
* Why virtual machines?&lt;br /&gt;
* Why this structure?&lt;br /&gt;
&lt;br /&gt;
Future maintainers should understand the reasoning, not only the configuration.&lt;br /&gt;
&lt;br /&gt;
The system was designed for:&lt;br /&gt;
* long-term stability&lt;br /&gt;
* low cost&lt;br /&gt;
* easy maintenance&lt;br /&gt;
* non-technical users&lt;br /&gt;
* independence from vendors&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Core Principles ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Simplicity over cleverness ===&lt;br /&gt;
The system must be:&lt;br /&gt;
* boring&lt;br /&gt;
* predictable&lt;br /&gt;
* repeatable&lt;br /&gt;
&lt;br /&gt;
Clever or fashionable solutions were deliberately avoided.&lt;br /&gt;
&lt;br /&gt;
Boring systems survive longer.&lt;br /&gt;
&lt;br /&gt;
=== 2. Open-source only ===&lt;br /&gt;
No paid licenses or vendor lock-in.&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
The club must survive with a limited budget.&lt;br /&gt;
&lt;br /&gt;
All core components are:&lt;br /&gt;
* MediaWiki&lt;br /&gt;
* MariaDB&lt;br /&gt;
* Apache&lt;br /&gt;
* Linux&lt;br /&gt;
&lt;br /&gt;
These are mature, stable, and free.&lt;br /&gt;
&lt;br /&gt;
=== 3. Separation of concerns ===&lt;br /&gt;
Each tool has a clear responsibility.&lt;br /&gt;
&lt;br /&gt;
* MediaWiki → structured knowledge system&lt;br /&gt;
* Cargo → structured data storage&lt;br /&gt;
* PageForms → data entry&lt;br /&gt;
* WordPress → public publication&lt;br /&gt;
* Virtual machines → isolation and portability&lt;br /&gt;
&lt;br /&gt;
Trying to make one tool do everything was intentionally avoided.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== System Layers ==&lt;br /&gt;
&lt;br /&gt;
The system is organised in layers. Each layer is independent.&lt;br /&gt;
&lt;br /&gt;
=== Layer 1 – Hardware ===&lt;br /&gt;
Standard PC/server hardware.&lt;br /&gt;
&lt;br /&gt;
No special requirements.&lt;br /&gt;
&lt;br /&gt;
Must be easily replaceable.&lt;br /&gt;
&lt;br /&gt;
=== Layer 2 – Virtualisation ===&lt;br /&gt;
Hyper-V today, possibly Proxmox/Linux in future.&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
* hardware independence&lt;br /&gt;
* easy migration&lt;br /&gt;
* easy backup&lt;br /&gt;
* easy recovery&lt;br /&gt;
&lt;br /&gt;
VMs are copied, not rebuilt.&lt;br /&gt;
&lt;br /&gt;
=== Layer 3 – Operating System ===&lt;br /&gt;
Linux (AlmaLinux) preferred for long term.&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
* no licenses&lt;br /&gt;
* stability&lt;br /&gt;
* low resource usage&lt;br /&gt;
* long lifetime&lt;br /&gt;
&lt;br /&gt;
=== Layer 4 – Web stack ===&lt;br /&gt;
Apache + PHP + MariaDB&lt;br /&gt;
&lt;br /&gt;
Classic LAMP stack.&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
* extremely stable&lt;br /&gt;
* widely documented&lt;br /&gt;
* easy for successors&lt;br /&gt;
* works everywhere&lt;br /&gt;
&lt;br /&gt;
=== Layer 5 – Application ===&lt;br /&gt;
MediaWiki with extensions:&lt;br /&gt;
* Cargo&lt;br /&gt;
* PageForms&lt;br /&gt;
* Lockdown&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
Transforms MediaWiki from a wiki into a structured database application.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Why MediaWiki ==&lt;br /&gt;
&lt;br /&gt;
MediaWiki was chosen because it is:&lt;br /&gt;
&lt;br /&gt;
* mature (20+ years)&lt;br /&gt;
* widely used&lt;br /&gt;
* low resource requirements&lt;br /&gt;
* open source&lt;br /&gt;
* very extensible&lt;br /&gt;
* future-proof&lt;br /&gt;
&lt;br /&gt;
Important:&lt;br /&gt;
The goal is not a modern fancy UI.&lt;br /&gt;
The goal is durability.&lt;br /&gt;
&lt;br /&gt;
MediaWiki is ideal for long-term knowledge preservation.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Why Cargo + PageForms ==&lt;br /&gt;
&lt;br /&gt;
=== Cargo ===&lt;br /&gt;
Adds database tables and structured queries.&lt;br /&gt;
&lt;br /&gt;
Provides:&lt;br /&gt;
* typed fields&lt;br /&gt;
* SQL-like queries&lt;br /&gt;
* fast reports&lt;br /&gt;
* clean data model&lt;br /&gt;
&lt;br /&gt;
=== PageForms ===&lt;br /&gt;
Adds:&lt;br /&gt;
* forms&lt;br /&gt;
* validation&lt;br /&gt;
* controlled data entry&lt;br /&gt;
* no wiki syntax for users&lt;br /&gt;
&lt;br /&gt;
Together they transform MediaWiki into:&lt;br /&gt;
→ a lightweight database application.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Why namespaces ==&lt;br /&gt;
&lt;br /&gt;
Namespaces are used for both organisation and security.&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
* Research: → dashboards and UI&lt;br /&gt;
* Chapter:, Place:, Organisation:, Asset: → data&lt;br /&gt;
* ICT: → documentation&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
* clean separation&lt;br /&gt;
* easier permissions&lt;br /&gt;
* users never see technical pages&lt;br /&gt;
* simpler navigation&lt;br /&gt;
&lt;br /&gt;
Users should only work in Research:.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Why dashboards ==&lt;br /&gt;
&lt;br /&gt;
Users never use:&lt;br /&gt;
* Special pages&lt;br /&gt;
* raw wiki editing&lt;br /&gt;
* manual page creation&lt;br /&gt;
&lt;br /&gt;
Instead they use:&lt;br /&gt;
* dashboards&lt;br /&gt;
* buttons&lt;br /&gt;
* forms&lt;br /&gt;
&lt;br /&gt;
Reason:&lt;br /&gt;
Club members are not IT specialists.&lt;br /&gt;
&lt;br /&gt;
The system must behave like a normal application.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Design Workflow Pattern (for each entity) ==&lt;br /&gt;
&lt;br /&gt;
Each entity follows exactly the same pattern:&lt;br /&gt;
&lt;br /&gt;
# Template with #cargo_declare&lt;br /&gt;
# PageForms form&lt;br /&gt;
# Dashboard page&lt;br /&gt;
# #formlink for editing&lt;br /&gt;
# returnto dashboard&lt;br /&gt;
&lt;br /&gt;
This pattern must be reused without redesign.&lt;br /&gt;
&lt;br /&gt;
Consistency is more important than optimisation.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Architectural Philosophy ==&lt;br /&gt;
&lt;br /&gt;
The system was designed with the mindset:&lt;br /&gt;
&lt;br /&gt;
* survives hardware failure&lt;br /&gt;
* survives maintainer change&lt;br /&gt;
* survives budget constraints&lt;br /&gt;
* survives 5–10+ years&lt;br /&gt;
&lt;br /&gt;
Technology choices were guided by longevity, not trendiness.&lt;br /&gt;
&lt;br /&gt;
If unsure, always choose:&lt;br /&gt;
→ simpler and older technology&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>