Meza/Halloween release

From Freephile Wiki
Revision as of 23:11, 30 October 2025 by Admin (talk | contribs) (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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Issues[edit]

Fully linked issues are complete. Issues with only a link on the issue ID are in progress.

  1. update Project documentation and Online resources #3
  2. Restructure Meza into multiple roles and collection(s) #42
  3. Ensure .smw.json has a home #44
  4. create wiki fails #48
  5. Use a declarative wiki ID (YAML) #101
  6. Ensure that all essential variables are available to all playbooks #207
  7. PageForms exception from SMWDIProperty class not found #200
  8. [FEATURE] Ensure all bundled extensions and skins are in core #201
  9. [FEATURE] Replace ImageMagick with better scaler 204
  10. [BUG] permission problems #186

New and Improved[edit]

New Features[edit]

Use a declarative wiki ID (in YAML) #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 was migrated from text files to markdown files plus the Python 'rich' library.

  • 📊 Structured tables for arguments and options
  • 🎨 Syntax-highlighted code blocks
  • ⚠️ Visual warnings with emojis
  • 🔗 Cross-references between related commands
  • 📋 Consistent formatting across all files

New Playbooks[edit]

migrate-wikis - Playbook to migrate existing directory-based wikis to declarative configuration

Usage: sudo meza migrate-wikis <environment> The Playbook uses a new role migrate-to-declarative-wikis

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 config/defaults.yml for example declaration

New Roles[edit]

  • essential-vars - setup key variables early; avoid extra-vars; use OS-specific logic for cross-platform support
    • Replace inline variable definitions with include_role

Project / DevOps[edit]

  • implement repo commit hook to enforce code checks
  • Expanded CONTRIBUTING to include tools and quality controls
  • Created new "raw" CHANGELOG and "formatted"3 RELEASE NOTES which are now updated automatically on push.
  • 🎯 Add new badges in README.md
  • Analyze and map the flow of 'meza deploy' vs. 'meza create wiki'

More[edit]

  • Fix sudo meza maint run_jobs (all wikis) and sudo meza maint run_jobs -- demo (demo only)
  • Fix inadvertent cases where ansible_user could resolve to 'root'
  • Improved verify-permissions playbook
    • Scrutinize users, permissions, mode, user:group ownership
    • e.g. Change m_config_public_mode from 0755 to 0775 for dirs 0664 for files by using Symbolic mode u=rwX,g=rwX,o=rX
  • Fix test-certbot playbook to use set-vars role
  • Ensure playbooks load variables first with pre_tasks
  • Add configuration to allow HTML emails and set default User Preference option to opt-in
  • Corrected CommentStreams branch
  • Multiple improvements to linting quality and adoption of Ansible best practices like using fully qualified collection names (FQCN)
  • Fix quoting in /opt/.deploy-meza/refresh-links.sh
  • Add Debian support for ImageMagick and Ghostscript following the established pattern for cross-platform compatibility
  • Ensure that --check works with narrow playbook execution
  • Update SBOM files
  • Core configuration (OS-specific, config/paths.yml, and config/defaults.yml) 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.