MediaWiki Extensions Configuration
This document describes the configuration and usage of key MediaWiki extensions in this project, specifically Cargo and Page Forms.
Cargo Extension
Cargo provides a way to store, query, and format data defined within wiki pages, turning the wiki into a structured database.
Configuration
The extension is loaded in LocalSettings.php. Key configurations include:
- Loading the
Cargoextension. - Database configuration using environment variables.
- Cache settings optimized for research data entry (caching disabled).
Usage
Cargo is used for structured data storage, complex queries, and integration with PageForms.
- Tables are declared using
#cargo_declarein theCategory:namespace. - Queries are performed using
#cargo_queryto generate reports.
For actual implementation, see the Data Schemas.
Troubleshooting
If Cargo tables are not being created:
- Check
LocalSettings.php. - Verify database permissions.
- Run the update script:
docker-compose exec mediawiki php maintenance/update.php --quick - Check MediaWiki logs.
Page Forms Extension
Page Forms allows users to create and edit wiki pages using forms, providing a structured data entry interface.
Configuration
The extension is loaded in LocalSettings.php. Key configurations include:
- Loading
PageFormsandPageSchemas. - Enabling file uploads and allowed extensions.
- Integration with
VisualEditor.
Usage
PageForms is used for structured data entry, validation, and template integration.
- Forms are defined in the
Form:namespace. - Templates in the
Template:namespace use#cargo_storeto save form data into Cargo tables.
For actual implementation, see the Data Templates.
Permissions
Form editing respects MediaWiki permissions defined in LocalSettings.php.
Troubleshooting
If forms are not appearing:
- Verify extension loading.
- Check namespaces (
Form:,Template:). - Check browser console for JS errors.
If data is not stored in Cargo:
- Verify
#cargo_storein templates. - Recreate Cargo tables:
php extensions/Cargo/maintenance/cargoRecreateData.php --table=TableName - Run update script.
Maintenance Tasks
Recreating Forms/Tables
When changing structure:
# Update MediaWiki
docker-compose exec mediawiki php maintenance/update.php --quick
# Recreate Cargo tables
docker-compose exec mediawiki php extensions/Cargo/maintenance/cargoRecreateData.php --table=TableName
# Process job queue
docker-compose exec mediawiki php maintenance/runJobs.php --maxjobs=1000