chore: patch bump for release pipeline fixes #19

Merged
jmiller merged 5 commits from dev into main 2026-04-24 00:31:31 +00:00
3 changed files with 112 additions and 191 deletions
+35 -189
View File
@@ -1,34 +1,25 @@
# MokoStandards-Template-Joomla-Module
<!-- Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
A repository template for Joomla Module development projects following MokoStandards.
This file is part of a Moko Consulting project.
SPDX-License-Identifier: GPL-3.0-or-later
# FILE INFORMATION
REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero
FILE: ./README.md
VERSION: 01.00.01
BRIEF: MokoJoomHero - Joomla Module
-->
# MokoJoomHero
A Joomla Module developed following MokoStandards.
[![License](https://img.shields.io/badge/license-GPL--3.0--or--later-blue.svg)](LICENSE)
## Table of Contents
1. [Overview](#overview)
2. [Features](#features)
3. [Prerequisites](#prerequisites)
4. [Installation](#installation)
5. [Usage](#usage)
6. [Project Structure](#project-structure)
7. [Development](#development)
8. [Testing](#testing)
9. [Building](#building)
10. [Contributing](#contributing)
11. [Versioning](#versioning)
12. [License](#license)
13. [Support](#support)
## Overview
This is a standardized template repository for creating Joomla modules that conform to Moko Consulting's development standards and best practices. It provides a consistent starting point with pre-configured tooling, documentation structure, and development workflows.
Use this template when creating new Joomla modules to ensure:
- Consistent code structure and organization
- Pre-configured development tools (linters, formatters)
- Standardized documentation and contribution guidelines
- Built-in build and deployment workflows
This is a standardized Joomla module that conforms to Moko Consulting's development standards and best practices. It provides a consistent starting point with pre-configured tooling, documentation structure, and development workflows.
## Features
@@ -41,182 +32,50 @@ Use this template when creating new Joomla modules to ensure:
## Prerequisites
Before using this template, ensure you have the following installed:
- **PHP**: 7.4 or higher (8.0+ recommended for Joomla 4.x/5.x)
- **Composer**: For PHP dependency management (optional but recommended)
- **Joomla**: A working Joomla installation for testing (3.x, 4.x, or 5.x)
- **PHP CodeSniffer**: For code quality checks (`composer global require squizlabs/php_codesniffer`)
- **Make**: GNU Make for running build commands
- **Git**: For version control
## Installation
### Using This Template
1. Build the module package:
```bash
make build
```
1. **Create a new repository from this template**:
- Click "Use this template" button on GitHub
- Or clone and remove git history:
```bash
git clone https://github.com/mokoconsulting-tech/MokoStandards-Template-Joomla-Module.git my-joomla-module
cd my-joomla-module
rm -rf .git
git init
```
2. **Customize for your module**:
- Update `Makefile` with your module name, type, and version
- Update this README with your module's specific information
- Update LICENSE file with appropriate copyright holder
- Create your module files in the `src/` directory
3. **Initialize git**:
```bash
git add .
git commit -m "feat: initial commit from template"
```
2. Upload the generated ZIP file via Joomla's Extension Manager
## Usage
### Quick Start
```bash
# Display available commands
make help
1. **Configure your module** in the `Makefile`:
```makefile
MODULE_NAME := yourmodulename
MODULE_TYPE := site # or 'admin' for backend modules
MODULE_VERSION := 1.0.0
```
# Validate code
make validate
2. **Run the help command** to see available tasks:
```bash
make help
```
3. **Develop your module** in the `src/` directory
4. **Validate your code**:
```bash
make validate
```
5. **Build the module package**:
```bash
make build
```
### Common Tasks
See the [Development Guide](docs/DEVELOPMENT.md) for detailed development workflows.
# Build module package
make build
```
## Project Structure
```
.
├── docs/ # Documentation files
├── scripts/ # Build and deployment scripts
├── src/ # Module source code
├── .editorconfig # Editor configuration
── .gitignore # Git ignore patterns
├── .gitmessage # Git commit message template
├── Makefile # Build automation
└── README.md # This file
├── docs/ # Documentation files
├── scripts/ # Build and deployment scripts
├── src/ # Module source code
├── Makefile # Build automation
── README.md # This file
```
## Development
### Setting Up Development Environment
1. **Install dependencies**:
```bash
# Install PHP CodeSniffer globally
composer global require squizlabs/php_codesniffer
composer global require dealerdirect/phpcodesniffer-composer-installer
```
2. **Configure your IDE** to use the `.editorconfig` settings
3. **Set up pre-commit hooks** (optional):
```bash
git config commit.template .gitmessage
```
### Development Workflow
See [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for detailed development guidelines.
### Code Style
This project follows:
- Joomla Coding Standards for PHP
- Tab indentation (width: 2 spaces)
- LF line endings
- UTF-8 encoding
## Testing
### Manual Testing
1. **Create development symlink**:
```bash
# Update JOOMLA_ROOT in Makefile first
make dev-install
```
2. **Test in Joomla**:
- Enable the module in Joomla admin
- Assign to a module position
- Test on frontend/backend
### Automated Testing
```bash
make lint # PHP syntax check
make phpcs # Code standards check
make validate # Run all checks
```
## Building
### Build Module Package
```bash
make build
```
This creates a ZIP package in the `dist/` directory ready for installation in Joomla.
### Installing to Joomla
**Option 1: Upload via Joomla Admin**
```bash
make install-local
```
Then upload the generated ZIP file via Extensions > Manage > Install
**Option 2: Development Symlink**
```bash
make dev-install
```
Creates a symlink for development (requires configured JOOMLA_ROOT)
## Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
### Quick Contribution Guide
1. Fork the repository
2. Create a feature branch (`git checkout -b feat/amazing-feature`)
3. Commit your changes using conventional commits
4. Push to your branch
5. Open a Pull Request
## Versioning
This project uses [Semantic Versioning](https://semver.org/):
- **MAJOR**: Incompatible API changes
- **MINOR**: New functionality (backward compatible)
- **PATCH**: Bug fixes (backward compatible)
This project uses [Semantic Versioning](https://semver.org/).
See [CHANGELOG.md](CHANGELOG.md) for version history.
@@ -226,23 +85,10 @@ Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
SPDX-License-Identifier: GPL-3.0-or-later
### License Management
This repository includes a GitHub Actions workflow for syncing all GPL licenses (GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0) from www.gnu.org. The workflow must be triggered manually - automatic scheduling is disabled. The primary GPL-3.0 license is maintained in the LICENSE file, with additional licenses stored in the `licenses/` directory. For enterprise environments with firewall restrictions, see [Firewall Configuration Guide](docs/FIREWALL_CONFIGURATION.md) for required network access configuration.
## Support
- **Documentation**: See the [docs/](docs/) directory
- **Issues**: Report bugs and request features via [GitHub Issues](../../issues)
- **Contact**: hello@mokoconsulting.tech
- **Website**: [mokoconsulting.tech](https://mokoconsulting.tech)
## Acknowledgments
This template is maintained by Moko Consulting and follows MokoStandards for consistent, high-quality Joomla module development.
+39
View File
@@ -0,0 +1,39 @@
<!--
Joomla Extension Update Server XML
See: https://docs.joomla.org/Deploying_an_Update_Server
This file is the update server manifest for {{EXTENSION_NAME}}.
The Joomla installer polls this URL to check for new versions.
The manifest.xml in this repository must reference this file:
<updateservers>
<server type="extension" priority="1" name="{{EXTENSION_NAME}}">
https://git.mokoconsulting.tech/mokoconsulting-tech/MokoJoomHero/raw/branch/main/update.xml
</server>
<server type="extension" priority="2" name="{{EXTENSION_NAME}}">
https://raw.githubusercontent.com/mokoconsulting-tech/MokoJoomHero/main/update.xml
</server>
</updateservers>
When a new release is made, run `make release` or the release workflow to
prepend a new <update> entry to this file automatically.
-->
<updates>
<update>
<name>{{EXTENSION_NAME}}</name>
<description>MokoJoomHero — Moko Consulting Joomla extension</description>
<element>{{EXTENSION_ELEMENT}}</element>
<type>{{EXTENSION_TYPE}}</type>
<version>{{VERSION}}</version>
<downloads>
<downloadurl type="full" format="zip">
https://git.mokoconsulting.tech/mokoconsulting-tech/MokoJoomHero/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip
</downloadurl>
<downloadurl type="full" format="zip">
https://github.com/mokoconsulting-tech/MokoJoomHero/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip
</downloadurl>
</downloads>
<targetplatform name="joomla" version="[56].*"/>
<php_minimum>8.1</php_minimum>
</update>
</updates>
+38 -2
View File
@@ -1,3 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Joomla Extension Update Server XML
See: https://docs.joomla.org/Deploying_an_Update_Server
This file is the update server manifest for {{EXTENSION_NAME}}.
The Joomla installer polls this URL to check for new versions.
The manifest.xml in this repository must reference this file:
<updateservers>
<server type="extension" priority="1" name="{{EXTENSION_NAME}}">
https://git.mokoconsulting.tech/mokoconsulting-tech/MokoJoomHero/raw/branch/main/updates.xml
</server>
<server type="extension" priority="2" name="{{EXTENSION_NAME}}">
https://raw.githubusercontent.com/mokoconsulting-tech/MokoJoomHero/main/updates.xml
</server>
</updateservers>
When a new release is made, run `make release` or the release workflow to
prepend a new <update> entry to this file automatically.
-->
<updates>
</updates>
<update>
<name>{{EXTENSION_NAME}}</name>
<description>MokoJoomHero — Moko Consulting Joomla extension</description>
<element>{{EXTENSION_ELEMENT}}</element>
<type>{{EXTENSION_TYPE}}</type>
<version>{{VERSION}}</version>
<downloads>
<downloadurl type="full" format="zip">
https://git.mokoconsulting.tech/mokoconsulting-tech/MokoJoomHero/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip
</downloadurl>
<downloadurl type="full" format="zip">
https://github.com/mokoconsulting-tech/MokoJoomHero/releases/download/v{{VERSION}}/{{EXTENSION_ELEMENT}}.zip
</downloadurl>
</downloads>
<targetplatform name="joomla" version="[56].*"/>
<php_minimum>8.1</php_minimum>
</update>
</updates>