Meza/Halloween release: Difference between revisions
Created page with "== Issues == Fully linked issues are complete. Issues with only a link on the issue ID are in progress. # <bdi>update Project documentation and Online resources</bdi> [https://github.com/freephile/meza/issues/3 #3] # <bdi>Restructure Meza into multiple roles and collection(s)</bdi> [https://github.com/freephile/meza/issues/42 #42] # [https://github.com/freephile/meza/issues/44 <bdi>Ensure .smw.json has a home</bdi> #44] # [https://github.com/freephile/meza/issues/48 cre..." |
done |
||
| Line 1: | Line 1: | ||
Here is the summary of the development of Meza in September and October 2025. The milestone was tagged '''43.60.6''' and named [https://github.com/freephile/meza/releases/tag/43.60.6 the "Halloween" release]. | |||
== Issues == | == Issues == | ||
Fully linked issues are complete. Issues with only a link on the issue ID are in progress. | Fully linked issues are complete. Issues with only a link on the issue ID are in progress. | ||
| Line 7: | Line 9: | ||
# [https://github.com/freephile/meza/issues/48 create wiki fails #48] | # [https://github.com/freephile/meza/issues/48 create wiki fails #48] | ||
# [https://github.com/freephile/meza/issues/101 <bdi>Use a declarative wiki ID (YAML)</bdi> #101] | # [https://github.com/freephile/meza/issues/101 <bdi>Use a declarative wiki ID (YAML)</bdi> #101] | ||
# [https://github.com/freephile/meza/issues/186 <bdi><nowiki>[BUG] permission problems</nowiki></bdi> #186] | |||
# [https://github.com/freephile/meza/issues/207 <bdi>Ensure that all essential variables are available to all playbooks</bdi> #207] | # [https://github.com/freephile/meza/issues/207 <bdi>Ensure that all essential variables are available to all playbooks</bdi> #207] | ||
# [https://github.com/freephile/meza/issues/200 PageForms exception from SMWDIProperty class not found #200] | # [https://github.com/freephile/meza/issues/200 PageForms exception from SMWDIProperty class not found #200] | ||
# [https://github.com/freephile/meza/issues/201 <bdi><nowiki>[FEATURE] Ensure all bundled extensions and skins are in core</nowiki></bdi> #201] | # [https://github.com/freephile/meza/issues/201 <bdi><nowiki>[FEATURE] Ensure all bundled extensions and skins are in core</nowiki></bdi> #201] | ||
# <bdi>[FEATURE] Replace ImageMagick with better scaler</bdi> [https://github.com/freephile/meza/issues/204 204] | # <bdi>[FEATURE] Replace ImageMagick with better scaler</bdi> [https://github.com/freephile/meza/issues/204 204] | ||
# [https://github.com/freephile/meza/issues/ | # [https://github.com/freephile/meza/issues/211 <bdi>Update meza help output from meza python command</bdi> #211] | ||
# [https://github.com/freephile/meza/issues/212 <bdi>Deploy fails on init-controller-config</bdi> #212] | |||
# [https://github.com/freephile/meza/issues/214 <bdi>Reenable WatchAnalytics</bdi> #214] | |||
== New and Improved == | == New and Improved == | ||
| Line 18: | Line 23: | ||
'''<bdi>Use a declarative wiki ID (in YAML)</bdi> #101''' Meza wikis are now registered and configured in YAML in a source-controlled file rather than a combination of YAML, templated PHP files and directories on the filesystem. The new system is backwards compatible, but the old usage is now deprecated. | '''<bdi>Use a declarative wiki ID (in YAML)</bdi> #101''' Meza wikis are now registered and configured in YAML in a source-controlled file rather than a combination of YAML, templated PHP files and directories on the filesystem. The new system is backwards compatible, but the old usage is now deprecated. | ||
'''Enhanced documentation / UX''' The meza command help system | '''Enhanced Help documentation / UX''' The meza command help system received a major overhaul. The help files were migrated from text files to markdown files. Internally, we use the Python 'rich' library to render the markdown. Simply type <code>meza</code> (no args) or <code>meza --help</code> to display the help content. You can also get help on any command: <code>meza create-wiki --help</code> Externally, you can easily [https://github.com/freephile/meza/blob/dev/manual/meza-cmd/index.md browse the whole manual at GitHub] or in VSCode. | ||
<ul style="list-style: none;"> | |||
<li> 📊 Structured tables for arguments and options | |||
<li> 🎨 Syntax-highlighted code blocks | |||
<li> ⚠️ Visual warnings with emojis | |||
<li> 🔗 Cross-references between related commands | |||
<li> 📋 Consistent formatting across all files | |||
<li> 📊 Documentation for all commands such as [https://github.com/freephile/meza/blob/dev/manual/meza-cmd/autodeploy.md autodeploy] and [https://github.com/freephile/meza/blob/dev/manual/meza-cmd/deploy-notify.md deploy-notify]. | |||
<li> 🆕 New commands like '''[https://github.com/freephile/meza/blob/dev/manual/meza-cmd/list-wikis.md list-wikis]''' and '''[https://github.com/freephile/meza/blob/dev/manual/meza-cmd/debug.md debug]''' | |||
</ul>'''Add Backup and Retention Policy Framework''' - implements a complete log file rotation, compression, and removal strategy which handles all the important file stores in meza, including the database sqldump backups. New [https://github.com/freephile/meza/blob/dev/src/scripts/cleanup-backups.md scripts], roles, and [https://github.com/freephile/meza/blob/dev/src/roles/logrotate/README.md documentation]. Meza already does a lot of work to '''create''' backups, and also does a lot of logging of operations. This adds the housekeeping aspect to keep your storage tidy with an easy to modify policy. | |||
=== New Playbooks === | === New Playbooks === | ||
| Line 31: | Line 40: | ||
Usage: <code>sudo meza migrate-wikis <environment></code> The Playbook uses a new role <code>migrate-to-declarative-wikis</code> | Usage: <code>sudo meza migrate-wikis <environment></code> The Playbook uses a new role <code>migrate-to-declarative-wikis</code> | ||
to read your PHP, YAML, and directories into the new declarative YAML syntax for wiki configuration. It will backup and edit /opt/conf-meza/public/public.yml to save your new configuration. See <code>config/defaults.yml</code> for example declaration | to read your PHP, YAML, and directories into the new declarative YAML syntax for wiki configuration. It will backup and edit /opt/conf-meza/public/public.yml to save your new configuration. See <code>config/defaults.yml</code> for example declaration. | ||
'''debug''' - Playbook to show the value of a variable. e.g. <code>sudo debug monolith m_htdocs</code> | |||
'''run-maintenance''' - Playbook that is a general-purpose MediaWiki maintenance script runner. We removed the '''cleanup-upload-stash''' playbook and replaced it with a new [https://github.com/freephile/meza/blob/dev/manual/meza-cmd/maint.md meza maint] command. You can run <code>meza maint cleanuploadstash <environment></code> and also any other MediaWiki maintenance script. | |||
=== New Roles === | === New Roles === | ||
| Line 37: | Line 50: | ||
* '''essential-vars''' - setup key variables early; avoid extra-vars; use OS-specific logic for cross-platform support | * '''essential-vars''' - setup key variables early; avoid extra-vars; use OS-specific logic for cross-platform support | ||
** Replace inline variable definitions with include_role | ** Replace inline variable definitions with include_role | ||
* '''logrotate''' - the new log rotation, compression, removal policy framework. | |||
=== Project / DevOps === | === Project / DevOps === | ||
* implement repo commit hook to enforce code checks | * implement local (user) repo commit hook to enforce code checks | ||
* Expanded CONTRIBUTING to include tools and quality controls | * Expanded CONTRIBUTING to include tools and quality controls | ||
* Created new "raw" CHANGELOG and "formatted"3 RELEASE NOTES which are now updated automatically on push. | * Created new "raw" CHANGELOG and "formatted"3 RELEASE NOTES which are now updated automatically on push. | ||
* 🎯 Add new badges in README.md | * 🎯 Add new badges in README.md | ||
* Analyze and map the flow of 'meza deploy' vs. 'meza create wiki' | * Analyze and map the flow of 'meza deploy' vs. 'meza create wiki' | ||
* [https://github.com/freephile/meza/blob/dev/.github/RELEASE_AUTOMATION.md Release Automation] using GitHub Actions | |||
=== Extensions === | |||
* Add LinkTarget extension | |||
=== More === | === More === | ||
| Line 63: | Line 82: | ||
* Update SBOM files | * Update SBOM files | ||
* Core configuration (OS-specific, <code>config/paths.yml</code>, and <code>config/defaults.yml</code>) in the '''set-vars''' role are always loaded regardless of which tags are specified, ensuring that essential variables are available for any tagged deployment scenario. | * Core configuration (OS-specific, <code>config/paths.yml</code>, and <code>config/defaults.yml</code>) in the '''set-vars''' role are always loaded regardless of which tags are specified, ensuring that essential variables are available for any tagged deployment scenario. | ||
* Remove undefined <code>meza destroy</code> command | |||