docs: final sync 55 repos

This commit is contained in:
gitea-actions[bot]
2026-05-10 14:38:57 -05:00
parent 0a84120415
commit b28f18ae53
49 changed files with 2360 additions and 359 deletions
+29 -10
View File
@@ -1,18 +1,36 @@
# MokoCRM
White-label CRM platform for Dolibarr ERP
White-label CRM module for Dolibarr ERP. Rebrands Dolibarr as **MokoCRM** and adds CRM-specific extrafields, dictionaries, email templates, and admin tools -- all without modifying Dolibarr core.
| Field | Value |
|---|---|
| **Language** | PHP, JavaScript |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoCRM) |
---
## Features
- **White-label rebranding** -- replaces Dolibarr branding with MokoCRM identity
- **CRM extrafields** -- custom fields for contacts, thirdparties, projects
- **Custom dictionaries** -- CRM-specific lookup values (lead sources, statuses)
- **Email templates** -- branded templates for proposals, invoices, communications
- **Admin tooling** -- module administration panel for CRM settings
- **Update server** -- self-hosted automatic version checking
- **Non-invasive** -- standard Dolibarr external module, no core modifications
## Pages
- [README](README)
- [changelog](changelog)
- [development](development)
- [installation](installation)
- [module id policy](module-id-policy)
- [roadmap](roadmap)
- [update server](update-server)
| Page | Description |
|---|---|
| [README](README) | Detailed project overview |
| [changelog](changelog) | Version history |
| [development](development) | Developer workflow and architecture |
| [installation](installation) | Setup and configuration guide |
| [module id policy](module-id-policy) | Module numbering convention |
| [roadmap](roadmap) | Development roadmap |
| [update server](update-server) | Self-hosted update mechanism |
---
@@ -20,8 +38,9 @@ White-label CRM platform for Dolibarr ERP
---
*Repo: [MokoCRM](https://git.mokoconsulting.tech/MokoConsulting/MokoCRM) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoCRM](https://git.mokoconsulting.tech/MokoConsulting/MokoCRM) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features, installation, and configuration |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -0,0 +1,390 @@
# API Reference
Complete endpoint documentation for MokoDPCalendarAPI v03.01.00.
**Base path:** `/api/index.php/v1`
All requests require the `Authorization: Bearer <token>` header. Responses use JSON:API format (`application/vnd.api+json`) unless otherwise noted.
---
## Events
### GET /dpcalendar/events
List events with optional filtering, sorting, and pagination.
**Query Parameters:**
| Parameter | Type | Default | Description |
|---|---|---|---|
| `page[limit]` | integer | 20 | Results per page (max 100) |
| `page[offset]` | integer | 0 | Number of results to skip |
| `sort` | string | | Sort field. Prefix with `-` for descending |
| `filter[search]` | string | | Search by title or description |
| `filter[start_date]` | string | | Events starting on or after this date (ISO 8601) |
| `filter[end_date]` | string | | Events ending on or before this date (ISO 8601) |
| `filter[catid]` | integer | | Filter by calendar/category ID |
| `filter[featured]` | integer | | `1` = featured only, `0` = non-featured only |
| `filter[access]` | integer | | Filter by Joomla access level |
| `filter[language]` | string | | Filter by language tag (e.g., `en-GB`) |
| `fields[events]` | string | | Comma-separated list of fields to return |
| `expand` | string | | Include related data. Supported: `locations` |
**Supported sort fields:** `id`, `title`, `start_date`, `end_date`, `catid`, `created`
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/events?filter[start_date]=2026-01-01&sort=-start_date&page[limit]=25"
```
**Response:** `200 OK` with JSON:API collection
---
### GET /dpcalendar/events/{id}
Get a single event by ID.
**Path Parameters:**
| Parameter | Type | Description |
|---|---|---|
| `id` | integer | Event ID |
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/events/42"
```
**Response:** `200 OK` with JSON:API resource
---
### POST /dpcalendar/events
Create a new event.
**Request Body (JSON):**
| Field | Type | Required | Description |
|---|---|---|---|
| `title` | string | Yes | Event title |
| `catid` | integer | Yes | Calendar/category ID |
| `start_date` | string | Yes | Start date/time (`YYYY-MM-DD HH:MM:SS`) |
| `end_date` | string | Yes | End date/time (`YYYY-MM-DD HH:MM:SS`) |
| `description` | string | No | HTML description |
| `all_day` | integer | No | `1` = all-day event |
| `rrule` | string | No | RRULE recurrence string |
| `location_ids` | array | No | Array of location IDs |
| `color` | string | No | Hex color code |
**Example:**
```bash
curl -s -X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.api+json" \
-d '{
"title": "Monthly Meetup",
"catid": 8,
"start_date": "2026-06-15 18:00:00",
"end_date": "2026-06-15 20:00:00",
"description": "<p>Join us for the monthly meetup!</p>"
}' \
"https://example.com/api/index.php/v1/dpcalendar/events"
```
**Response:** `200 OK` with created event
---
### POST /dpcalendar/events/bulk
Create multiple events in a single request.
**Request Body:** JSON array of event objects (same fields as single create).
**Example:**
```bash
curl -s -X POST \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.api+json" \
-d '[
{"title": "Event A", "catid": 8, "start_date": "2026-07-01 10:00:00", "end_date": "2026-07-01 12:00:00"},
{"title": "Event B", "catid": 8, "start_date": "2026-07-02 10:00:00", "end_date": "2026-07-02 12:00:00"}
]' \
"https://example.com/api/index.php/v1/dpcalendar/events/bulk"
```
**Response:** `200 OK` with array of created events
---
### PATCH /dpcalendar/events/{id}
Update an existing event. Send only the fields you want to change.
**Example:**
```bash
curl -s -X PATCH \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.api+json" \
-d '{"title": "Updated Title", "description": "<p>New description</p>"}' \
"https://example.com/api/index.php/v1/dpcalendar/events/42"
```
**Response:** `200 OK` with updated event
---
### DELETE /dpcalendar/events/{id}
Trash an event (soft delete).
**Example:**
```bash
curl -s -X DELETE \
-H "Authorization: Bearer YOUR_TOKEN" \
"https://example.com/api/index.php/v1/dpcalendar/events/42"
```
**Response:** `204 No Content`
---
### GET /dpcalendar/events/{id}/ical
Export a single event as iCal format.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: text/calendar" \
"https://example.com/api/index.php/v1/dpcalendar/events/42/ical"
```
**Response:** `200 OK` with `Content-Type: text/calendar`
---
### GET /dpcalendar/events/{id}/occurrences
List all occurrences of a recurring event. Expands the RRULE into individual dates, respecting EXDATE exclusions.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/events/42/occurrences"
```
**Response:** `200 OK` with JSON:API collection of occurrence objects
---
## Calendars
### GET /dpcalendar/calendars
List all calendars.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/calendars"
```
---
### GET /dpcalendar/calendars/{id}
Get a single calendar by ID.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/calendars/8"
```
---
### GET /dpcalendar/calendars/{id}/ical
Export an entire calendar as iCal format.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: text/calendar" \
"https://example.com/api/index.php/v1/dpcalendar/calendars/8/ical"
```
**Response:** `200 OK` with `Content-Type: text/calendar`
---
## Locations
### GET /dpcalendar/locations
List all locations.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/locations"
```
---
### GET /dpcalendar/locations/{id}
Get a single location by ID.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/locations/5"
```
---
## Bookings
### GET /dpcalendar/bookings
List all bookings.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/bookings"
```
---
### GET /dpcalendar/bookings/{id}
Get a single booking by ID. Includes associated tickets in the response.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/bookings/12"
```
---
## Tickets
### GET /dpcalendar/tickets
List all tickets.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/tickets"
```
---
### GET /dpcalendar/tickets/{id}
Get a single ticket by ID.
**Example:**
```bash
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/tickets/7"
```
---
## Caching
The API supports **ETag-based caching**. Responses include an `ETag` header. Send the ETag value in subsequent requests via `If-None-Match` to receive a `304 Not Modified` response when data has not changed.
```bash
# Note the ETag from response headers
curl -sI \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/events"
# Conditional request
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
-H 'If-None-Match: "etag-value"' \
"https://example.com/api/index.php/v1/dpcalendar/events"
```
---
## Error Responses
| Status | Description |
|---|---|
| `400` | Bad request (invalid parameters) |
| `401` | Unauthorized (missing or invalid token) |
| `403` | Forbidden (insufficient permissions) |
| `404` | Resource not found |
| `304` | Not Modified (ETag cache hit) |
---
> [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)
---
*Repo: [MokoDPCalendarAPI](https://git.mokoconsulting.tech/MokoConsulting/MokoDPCalendarAPI) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-10 | Moko Consulting | Initial API reference |
+47 -4
View File
@@ -1,12 +1,39 @@
# MokoDPCalendarAPI
Joomla Web Services plugin exposing DPCalendar events, calendars, and locations via REST API
Joomla Web Services plugin exposing **18 REST endpoints** for DPCalendar events, calendars, locations, bookings, and tickets.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Version** | 03.01.00 |
| **Language** | PHP 8.1+ |
| **Platform** | Joomla 5.x / 6.x |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDPCalendarAPI) |
| **Repository** | [MokoDPCalendarAPI](https://git.mokoconsulting.tech/MokoConsulting/MokoDPCalendarAPI) |
---
## Features
- **18 REST endpoints** across 5 resources (events, calendars, locations, bookings, tickets)
- CRUD operations for events including bulk creation
- iCal export for events and calendars
- Recurring event expansion (RRULE with EXDATE support)
- Pagination, sorting, filtering, and field selection
- Location expansion via `expand=locations`
- ETag caching with HTTP 304 support
- CORS headers for cross-origin requests
---
## Endpoints Summary
| Resource | Endpoints | Methods |
|---|---|---|
| **Events** | 8 | GET list, GET single, POST create, POST bulk, PATCH update, DELETE trash, GET iCal, GET occurrences |
| **Calendars** | 3 | GET list, GET single, GET iCal |
| **Locations** | 2 | GET list, GET single |
| **Bookings** | 2 | GET list, GET single (with tickets) |
| **Tickets** | 2 | GET list, GET single |
---
@@ -14,7 +41,22 @@ Joomla Web Services plugin exposing DPCalendar events, calendars, and locations
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | - Joomla 5.x or 6.x |
| [INSTALLATION](INSTALLATION) | Installation guide for Joomla 5.x / 6.x |
| [API-Reference](API-Reference) | Complete endpoint documentation with parameters and examples |
---
## Quick Start
```bash
# List upcoming events
curl -s \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/vnd.api+json" \
"https://example.com/api/index.php/v1/dpcalendar/events?filter[start_date]=2026-01-01&sort=start_date&page[limit]=10"
```
See the [API-Reference](API-Reference) for all endpoints, query parameters, and examples.
---
@@ -26,4 +68,5 @@ Joomla Web Services plugin exposing DPCalendar events, calendars, and locations
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Comprehensive rewrite with full endpoint summary |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+63 -12
View File
@@ -1,12 +1,46 @@
# MokoDoliAdInsights
A Dolibarr module used to bridge multiple advertising services (Google Ads, Meta Ads, LinkedIn Ads, etc.) reporting with Claude AI analysis
**Multi-platform advertising analytics with Claude AI for Dolibarr ERP/CRM.**
MokoDoliAdInsights bridges multiple advertising services (Google Ads, Facebook Ads, Microsoft Ads, TikTok Ads, YouTube Ads, and more) with Claude AI analysis -- fetching campaign performance metrics and delivering AI-powered insights, recommendations, and optimization opportunities directly inside Dolibarr.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Module ID** | 185064 |
| **Version** | 1.3.0 (in development) |
| **Language** | PHP 7.4+ |
| **Dolibarr** | 19.0+ |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliAdInsights) |
| **Platform** | `crm-module` |
| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) v04.00.04 |
| **Repository** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliAdInsights) |
---
## Features
| Category | Details |
|---|---|
| **Multi-Platform Support** | Google Ads, Facebook Ads, Microsoft Ads, TikTok Ads, YouTube Ads |
| **Claude AI Analysis** | AI-powered campaign insights via Anthropic Claude API |
| **Plugin Architecture** | Interface-based services system for adding new platforms |
| **Report Types** | Program reports, competitive analysis, general reporting |
| **Scheduled Tasks** | Automated daily, weekly, or monthly data fetching |
| **Dashboard** | At-a-glance KPIs and recent reports |
| **Encrypted Credentials** | API keys stored via Dolibarr `setAsSecureKey()` encryption |
| **Multi-Entity** | Full Dolibarr multi-company support |
| **Unified Data Format** | Standardized JSON output across all platforms |
### Supported Ad Platforms
| Platform | Service Directory | API |
|---|---|---|
| Google Ads | `src/services/google/` | Google Ads API (OAuth 2.0) |
| Facebook Ads | `src/services/facebook/` | Facebook Marketing API |
| Microsoft Ads | `src/services/microsoft/` | Microsoft Advertising API |
| TikTok Ads | `src/services/tiktok/` | TikTok Marketing API |
| YouTube Ads | `src/services/youtube/` | YouTube Data / Ads API |
| *Your Platform* | `src/services/examples/` | Template included |
---
@@ -14,30 +48,46 @@ A Dolibarr module used to bridge multiple advertising services (Google Ads, Meta
| Page | Description |
|---|---|
| [installation](installation) | This guide provides detailed instructions for installing and configuring the MokoDoliAdInsights modu... |
| [quickstart service](quickstart-service.-.-) | This is a condensed guide for experienced developers. For detailed explanations, see [adding-service... |
| [installation](installation) | Step-by-step install, permissions, credential setup, and troubleshooting |
| [quickstart service](quickstart-service.-.-) | Condensed guide for experienced developers adding a new ad platform |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the **MokoDoliAdInsights** module documentation. This module integrates multiple advertis... |
| [architecture](architecture) | This document explains the technical architecture of the MokoDoliAdInsights module and how it achiev... |
| [changelog](changelog) | All notable changes to the MokoDoliAdInsights module will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [README](README) | Full module documentation with quick links and FAQ |
| [architecture](architecture) | Interface-based design, factory pattern, data flow, database schema, and security |
| [changelog](changelog) | All notable changes and version history |
| [module id policy](module-id-policy.-.-) | Module ID assignment policy for Dolibarr modules |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [development](development) | Coding standards, testing, module structure, and contribution workflow |
## Documentation
| Page | Description |
|---|---|
| [adding services](adding-services.-.-) | This guide walks you through adding support for a new advertising platform to |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [adding services](adding-services.-.-) | Complete guide to adding new ad platform integrations via the plugin system |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for Dolibarr auto-update |
---
## Quick Start
```bash
cd /path/to/dolibarr/htdocs/custom/
git clone https://git.mokoconsulting.tech/MokoConsulting/MokoDoliAdInsights.git mokodoliadinsights
```
1. Activate the module in **Home > Setup > Modules/Applications**.
2. Go to **MokoDoliAdInsights > Setup** and select your ad platform.
3. Enter API credentials for your platform and Claude AI.
4. Navigate to **MokoDoliAdInsights > Generate Report** to create your first report.
See the [installation](installation) wiki page for detailed instructions.
---
@@ -49,4 +99,5 @@ A Dolibarr module used to bridge multiple advertising services (Google Ads, Meta
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Comprehensive rewrite with features, platforms, and quick start |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+20 -4
View File
@@ -1,12 +1,27 @@
# MokoDoliArt
A Dolibarr module used to send proofs of art to clients for approval.
A Dolibarr module used to send proofs of art to clients for approval. MokoDoliArt streamlines the art proof workflow by managing proof creation, client notifications, and digital approval signatures directly within Dolibarr.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliArt) |
| **Module ID** | 185066 |
| **PHP** | >= 7.4 |
| **Dolibarr** | >= 19.x |
---
## Features
- Create and manage proof-of-art objects linked to Dolibarr entities
- Send proof-of-art emails to clients with configurable subject lines
- Client digital signature requirement for approvals (configurable)
- Time-limited approval tokens with configurable TTL (default 30 days)
- External user portal access for client-side proof review
- Granular permission system: read, write, delete, and send
- Top and left menu integration with proof list and creation views
---
@@ -20,15 +35,15 @@ A Dolibarr module used to send proofs of art to clients for approval.
| Page | Description |
|---|---|
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. This guide will help you navigate all ... |
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. |
| [changelog](changelog) | All notable changes to this project template will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules. |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules. |
## Documentation
@@ -46,4 +61,5 @@ A Dolibarr module used to send proofs of art to clients for approval.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+16 -1
View File
@@ -1,12 +1,26 @@
# MokoDoliAuth
A Dolibarr authentication suite
A Dolibarr authentication suite that provides multiple authentication methods including LDAP, OAuth2, SAML, and custom authentication providers for Dolibarr ERP/CRM.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliAuth) |
| **Module ID** | 185061 |
| **PHP** | >= 7.0 |
| **Dolibarr** | >= 11.x |
---
## Features
- Multiple authentication method support (LDAP, OAuth2, SAML, custom providers)
- Custom login handler integration via Dolibarr's login module system
- Configurable default authentication mode (`MOKODOLIAUTH_AUTH_MODE`)
- Admin setup page for authentication configuration
- Permission-based access control: read and manage authentication settings
- Moko family module grouping with dedicated positioning
---
@@ -26,4 +40,5 @@ A Dolibarr authentication suite
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+58 -15
View File
@@ -1,52 +1,94 @@
# MokoDoliCare
A childcare management software built on Dolibarr.
**Childcare Facility Management for [Dolibarr ERP/CRM](https://www.dolibarr.org)**
| Field | Value |
|---|---|
| **Language** | Markdown |
| **Module ID** | 185065 (official) |
| **Version** | 1.2.0 |
| **License** | GPL-3.0-or-later |
| **Dolibarr** | 12.0+ |
| **PHP** | 7.4+ (8.0+ recommended) |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliCare) |
MokoDoliCare is a production Dolibarr third-party module that extends Dolibarr ERP/CRM with specialized childcare facility management capabilities. It provides child enrollment, attendance tracking with remote check-in/check-out, parent management with PIN authentication, digital signatures, meal planning, staff scheduling, classroom management, and financial automation.
---
## Features at a Glance
- **Child Management** -- Profiles with medical info, allergies, emergency contacts, enrollment tracking, CSV import
- **Attendance Tracking** -- Daily check-in/check-out with timestamps, payroll time clock, history and filtering
- **Remote Check-In** -- Tablet-optimized interface with parent PIN authentication, digital signatures, 3-step workflow
- **Parent/Guardian Management** -- CRUD operations, relationship tracking, contact info, audit trails
- **Activity Management** -- Scheduling, categorization (Learning, Play, Outdoor, Meals, Naps, Arts, Music, Story Time)
- **Classroom Management** -- Classroom lists, assignments, capacity tracking
- **Meal Planning** -- Weekly/monthly planning, allergen tracking, dietary restrictions
- **Invoice Generation** -- Auto-invoicing from child records, family-level billing, configurable rates
- **Staff Management** -- Roster views, staff-to-child assignment tracking
- **Reporting** -- Dashboard with statistics, attendance analytics
- **Security** -- Granular role-based permissions, CSRF protection, input validation, output escaping
- **Multi-Entity** -- Manage multiple childcare facilities from one Dolibarr instance
---
## Guides
| Page | Description |
|---|---|
| [installation](installation) | This guide provides detailed instructions for installing and configuring the MokoDoliCare Childcare ... |
| [quick start](quick-start.-.-) | Get up and running with MokoDoliCare in 10 minutes. This guide walks you through the essential steps... |
| [Quick Start](quick-start.-.-) | Get up and running with MokoDoliCare in 10 minutes |
| [Installation Guide](installation) | Detailed instructions for installing and configuring the module |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the MokoDoliCare Childcare Management Module documentation. This comprehensive guide will... |
| [changelog](changelog) | All notable changes to MokoDoliCare (Childcare Management Module) will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [roadmap](roadmap) | **Strategic Product Roadmap and Feature Timeline** |
| [README](README) | Comprehensive module overview and feature documentation |
| [Changelog](changelog) | Version history and release notes (v1.0.0 through v1.2.0) |
| [Module ID Policy](module-id-policy.-.-) | Official module ID 185065 assignment policy |
| [Roadmap](roadmap) | Strategic product roadmap and feature timeline through v3.0.0 |
## Operations
| Page | Description |
|---|---|
| [troubleshooting](troubleshooting) | Comprehensive troubleshooting guide for MokoDoliCare Childcare Management Module. This guide covers ... |
| [Troubleshooting](troubleshooting) | Common issues, solutions, and diagnostic steps |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [Development Guide](development) | Best practices, coding standards, and contribution workflow |
## Documentation
| Page | Description |
|---|---|
| [admin guide](admin-guide.-.-) | Complete guide for system administrators managing MokoDoliCare childcare module installation, config... |
| [family management](family-management.-.-) | The MokoDoliCare module uses Dolibarr's Third Party (Societe) system to manage families. Each child ... |
| [remote checkin](remote-checkin.-.-) | The Remote Check-In feature enables parents/guardians to independently sign their children in and ou... |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [user guide](user-guide.-.-) | Complete guide to using MokoDoliCare for childcare facility management. This guide covers all featur... |
| [Admin Guide](admin-guide.-.-) | Administrator configuration, permissions, and module setup |
| [User Guide](user-guide.-.-) | Complete guide to using MokoDoliCare for daily operations |
| [Family Management](family-management.-.-) | Family linking via Third Party (Societe) and billing features |
| [Remote Check-In](remote-checkin.-.-) | Tablet check-in/check-out system with digital signatures |
| [Update Server](update-server.-.-) | How `update.txt` is automatically managed for this module |
---
## Quick Install
1. Download the latest ZIP release
2. In Dolibarr: **Home > Setup > Modules > Deploy External Module** > Upload ZIP
3. Activate **Childcare Management** in the modules list
4. Configure permissions under **Users & Groups > [User] > Permissions > Childcare**
---
## Requirements
| Requirement | Version |
|---|---|
| Dolibarr ERP/CRM | 12.0+ |
| PHP | 7.4+ (8.0+ recommended) |
| Database | MySQL 5.7+, MariaDB 10.3+, or PostgreSQL 11+ |
| Web Server | Apache 2.4+ or Nginx 1.18+ |
---
@@ -58,4 +100,5 @@ A childcare management software built on Dolibarr.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features, badges, and installation |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+18 -1
View File
@@ -1,10 +1,26 @@
# MokoDoliChimp
A Dolibarr module that enables seamless synchronization between Dolibarr contacts/users and Mailchimp subscriber lists. Automatically sync contact information, manage subscriptions, and keep your mailing lists up-to-date.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliChimp) |
| **Module ID** | 500100 |
| **PHP** | >= 7.0 |
| **Dolibarr** | >= 11.x |
---
## Features
- Bidirectional sync between Dolibarr contacts/users and Mailchimp subscriber lists
- Trigger-based automatic synchronization on contact/user changes
- Hook integration with contact card, user card, and third-party card views
- Admin setup page for Mailchimp API configuration
- Permission system: read, configure, and sync access levels
- Moko family module grouping
---
@@ -12,7 +28,7 @@
| Page | Description |
|---|---|
| [DEVELOPMENT_GUIDE](DEVELOPMENT_GUIDE) | This comprehensive guide covers the complete development workflow for MokoDoliChimp, with detailed s... |
| [DEVELOPMENT_GUIDE](DEVELOPMENT_GUIDE) | This comprehensive guide covers the complete development workflow for MokoDoliChimp. |
---
@@ -24,4 +40,5 @@
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+30 -1
View File
@@ -1,13 +1,41 @@
# MokoDoliClaude
A connector for Dolibarr and Claude
Claude AI connector module for Dolibarr ERP/CRM. Interact with Anthropic's Claude AI directly from within Dolibarr through a built-in chat interface.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Dolibarr** | >= 19.0 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliClaude) |
## Features
- **Chat interface** -- dedicated page inside Dolibarr to send messages to Claude AI and view responses
- **Anthropic Messages API** -- uses the `https://api.anthropic.com/v1/messages` endpoint with configurable model selection
- **Conversation history** -- supports passing prior conversation turns for multi-turn interactions
- **Configurable model** -- defaults to `claude-opus-4-5`; change via `MOKOCLAUDE_MODEL` constant
- **Token limit control** -- set maximum response tokens via `MOKOCLAUDE_MAX_TOKENS` (default 1024)
- **Connection test** -- built-in `testConnection()` method to validate API key and model
- **Permission-based access** -- `mokoclaude > assistant > use` permission controls who can access the assistant
- **Admin setup page** -- configure API key and settings from the Dolibarr admin panel
## Configuration
| Constant | Type | Default | Description |
|---|---|---|---|
| `MOKOCLAUDE_API_KEY` | string | *(empty)* | Your Anthropic API key |
| `MOKOCLAUDE_MODEL` | string | `claude-opus-4-5` | Claude model identifier |
| `MOKOCLAUDE_MAX_TOKENS` | int | `1024` | Maximum tokens per response |
## Requirements
| Requirement | Version |
|---|---|
| PHP | >= 7.4 |
| Dolibarr | >= 19.0 |
| PHP cURL extension | required |
---
## Guides
@@ -46,4 +74,5 @@ A connector for Dolibarr and Claude
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Detailed README from source |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+18
View File
@@ -1,11 +1,28 @@
# MokoDoliCredits
Credits management module for Dolibarr ERP/CRM. Manage customer and supplier credit balances directly within Dolibarr.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Dolibarr** | >= 19.0 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliCredits) |
## Features
- **Credit balance tracking** -- manage customer and supplier credit balances within Dolibarr
- **Top-level menu entry** -- dedicated top menu and index page for quick access
- **Admin setup page** -- configure module settings from the Dolibarr admin panel
- **SQL schema management** -- automatic table creation on module activation via `_load_tables()`
## Requirements
| Requirement | Version |
|---|---|
| PHP | >= 7.1 |
| Dolibarr | >= 19.0 |
---
## Guides
@@ -44,4 +61,5 @@
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Detailed README from source |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+25 -4
View File
@@ -1,29 +1,49 @@
# MokoDoliDymo
A module to design label documents for Dymo LabelWriter
Label design and printing module for Dolibarr ERP/CRM. Create, manage, and print labels using DYMO LabelWriter printers directly from within Dolibarr.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Dolibarr** | >= 19.0 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliDymo) |
## Features
- **Label template management** -- create, list, edit, and delete label templates with a dedicated interface
- **DYMO LabelWriter integration** -- print labels directly to DYMO printers from Dolibarr
- **PDF export** -- export labels as PDF documents
- **DYMO XML format support** -- import and work with native `.dymo` / `.label` XML files
- **ODT import** -- import label designs from ODT files
- **Object-level label tabs** -- adds a "Labels" tab to products, third parties, contacts, and members
- **Default templates** -- ships with built-in default label templates installed on activation
- **Product extrafield** -- automatically creates a `mokodolidymo_label_text` extrafield on products
- **Granular permissions** -- separate permissions for label CRUD, designer use, DYMO/PDF print, and import
## Requirements
| Requirement | Version |
|---|---|
| PHP | >= 7.1 |
| Dolibarr | >= 19.0 |
---
## Guides
| Page | Description |
|---|---|
| [installation](installation) | - **Dolibarr ERP/CRM**: Version 19.0 or higher |
| [installation](installation) | Dolibarr ERP/CRM Version 19.0 or higher required |
## Reference
| Page | Description |
|---|---|
| [README](README) | - [Installation Guide](installation.md) — Setup and configuration |
| [README](README) | Installation Guide -- Setup and configuration |
| [changelog](changelog) | All notable changes to MokoDoliDymo will be documented in this file. |
| [dymo label format](dymo-label-format.-.-) | This document describes the DYMO Desktop Label XML format (`.dymo` / `.label` files) used by DYMO Co... |
| [module id policy](module-id-policy.-.-) | **Module ID: 185072** registered in the [Moko Consulting module registry](https://github.com/mokoc... |
| [module id policy](module-id-policy.-.-) | **Module ID: 185072** -- registered in the Moko Consulting module registry |
## Development
@@ -41,4 +61,5 @@ A module to design label documents for Dymo LabelWriter
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Detailed README from source |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+19 -3
View File
@@ -1,12 +1,27 @@
# MokoDoliG
A Dolibarr module to extend the interface to Google Workspace.
A Dolibarr module that extends the interface to Google Workspace, providing comprehensive integration for calendar, drive, contacts, and other Google services directly within Dolibarr ERP/CRM.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliG) |
| **Module ID** | 185057 |
| **PHP** | >= 7.1 |
| **Dolibarr** | >= 19.x |
---
## Features
- Google Workspace integration for Dolibarr ERP/CRM
- Global CSS and JS injection for consistent UI across Dolibarr pages
- Admin menu entries for module management
- Granular permission system (read, write, delete)
- License key validation on activation
- Entity-aware visibility (multi-company support)
- Module setup/configuration page
---
@@ -14,13 +29,13 @@ A Dolibarr module to extend the interface to Google Workspace.
| Page | Description |
|---|---|
| [CHANGELOG](CHANGELOG) | - Initial module structure following [moko-platform](https://github.com/mokoconsulting-tech/MokoCodi... |
| [CHANGELOG](CHANGELOG) | Initial module structure following moko-platform conventions |
## Development
| Page | Description |
|---|---|
| [DEVELOPMENT](DEVELOPMENT) | MokoDoliG is a comprehensive Google Workspace integration module for Dolibarr, providing: |
| [DEVELOPMENT](DEVELOPMENT) | MokoDoliG is a comprehensive Google Workspace integration module for Dolibarr |
## Documentation
@@ -38,4 +53,5 @@ A Dolibarr module to extend the interface to Google Workspace.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+19 -4
View File
@@ -1,12 +1,26 @@
# MokoDoliGithub
A Dolibarr module to bridge to Github
A Dolibarr module template that serves as the bridge to GitHub. This repository provides the scaffolding and reference implementation for building Dolibarr modules that integrate with GitHub services.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliGithub) |
| **Module ID** | 500000 |
| **PHP** | >= 7.1 |
| **Dolibarr** | >= 19.x |
---
## Features
- Dolibarr module template following MokoStandards conventions
- GitHub integration bridge for Dolibarr ERP/CRM
- Top menu entry with custom navigation
- Sample module descriptor with full Dolibarr module lifecycle (init/remove)
- Modular architecture with support for triggers, hooks, CSS/JS, exports, imports, and cron jobs
- PHPStan and EditorConfig for code quality
---
@@ -20,15 +34,15 @@ A Dolibarr module to bridge to Github
| Page | Description |
|---|---|
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. This guide will help you navigate all ... |
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. |
| [changelog](changelog) | All notable changes to this project template will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules. |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules. |
## Documentation
@@ -46,4 +60,5 @@ A Dolibarr module to bridge to Github
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+119 -9
View File
@@ -1,33 +1,142 @@
# MokoDoliHRM
![PHP](https://img.shields.io/badge/PHP-%3E%3D7.0-777BB4?style=flat-square&logo=php&logoColor=white)
![Dolibarr](https://img.shields.io/badge/Dolibarr-%3E%3D13.0-4e9a06?style=flat-square)
![License](https://img.shields.io/badge/license-GPL--3.0--or--later-green?style=flat-square)
![Version](https://img.shields.io/badge/version-1.0.0-blue?style=flat-square)
**Employee, Contract, and Payroll Management for Dolibarr ERP/CRM**
MokoDoliHRM is a comprehensive Human Resources Management module for [Dolibarr ERP/CRM](https://www.dolibarr.org/) that provides complete employee lifecycle management -- from hiring through payroll processing. Built following [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) and designed for multi-entity environments.
| Field | Value |
|---|---|
| **Module Number** | `185060` |
| **Machine Name** | `mokodolihrm` |
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliHRM) |
| **Standards** | [MokoStandards v04.00.04](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) |
---
## Guides
## Features
### Employee Management
- Full employee records with personal, contact, and employment data
- Auto-generated references (`EMP00001`, `EMP00002`, ...)
- Position and department tracking
- Hire and termination date management
- Social security and bank account storage
- Status workflow: **Draft** --> **Active** --> **Terminated**
### Contract Management
- Multiple contract types: Permanent, Temporary, Consultant, Intern
- Salary tracking with configurable currency and pay period (monthly, weekly, hourly)
- Working hours and annual leave entitlements
- Auto-generated references (`CONT00001`, `CONT00002`, ...)
- Linked to employee records with referential integrity
### Payroll Processing
- Pay period tracking with start/end dates
- Gross and net salary calculation fields
- Tax, social security, bonuses, and deductions breakdown
- Payment method tracking (bank transfer, cash, check)
- Multi-stage workflow: **Draft** --> **Validated** --> **Paid** / **Cancelled**
- Auto-generated references (`PAY00001`, `PAY00002`, ...)
### Security and Permissions
| Entity | Read | Create/Update | Delete |
|---|---|---|---|
| Employee | Yes | Yes | Yes |
| Contract | Yes | Yes | Yes |
| Payroll | Yes | Yes | Yes |
---
## Requirements
| Requirement | Minimum Version |
|---|---|
| Dolibarr ERP/CRM | 13.0 |
| PHP | 7.0 |
| MySQL / MariaDB | InnoDB engine |
---
## Quick Start
```bash
# Copy source files into Dolibarr custom modules directory
cp -r src/* /path/to/dolibarr/htdocs/custom/mokodolihrm/
```
Then activate: **Home --> Setup --> Modules/Applications --> MokoDoliHRM --> Activate**
---
## Wiki Pages
### Guides
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | Before installing MokoDoliHRM, ensure you have: |
| [INSTALLATION](INSTALLATION) | Prerequisites, step-by-step install, and troubleshooting |
| [USER_GUIDE](USER_GUIDE) | Complete end-user manual for employees, contracts, and payroll |
## Reference
### Reference
| Page | Description |
|---|---|
| [API](API) | Located in: `src/class/employee.class.php` |
| [README](README) | MokoDoliHRM is a comprehensive Human Resources Management module for Dolibarr ERP/CRM that provides ... |
| [API](API) | Class and method documentation for MokoEmployee, MokoContract, MokoPayroll |
| [README](README) | Detailed module overview and feature documentation |
## Documentation
### Other
| Page | Description |
|---|---|
| [FAQ](FAQ) | **A:** MokoDoliHRM is a comprehensive Human Resources Management module for Dolibarr ERP/CRM that pr... |
| [USER_GUIDE](USER_GUIDE) | 1. [Introduction](#introduction) |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [FAQ](FAQ) | Frequently asked questions covering setup, features, and troubleshooting |
| [Update Server](update-server.-.-) | How `update.txt` and release channels are automatically managed |
---
## Configuration
After activation, configure defaults at **Home --> Setup --> Modules --> MokoDoliHRM Setup**:
| Setting | Description |
|---|---|
| `MOKODOLIHRM_DEFAULT_LEAVE_DAYS` | Default annual leave days for new contracts |
| `MOKODOLIHRM_DEFAULT_WORKING_HOURS` | Default working hours per week for new contracts |
---
## Database Schema
Three InnoDB tables with foreign key constraints:
- **`llx_mokodolihrm_employee`** -- 24 columns (personal, contact, employment data)
- **`llx_mokodolihrm_contract`** -- 18 columns; FK to employee (cascade delete)
- **`llx_mokodolihrm_payroll`** -- 21 columns; FK to employee (cascade delete) and contract (set null)
---
## Release Channels
| Channel | Tag | Description |
|---|---|---|
| Stable | `stable` | Production-ready releases |
| Release Candidate | `release-candidate` | Pre-production testing |
| Beta | `beta` | Feature-complete testing |
| Alpha | `alpha` | Early development builds |
| Development | `development` | Latest development |
---
## Contributing
See [CONTRIBUTING.md](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliHRM/src/branch/main/CONTRIBUTING.md) and [GOVERNANCE.md](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliHRM/src/branch/main/GOVERNANCE.md).
---
@@ -39,4 +148,5 @@
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with features, install, config, and badges |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+13 -3
View File
@@ -1,6 +1,6 @@
# MokoDoliMods
The DoliMods is the repository of the Dolibarr ERP CRM modules, developed by the DoliCloud.com team.
A collection of Dolibarr ERP CRM modules originally developed by the DoliCloud.com team, forked and maintained by Moko Consulting.
| Field | Value |
|---|---|
@@ -10,17 +10,26 @@ The DoliMods is the repository of the Dolibarr ERP CRM modules, developed by the
---
## Features
- Curated set of Dolibarr modules extending core ERP & CRM capabilities
- Originally developed by the DoliCloud.com team for production deployments
- Forked and maintained by Moko Consulting with ongoing updates
- Shared image assets across the module collection (`src/img/`)
---
## Guides
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **[PROJECT_NAME]**. |
| [INSTALLATION](INSTALLATION) | Comprehensive installation and setup instructions. |
## Documentation
| Page | Description |
|---|---|
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module. |
---
@@ -32,4 +41,5 @@ The DoliMods is the repository of the Dolibarr ERP CRM modules, developed by the
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features and description |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+75 -10
View File
@@ -1,12 +1,41 @@
# MokoDoliMulti
Domainbased multitenant orchestration for Dolibarr using one codebase and pertenant configuration, documents, and databases mapped by virtual host.
Domain-based multi-tenant orchestration for [Dolibarr](https://www.dolibarr.org/) -- one codebase, per-tenant databases, documents, and configuration mapped by virtual host.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Language** | PHP >= 7.0 |
| **Platform** | Dolibarr >= 11.0 |
| **Module ID** | 185059 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliMulti) |
| **Repository** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliMulti) |
---
## Overview
MokoDoliMulti enables multiple organizations to share a single Dolibarr installation while maintaining complete isolation of data, configuration, and documents. Tenant resolution is automatic -- based on the HTTP Host header -- and requires zero modifications to Dolibarr core.
A PHP `auto_prepend_file` bootstrap intercepts every request before Dolibarr loads, resolves the tenant from the domain, and overrides database credentials and document storage paths accordingly.
### Core Components
| Component | Description |
|---|---|
| **TenantResolver** | Domain-to-tenant mapping with wildcard support, dot-notation config access, mapping cache |
| **DatabaseRouter** | Per-tenant database credentials injected into Dolibarr globals; MySQL/MariaDB and PostgreSQL |
| **StorageRouter** | Per-tenant document root with automatic directory creation, path traversal protection, disk monitoring |
| **Bootstrap** | `auto_prepend_file` integration -- no Dolibarr core modifications |
### Key Features
- Separate database, document storage, and configuration per tenant
- Wildcard domain routing (`*.company.com`)
- MySQL/MariaDB and PostgreSQL support
- Path traversal protection and tenant boundary enforcement
- Disk usage monitoring and temporary file cleanup
- Automated tenant creation scripts
- 12 tests, 100% pass rate
---
@@ -14,23 +43,58 @@ Domainbased multitenant orchestration for Dolibarr using one codebase and
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This guide walks you through installing and configuring MokoDoliMulti for domain-based multi-tenant ... |
| [INSTALLATION](INSTALLATION) | Step-by-step installation and web server configuration for Apache and Nginx |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the MokoDoliMulti documentation. This directory contains comprehensive guides, references... |
| [api API](api-API.-.-) | **Namespace**: `MokoDoliMulti\Core` |
| [architecture ARCHITECTURE](architecture-ARCHITECTURE.-.-) | MokoDoliMulti provides domain-based multi-tenant orchestration for Dolibarr, enabling multiple organ... |
| [README](README) | Wiki copy of the repository README with quick start guide |
| [API](api-API.-.-) | Complete API reference for TenantResolver, DatabaseRouter, StorageRouter, and helpers |
| [ARCHITECTURE](architecture-ARCHITECTURE.-.-) | System architecture, request flow, scalability, and design decisions |
## Documentation
| Page | Description |
|---|---|
| [PROJECT_SUMMARY](PROJECT_SUMMARY) | MokoDoliMulti is a complete domain-based multi-tenant orchestration system for Dolibarr, enabling mu... |
| [USAGE](USAGE) | This document provides practical examples of using MokoDoliMulti in various scenarios. |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [PROJECT_SUMMARY](PROJECT_SUMMARY) | Full implementation status, feature checklist, and production readiness |
| [USAGE](USAGE) | 17 practical usage examples covering SaaS hosting, dev/staging/prod, and more |
| [Update Server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module |
---
## Quick Start
```bash
# 1. Clone
cd /var/www
git clone https://git.mokoconsulting.tech/MokoConsulting/MokoDoliMulti.git
cd MokoDoliMulti && sudo ./scripts/setup.sh
# 2. Create tenant
./scripts/create-tenant.sh tenant1 tenant1.example.com dolibarr_tenant1
# 3. Configure web server (Apache example)
# php_value auto_prepend_file /var/www/MokoDoliMulti/src/bootstrap.php
# 4. Browse to https://tenant1.example.com/install/
```
See [INSTALLATION](INSTALLATION) for the full guide including database setup, Nginx configuration, and verification steps.
---
## Architecture
```
HTTP Request --> bootstrap.php (auto_prepend_file)
--> TenantResolver (HTTP_HOST --> mapping.php --> tenant config)
--> DatabaseRouter (override Dolibarr DB globals)
--> StorageRouter (set per-tenant document root)
--> Dolibarr loads with tenant-specific configuration
```
See [ARCHITECTURE](architecture-ARCHITECTURE.-.-) for the complete design documentation.
---
@@ -42,4 +106,5 @@ Domainbased multitenant orchestration for Dolibarr using one codebase and
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite to match updated README |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+21 -6
View File
@@ -1,33 +1,47 @@
# MokoDoliOffline
A Dolibarr module enabling offline mode and PWA.
A Dolibarr module enabling offline mode and Progressive Web App (PWA) capabilities for Dolibarr ERP & CRM.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Module ID** | 185062 |
| **Language** | PHP >= 7.0 |
| **Dolibarr** | >= 13.0 |
| **License** | GPL-3.0-or-later |
| **Family** | technic |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliOffline) |
---
## Features
- Service worker for offline caching and offline-first data strategies
- PWA manifest for installing Dolibarr as a standalone app
- Custom CSS injection for PWA-specific styling
- Hook integration via `commonobject`
- Dedicated setup page at **Setup > MokoDoliOffline**
- Granular read/write permissions for offline mode settings
---
## Guides
| Page | Description |
|---|---|
| [installation](installation) | This guide provides detailed instructions for installing MokoDoliOffline in your Dolibarr instance. |
| [installation](installation) | Detailed instructions for installing MokoDoliOffline in your Dolibarr instance. |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the MokoDoliOffline documentation. This module enables offline mode and Progressive Web A... |
| [README](README) | Welcome to the MokoDoliOffline documentation. |
## Documentation
| Page | Description |
|---|---|
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [user guide](user-guide.-.-) | This guide explains how to use MokoDoliOffline's features as an end user. |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module. |
| [user guide](user-guide.-.-) | How to use MokoDoliOffline's features as an end user. |
---
@@ -39,4 +53,5 @@ A Dolibarr module enabling offline mode and PWA.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+22 -8
View File
@@ -1,40 +1,53 @@
# MokoDoliPhoneCom
A Dolibarr module to bridge to Phone.com service
A Dolibarr module template to bridge Dolibarr ERP & CRM with the Phone.com VoIP service.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Module ID** | 500000 (template -- must be changed) |
| **Language** | PHP >= 7.1 |
| **Dolibarr** | >= 19.0 |
| **License** | GPL-3.0-or-later |
| **Family** | mokoconsulting |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliPhoneCom) |
---
## Features
- Template scaffolding for bridging Dolibarr with Phone.com VoIP services
- Grouped under the custom "Moko Consulting" family in the Dolibarr module list
- Top-level menu entry for the module
- Configuration page at **Setup > Sample**
- Hidden by default until customised for production use
---
## Guides
| Page | Description |
|---|---|
| [installation](installation) | This guide provides detailed instructions for installing and configuring your Dolibarr module. |
| [installation](installation) | Detailed instructions for installing and configuring your Dolibarr module. |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. This guide will help you navigate all ... |
| [changelog](changelog) | All notable changes to this project template will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. |
| [changelog](changelog) | All notable changes to this project template. |
| [module id policy](module-id-policy.-.-) | Module ID assignment policy for Dolibarr modules developed using this template. |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [development](development) | Best practices and guidelines for developing Dolibarr modules using this template. |
## Documentation
| Page | Description |
|---|---|
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module. |
---
@@ -46,4 +59,5 @@ A Dolibarr module to bridge to Phone.com service
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+25 -8
View File
@@ -1,40 +1,56 @@
# MokoDoliProjTemplate
A Dolibarr module designed to provide project templates.
A Dolibarr module for creating reusable project templates with predefined tasks and relative timing.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Module ID** | 185064 |
| **Language** | PHP >= 7.4 |
| **Dolibarr** | >= 17.0 |
| **License** | GPL-3.0-or-later |
| **Family** | mokoconsulting |
| **Dependencies** | Core Projects module (`modProjet`) |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliProjTemplate) |
---
## Features
- Reusable project templates with reference, label, description, status, and optional linked product
- Predefined task lines with labels, descriptions, planned durations, and relative start days
- One-click project generation from templates
- Left menu integration under Projects (Templates, New, List)
- Granular permissions (read, write, delete)
- CSV import profiles for template headers and task lines
- CSV export profiles with joined template references
---
## Guides
| Page | Description |
|---|---|
| [installation](installation) | This guide provides step-by-step instructions for installing and configuring the **MokoProjTemplate*... |
| [installation](installation) | Step-by-step instructions for installing and configuring MokoProjTemplate. |
## Reference
| Page | Description |
|---|---|
| [README](README) | Welcome to the MokoProjTemplate module documentation. Use the links below to navigate all available ... |
| [changelog](changelog) | All notable changes to the **MokoProjTemplate** Dolibarr module are documented here. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed by |
| [README](README) | Welcome to the MokoProjTemplate module documentation. |
| [changelog](changelog) | All notable changes to the MokoProjTemplate module. |
| [module id policy](module-id-policy.-.-) | Module ID assignment policy for Dolibarr modules developed by Moko Consulting. |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide describes the internal structure of the MokoProjTemplate module and how to extend or cust... |
| [development](development) | Internal structure of the MokoProjTemplate module and how to extend it. |
## Documentation
| Page | Description |
|---|---|
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module. |
---
@@ -46,4 +62,5 @@ A Dolibarr module designed to provide project templates.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+55 -17
View File
@@ -1,12 +1,28 @@
# MokoDoliRelease
A Dolibarr module for monitoring and managing remote deployments, software releases, and license keys for Dolibarr and Joomla installations.
A Dolibarr module for managing software releases, XML update streams, license keys, and deployment monitoring across Joomla, Dolibarr, WordPress, and Drupal installations.
| Field | Value |
|---|---|
| **Module ID** | 185058 |
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliRelease) |
| **Platform** | [Dolibarr](https://www.dolibarr.org/) (crm-module) |
| **Dolibarr Compatibility** | 3.0+ |
| **Repository** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliRelease) |
---
## Key Features
- **Release Management** -- multi-platform release tracking with stable, beta, alpha, LTS, and RC channels
- **XML Update Streams** -- Akeeba-style update feeds for Joomla, Dolibarr, WordPress, and Drupal
- **License Key Management** -- contract-based licensing with multi-activation and remote validation
- **Deployment Monitoring** -- health dashboard with push/pull modes, SSL checks, and system metrics
- **Service Management** -- suspend/resume, contract linking, and automated cron-based health checks
- **Remote Components** -- PHP and Python reporters for push-based monitoring behind firewalls
- **FTP Auto-Discovery** -- scan upload directories for packages and create draft releases
- **Release Notes Extraction** -- automatic changelog parsing
---
@@ -14,36 +30,57 @@ A Dolibarr module for monitoring and managing remote deployments, software relea
| Page | Description |
|---|---|
| [configuration](configuration) | Complete configuration reference for MokoDoliRelease module. |
| [installation](installation) | Complete installation instructions for MokoDoliDeploy module. |
| [quick start](quick-start.-.-) | Get up and running with MokoDoliRelease in minutes. |
| [Quick Start](quick-start.-.-) | Get up and running with MokoDoliRelease in minutes |
| [Installation](installation) | Complete installation instructions |
| [Configuration](configuration) | Module configuration reference |
## Reference
| Page | Description |
|---|---|
| [README](README) | Comprehensive documentation for the MokoDoliRelease module - a Dolibarr module for managing releases... |
| [ROADMAP](ROADMAP) | This document outlines the planned features and improvements for MokoDoliRelease. |
| [api reference](api-reference.-.-) | Complete API documentation for MokoDoliDeploy module. |
| [architecture](architecture) | System architecture and design documentation for MokoDoliDeploy. |
| [README](README) | Detailed module documentation with features, classes, and API |
| [Architecture](architecture) | System architecture and design |
| [API Reference](api-reference.-.-) | Complete API endpoint documentation |
| [XML Update Streams](XML_UPDATE_STREAMS) | Multi-platform update stream guide |
| [Update Server](update-server.-.-) | How update.txt is managed for this module |
| [ROADMAP](ROADMAP) | Planned features and improvements |
## Operations
| Page | Description |
|---|---|
| [enterprise deployment](enterprise-deployment.-.-) | Comprehensive guide for deploying MokoDoliDeploy at enterprise scale. |
| [runbook](runbook) | Comprehensive operational procedures for MokoDoliDeploy platform. |
| [troubleshooting](troubleshooting) | Common issues and solutions for MokoDoliDeploy module. |
| [Troubleshooting](troubleshooting) | Common issues and solutions |
| [Runbook](runbook) | Operational procedures |
| [Enterprise Deployment](enterprise-deployment.-.-) | Enterprise-scale deployment guide |
| [FAQ](faq) | Frequently asked questions |
## Documentation
| Page | Description |
|---|---|
| [XML_UPDATE_STREAMS](XML_UPDATE_STREAMS) | This document explains how to use the update stream system for managing extension updates across mul... |
| [faq](faq) | Common questions about MokoDoliDeploy module. |
| [governance](governance) | Enterprise governance framework for MokoDoliDeploy deployment and operations. |
| [sla management](sla-management.-.-) | Service Level Agreement management and monitoring for MokoDoliDeploy. |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [Governance](governance) | Governance framework and compliance |
| [SLA Management](sla-management.-.-) | Service level agreement management and monitoring |
---
## Installation (Quick Reference)
1. Copy `src/` to `htdocs/custom/mokodolirelease/`
2. Activate in **Home > Setup > Modules/Applications**
3. Configure at **MokoDoliRelease > Setup**
4. Enable `CheckDeploymentHealth` cron job at **Home > Setup > Agenda**
## API Endpoints (Quick Reference)
| Endpoint | Purpose |
|---|---|
| `api/update_stream.php` | Serve XML update streams |
| `api/get_latest_release.php` | Latest release metadata |
| `api/download_release.php` | Authenticated package download |
| `api/upload_release.php` | Upload release packages |
| `api/authenticate_license.php` | License key validation |
| `api/report_status.php` | Push-based health reporting |
| `api/scan_ftp_releases.php` | FTP auto-discovery |
---
@@ -55,4 +92,5 @@ A Dolibarr module for monitoring and managing remote deployments, software relea
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewritten with features, API reference, and install summary |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+48 -14
View File
@@ -1,42 +1,75 @@
# MokoDoliSign
MokoDoliSign is a Dolibarr module that adds secure electronic signature functionality into your
**MokoDoliSign** is a Dolibarr-native electronic signature module that brings secure, auditable e-signature workflows directly into your ERP. Create signature requests, send them to multiple signers via unique tokenized links, capture legally-compliant signatures with full audit trails, and manage the entire lifecycle from draft to completion -- all without leaving Dolibarr.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Module ID** | 185050 ([MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) reserved range) |
| **Dolibarr** | 14.0+ |
| **PHP** | 7.4+ |
| **Database** | MySQL 5.7+ / MariaDB 10.3+ |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliSign) |
---
## Key Features
- **Full Signature Workflow**: Draft > Pending > InProgress > Completed / Declined / Expired / Cancelled
- **Multi-Signer Support**: Independent secure tokens per signer, automatic status progression
- **HTML5 Signature Canvas**: Responsive, touch-friendly drawing on any device
- **Identity Verification**: Optional selfie and government ID photo capture via device camera
- **Audit Trail**: IP address, user agent, GPS coordinates, and timestamped event log
- **Email Integration**: Automatic notifications, reminders, and customizable templates
- **Customer Portal**: Self-service signing without Dolibarr login
- **Security**: Token-based auth, SQL injection prevention, XSS protection, GDPR-ready consent modes
- **Automation**: Cron jobs for expiration, reminders, and data purging
- **Native Integration**: CommonObject inheritance, menus, permissions, multi-entity, triggers
---
## Guides
| Page | Description |
|---|---|
| [BUILD](BUILD) | This document describes the build and CI tools available for MokoDoliSign development. |
| [INSTALL](INSTALL) | 1. **Copy module to Dolibarr** |
| [MIGRATION_GUIDE](MIGRATION_GUIDE) | **Version**: 0.1.0+ |
| [QUICK_START](QUICK_START) | Get up and running with MokoDoliSign in minutes. |
| [QUICK_START](QUICK_START) | Get up and running with MokoDoliSign in 5 minutes |
| [INSTALL](INSTALL) | Full installation and setup instructions |
| [MIGRATION_GUIDE](MIGRATION_GUIDE) | Module ID migration from development to production |
| [BUILD](BUILD) | Build and CI tooling for development |
## Reference
| Page | Description |
|---|---|
| [API](API) | MokoDoliSign provides both REST-like AJAX endpoints and PHP class APIs for integration. |
| [README](README) | 1. [Overview](#overview) |
| [ROADMAP](ROADMAP) | **Last Updated:** January 2026 |
| [STRUCTURE](STRUCTURE) | This document describes the organization of the MokoDoliSign repository. |
| [API](API) | REST-like AJAX endpoints and PHP class APIs for integration |
| [STRUCTURE](STRUCTURE) | Repository and module organization |
| [MODULE_ID](MODULE_ID) | Module ID system and MokoStandards registry |
| [ROADMAP](ROADMAP) | 5-year product roadmap (v1.0 through v5.0) |
## Documentation
| Page | Description |
|---|---|
| [ADMIN_GUIDE](ADMIN_GUIDE) | 1. [Installation & Setup](#installation--setup) |
| [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | Successfully implemented a complete Dolibarr extension for managing electronic signatures and agreem... |
| [MODULE_ID](MODULE_ID) | This document provides comprehensive information about the MokoDoliSign module ID, including its pur... |
| [USER_GUIDE](USER_GUIDE) | This guide will help you create, send, and manage electronic signature requests. |
| [update server](update-server.-.-) | This document explains how `update.txt` is automatically managed for this Dolibarr module. |
| [ADMIN_GUIDE](ADMIN_GUIDE) | Server configuration, security, backup, performance tuning, and cron setup |
| [USER_GUIDE](USER_GUIDE) | End-user guide for creating, sending, and managing signature requests |
| [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | Technical implementation overview, statistics, and code quality notes |
| [MODULE_ID](MODULE_ID) | Module ID system, MokoStandards registry, and migration details |
| [update server](update-server.-.-) | How `update.txt` is automatically managed for this Dolibarr module |
---
## Quick Install
```bash
cd /path/to/dolibarr/htdocs/custom/
git clone https://git.mokoconsulting.tech/MokoConsulting/MokoDoliSign.git mokodolisign
chown -R www-data:www-data mokodolisign/
```
Then activate the module in Dolibarr: **Home** > **Setup** > **Modules/Applications** > search "MokoDoliSign" > **Activate**.
See the full [README](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliSign/src/branch/main/README.md) for detailed installation, configuration, and cron setup.
---
@@ -48,4 +81,5 @@ MokoDoliSign is a Dolibarr module that adds secure electronic signature function
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite to match detailed README |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+26 -8
View File
@@ -1,41 +1,58 @@
# MokoDoliTraining
A deployable module to install training data into Dolibarr and reset on command.
A deployable Dolibarr module that seeds training/demo data into a Dolibarr instance and resets it on command, with automated backup, rollback, and scheduled resets.
| Field | Value |
|---|---|
| **Module ID** | 185068 |
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Family** | mokoconsulting |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoDoliTraining) |
---
## Features
- Training data seeding via **Setup > MokoDoliTraining > Seed Training Data**
- On-demand database reset to a known-good state
- Automatic rollback snapshots on install
- Scheduled cron resets (`resetToSnapshot`) on a daily schedule
- Backup rotation and audit log purge (`rotateAndPurge`)
- Full audit logging with checksums in `llx_mokodolitraining_log`
- Trigger support for event-driven automation
- 8 configurable constants (dataset version, seed state, backup paths, retention)
- Module re-activation on install to ensure schema consistency
- Safe uninstall with rollback restore
---
## Guides
| Page | Description |
|---|---|
| [guide installation](guide-installation.-.-) | - MokoCRM module active |
| [guide installation](guide-installation.-.-) | Installation prerequisites and steps. |
## Reference
| Page | Description |
|---|---|
| [api manifest](api-manifest.-.-) | **File:** `src/sql/manifest.json` |
| [api module class](api-module-class.-.-) | **File:** `src/core/modules/modMokoDoliTraining.class.php` |
| [api manifest](api-manifest.-.-) | `src/sql/manifest.json` reference. |
| [api module class](api-module-class.-.-) | `src/core/modules/modMokoDoliTraining.class.php` reference. |
## Operations
| Page | Description |
|---|---|
| [guide backup recovery](guide-backup-recovery.-.-) | MokoDoliTraining maintains two categories of backup file. |
| [guide backup recovery](guide-backup-recovery.-.-) | MokoDoliTraining backup categories and recovery procedures. |
## Documentation
| Page | Description |
|---|---|
| [guide seed reset](guide-seed-reset.-.-) | Go to **Setup > MokoDoliTraining** and click **Seed Training Data**. |
| [policy enforcement levels](policy-enforcement-levels.-.-) | moko-platform uses six enforcement tiers. Apply these when reviewing or generating any file in this ... |
| [policy file header standards](policy-file-header-standards.-.-) | Every file in this repository must open with a copyright header. Two tiers apply. |
| [guide seed reset](guide-seed-reset.-.-) | How to seed and reset training data. |
| [policy enforcement levels](policy-enforcement-levels.-.-) | moko-platform enforcement tiers for this repository. |
| [policy file header standards](policy-file-header-standards.-.-) | Copyright header requirements for all files. |
---
@@ -47,4 +64,5 @@ A deployable module to install training data into Dolibarr and reset on command.
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed features from module descriptor |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+23 -7
View File
@@ -1,39 +1,54 @@
# MokoGalleryCalendar
JoomGallery and DPCalendar integration — link photo galleries to calendar events
JoomGallery and DPCalendar integration -- automatically creates a JoomGallery photo-gallery category for every DPCalendar event.
| Field | Value |
|---|---|
| **Language** | PHP |
| **Version** | 01.02.00 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) |
---
## Features
- Automatic gallery categories for every DPCalendar event
- Deferred creation -- future events are queued, categories created when the date arrives
- Title sync between event and gallery category
- Optional cascade delete of gallery on event removal
- ACL permissions template for consistent access control
- Configurable viewing access level
- Existing event seeding on first install
- Recurring event awareness (parent only)
- Joomla update server for one-click updates
---
## Guides
| Page | Description |
|---|---|
| [configuration](configuration) | All settings are in **System > Manage > Plugins > MokoJGDPC**. |
| [installation](installation) | Both DPCalendar and JoomGallery must be installed and enabled before installing MokoJGDPC. |
| [Installation](installation) | Install, update, uninstall, and auto-update server |
| [Configuration](configuration) | All plugin parameters explained in detail |
## Reference
| Page | Description |
|---|---|
| [architecture](architecture) | ├── mokojgdpc.xml # Joomla manifest (config fields, metadata, update server) |
| [Architecture](architecture) | File structure, data flow, database schema, nested set operations |
## Operations
| Page | Description |
|---|---|
| [troubleshooting](troubleshooting) | Categories are only created when the event's start date arrives. Check `#__mokojgdpc_map` for a row ... |
| [Troubleshooting](troubleshooting) | Common issues, log locations, database inspection queries |
## Development
| Page | Description |
|---|---|
| [development](development) | git clone https://git.mokoconsulting.tech/MokoConsulting/MokoJGDPC.git |
| [Development](development) | Local setup, building ZIPs, CI/CD workflows, key methods |
---
@@ -45,4 +60,5 @@ JoomGallery and DPCalendar integration — link photo galleries to calendar even
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.1 | 2026-05-10 | Moko Consulting | Add features list, polish layout |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,4 +1,4 @@
← [Home](Home)
[< Home](Home) | [Configuration >](configuration)
# Architecture
@@ -6,17 +6,17 @@
```
src/
├── mokojgdpc.xml # Joomla manifest (config fields, metadata, update server)
├── script.php # Install/update/uninstall script
├── mokojgdpc.xml # Joomla manifest (config fields, metadata, update server)
├── script.php # Install/update/uninstall script
├── services/
│ └── provider.php # DI service provider (wires the plugin class)
│ └── provider.php # DI service provider (wires the plugin class)
├── src/
│ └── Extension/
│ └── MokoJGDPC.php # Main plugin class (all business logic)
│ └── MokoJGDPC.php # Main plugin class (all business logic)
└── language/
├── en-GB/
│ ├── plg_system_mokojgdpc.ini # Backend language strings
│ └── plg_system_mokojgdpc.sys.ini # System language strings
│ ├── plg_system_mokojgdpc.ini # Backend language strings
│ └── plg_system_mokojgdpc.sys.ini # System language strings
└── en-US/
├── plg_system_mokojgdpc.ini
└── plg_system_mokojgdpc.sys.ini
@@ -33,7 +33,7 @@ Extends `CMSPlugin`, implements `SubscriberInterface`, uses:
### Subscribed Events
| Event | Method | Purpose |
|-------|--------|---------|
|---|---|---|
| `onContentAfterSave` | `onContentAfterSave()` | React to DPCalendar event saves |
| `onContentAfterDelete` | `onContentAfterDelete()` | React to DPCalendar event deletions |
| `onAfterRoute` | `onAfterRoute()` | 7-day fallback for pending processing |
@@ -43,7 +43,7 @@ Extends `CMSPlugin`, implements `SubscriberInterface`, uses:
### Constants
| Constant | Value | Purpose |
|----------|-------|---------|
|---|---|---|
| `DPCALENDAR_CONTEXT` | `com_dpcalendar.event` | Content context filter |
| `ALIAS_MAX_ATTEMPTS` | `100` | Max alias dedup iterations before timestamp fallback |
| `FALLBACK_STALE_DAYS` | `7` | Days before `onAfterRoute` fallback triggers |
@@ -55,17 +55,17 @@ Extends `CMSPlugin`, implements `SubscriberInterface`, uses:
```
DPCalendar event saved
onContentAfterSave
Filter: context == com_dpcalendar.event
Filter: not a recurring instance (original_id == 0)
Filter: JoomGallery tables exist
Extract event start date
Check for existing mapping
Exists with category: sync title if configured, update event_date if changed
Exists pending: update event_date if changed
Not exists:
event_date <= today? Create category immediately
event_date > today? Store pending mapping (category_id = 0)
-> onContentAfterSave
-> Filter: context == com_dpcalendar.event
-> Filter: not a recurring instance (original_id == 0)
-> Filter: JoomGallery tables exist
-> Extract event start date
-> Check for existing mapping
-> Exists with category: sync title if configured, update event_date if changed
-> Exists pending: update event_date if changed
-> Not exists:
-> event_date <= today? Create category immediately
-> event_date > today? Store pending mapping (category_id = 0)
```
### Deferred Category Creation
@@ -74,29 +74,29 @@ DPCalendar event saved
Task Scheduler (daily at 2:00 AM)
OR
Frontend fallback (if task stale > 7 days)
Query: category_id = 0 AND event_date <= today
For each pending mapping:
Fetch event title from #__dpcalendar_events
Title empty? Delete orphaned mapping, skip
createGalleryCategory()
Generate unique alias
Resolve access level + permission rules
Insert into nested set (shift lft/rgt, insert row)
Create #__assets record
Update mapping with real category_id
Touch lastrun cache file
-> Query: category_id = 0 AND event_date <= today
-> For each pending mapping:
-> Fetch event title from #__dpcalendar_events
-> Title empty? Delete orphaned mapping, skip
-> createGalleryCategory()
-> Generate unique alias
-> Resolve access level + permission rules
-> Insert into nested set (shift lft/rgt, insert row)
-> Create #__assets record
-> Update mapping with real category_id
-> Touch lastrun cache file
```
### Event Deletion
```
DPCalendar event deleted
onContentAfterDelete
Look up mapped category_id
If category exists AND delete_on_remove enabled:
Delete from nested set (remove row, close gap)
Delete asset record from #__assets
Always delete mapping row (pending or created)
-> onContentAfterDelete
-> Look up mapped category_id
-> If category exists AND delete_on_remove enabled:
-> Delete from nested set (remove row, close gap)
-> Delete asset record from #__assets
-> Always delete mapping row (pending or created)
```
## Database Schema
@@ -104,7 +104,7 @@ DPCalendar event deleted
### `#__mokojgdpc_map`
| Column | Type | Nullable | Default | Index | Description |
|--------|------|----------|---------|-------|-------------|
|---|---|---|---|---|---|
| `id` | INT UNSIGNED | No | AUTO_INCREMENT | PRIMARY | Row ID |
| `event_id` | INT UNSIGNED | No | -- | UNIQUE (`idx_event`) | DPCalendar event ID |
| `category_id` | INT UNSIGNED | No | `0` | `idx_category`, `idx_pending` | JoomGallery category ID. `0` = pending |
@@ -146,8 +146,9 @@ The `onAfterRoute` fallback uses a file-based throttle:
---
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,4 +1,4 @@
← [Home](Home)
[< Home](Home) | [Installation](installation) | [Architecture >](architecture)
# Configuration Guide
@@ -84,8 +84,9 @@ If neither has rules, an empty ruleset (`{}`) is used and a log warning is writt
---
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,12 +1,12 @@
← [Home](Home)
[< Home](Home) | [Architecture](architecture) | [Troubleshooting >](troubleshooting)
# Development Guide
## Local Setup
```bash
git clone https://git.mokoconsulting.tech/MokoConsulting/MokoJGDPC.git
cd MokoJGDPC
git clone https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar.git
cd MokoGalleryCalendar
```
The installable plugin source lives in `src/`. Everything outside `src/` (workflows, docs, README) is repo-level infrastructure.
@@ -25,7 +25,7 @@ Or trigger the release workflow via Gitea Actions (see CI/CD below).
1. Symlink or copy `src/` into your Joomla installation:
```
plugins/system/mokojgdpc/ src/
plugins/system/mokojgdpc/ -> src/
```
2. Discover and enable the plugin via **System > Manage > Extensions > Discover**
3. The install script will create the mapping table and seed existing events
@@ -35,7 +35,7 @@ Or trigger the release workflow via Gitea Actions (see CI/CD below).
### `MokoJGDPC.php`
| Method | Visibility | Purpose |
|--------|-----------|---------|
|---|---|---|
| `onContentAfterSave()` | public | Entry point for event creation/update |
| `onContentAfterDelete()` | public | Entry point for event deletion |
| `onAfterRoute()` | public | 7-day fallback for pending processing |
@@ -52,7 +52,7 @@ Or trigger the release workflow via Gitea Actions (see CI/CD below).
### `script.php`
| Method | Purpose |
|--------|---------|
|---|---|
| `install()` | Create table, seed events, register scheduled task |
| `update()` | Ensure table, migrate schema, ensure task |
| `uninstall()` | Drop table, remove task, clean cache file |
@@ -60,10 +60,10 @@ Or trigger the release workflow via Gitea Actions (see CI/CD below).
| `migrateSchema()` | Add `event_date` column if upgrading from pre-01.00.01 |
| `ensureScheduledTask()` | Idempotent task registration in `#__scheduler_tasks` |
## Branching & Releases
## Branching and Releases
| Branch | Purpose |
|--------|---------|
|---|---|
| `main` | Stable releases |
| `dev` | Development (PRs target here) |
@@ -101,8 +101,9 @@ Releases are triggered via the `release.yml` workflow (workflow_dispatch). Dev r
---
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,11 +1,11 @@
← [Home](Home)
[< Home](Home) | [Configuration >](configuration)
# Installation Guide
## Requirements
| Requirement | Version |
|-------------|---------|
|---|---|
| Joomla | 5.x or 6.x |
| PHP | 8.1+ |
| DPCalendar | Any current version |
@@ -15,7 +15,7 @@ Both DPCalendar and JoomGallery must be installed and enabled before installing
## Install
1. Download the latest ZIP from the [releases page](https://git.mokoconsulting.tech/MokoConsulting/MokoJGDPC/releases)
1. Download the latest ZIP from the [releases page](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar/releases)
2. In Joomla admin, go to **System > Install > Extensions**
3. Upload the ZIP and install
4. Go to **System > Manage > Plugins**, search for "MokoJGDPC", and enable it
@@ -51,15 +51,16 @@ Uninstalling the plugin:
The plugin manifest includes an update server pointing to:
```
https://git.mokoconsulting.tech/MokoConsulting/MokoJGDPC/raw/branch/main/updates.xml
https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar/raw/branch/main/updates.xml
```
Joomla will check for new versions automatically via **System > Update > Extensions**.
---
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,4 +1,4 @@
← [Home](Home)
[< Home](Home) | [Development](development)
# Troubleshooting
@@ -109,8 +109,9 @@ WHERE type = 'plg_system_mokojgdpc.process_pending';
---
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGalleryCalendar](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+24 -7
View File
@@ -1,15 +1,31 @@
# MokoGitea
Custom Gitea fork with Project Board API
Moko Consulting's custom fork of [Gitea](https://gitea.com), extending the self-hosted Git service with Project Board API endpoints and custom branding. Based on Gitea 1.25.5.
| Field | Value |
|---|---|
| **Language** | Go |
| **License** | MIT |
| **Upstream** | Gitea 1.25.5 |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoGitea) |
---
## Features
- **Project Board API** -- REST API endpoints for managing project boards, columns, and cards programmatically
- **Custom branding** -- Moko Consulting visual identity (logos, colors, footer)
- **Full upstream compatibility** -- all standard Gitea features remain intact
- **Single binary deployment** -- written in Go, cross-platform, minimal resources
## Pages
- [Branding](Branding)
- [Deployment](Deployment)
- [Project API](Project API)
- [roadmap](roadmap)
| Page | Description |
|---|---|
| [Branding](Branding) | Custom branding and visual identity details |
| [Deployment](Deployment) | Production deployment guide |
| [Project API](Project-API) | Custom API endpoint reference for project boards |
| [roadmap](roadmap) | Development roadmap and planned features |
---
@@ -17,8 +33,9 @@ Custom Gitea fork with Project Board API
---
*Repo: [MokoGitea](https://git.mokoconsulting.tech/MokoConsulting/MokoGitea) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoGitea](https://git.mokoconsulting.tech/MokoConsulting/MokoGitea) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features and fork documentation |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+27 -17
View File
@@ -1,53 +1,62 @@
# MokoISOUpdatePortable
A PortableApp that keeps ISOs of selected systems up to date.
A portable Windows application for automatically downloading, verifying, and organizing Linux distribution ISOs. Dual-platform implementation with both a PowerShell script engine and a native C# standalone application, packaged in PortableApps format for USB drive deployment.
| Field | Value |
|---|---|
| **Language** | Markdown |
| **Language** | PowerShell, C# |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoISOUpdatePortable) |
---
## Features
- **Automated ISO downloads** -- fetches latest ISOs from official mirrors
- **Checksum verification** -- validates against published SHA-256 checksums
- **Organized file management** -- structured directory hierarchy by distro and version
- **Dual-platform architecture** -- PowerShell scripts plus native C# standalone
- **PortableApps packaging** -- runs from USB with no installation required
- **NSIS installer** -- optional traditional installer build
- **Build tooling** -- scripts for portable packages, checksums, and version extraction
## Guides
| Page | Description |
|---|---|
| [BUILD DIRECTORY](BUILD-DIRECTORY.-.-) | This directory contains the built artifacts of MokoISOUpdatePortable. |
| [BUILD](BUILD) | > **Complete build instructions for developers, contributors, and CI/CD pipelines** |
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **[PROJECT_NAME]**. |
| [BUILD DIRECTORY](BUILD-DIRECTORY.-.-) | Built artifacts of MokoISOUpdatePortable. |
| [BUILD](BUILD) | Complete build instructions for developers, contributors, and CI/CD pipelines. |
| [INSTALLATION](INSTALLATION) | Comprehensive installation and setup instructions. |
## Reference
| Page | Description |
|---|---|
| [ARCHITECTURE](ARCHITECTURE) | MokoISOUpdatePortable is a dual-platform ISO management system with both PowerShell and C# implement... |
| [templates README template](templates-README-template.-.-) | A standard style for README files |
| [ARCHITECTURE](ARCHITECTURE) | Dual-platform ISO management system design with PowerShell and C# implementations. |
## Operations
| Page | Description |
|---|---|
| [SECURITY](SECURITY) | We actively support security updates for the following versions: |
| [SECURITY](SECURITY) | Supported versions and security update policy. |
## Development
| Page | Description |
|---|---|
| [CONTRIBUTING](CONTRIBUTING) | We appreciate your interest in contributing to this project! This document provides guidelines for c... |
| [RELEASE PROCESS](RELEASE-PROCESS.-.-) | This document defines the formal release process for MokoISOUpdatePortable, ensuring consistent, hig... |
| [CONTRIBUTING](CONTRIBUTING) | Contribution guidelines and development workflow. |
| [RELEASE PROCESS](RELEASE-PROCESS.-.-) | Formal release process for consistent, high-quality releases. |
## Documentation
| Page | Description |
|---|---|
| [CODE_OF_CONDUCT](CODE_OF_CONDUCT) | In the interest of fostering an open and welcoming environment, we as contributors and maintainers p... |
| [CSHARP](CSHARP) | This is a complete C# rewrite of the MokoISOUpdaterPortable application as a native Windows standalo... |
| [GOVERNANCE](GOVERNANCE) | This document outlines the governance model, branch protection rules, and review requirements for th... |
| [REPOSITORY INDEX](REPOSITORY-INDEX.-.-) | **A portable Windows application for automatically downloading and organizing Linux distribution ISO... |
| [SCRIPTS](SCRIPTS) | This index provides navigation to documentation within this folder. |
| [templates index](templates-index.-.-) | This index provides navigation to documentation within this folder. |
| [CODE_OF_CONDUCT](CODE_OF_CONDUCT) | Community standards and contributor expectations. |
| [CSHARP](CSHARP) | C# rewrite of MokoISOUpdatePortable as a native Windows standalone application. |
| [GOVERNANCE](GOVERNANCE) | Governance model, branch protection rules, and review requirements. |
| [REPOSITORY INDEX](REPOSITORY-INDEX.-.-) | Repository structure and file organization overview. |
| [SCRIPTS](SCRIPTS) | Build and utility script documentation. |
| [templates index](templates-index.-.-) | Documentation templates navigation. |
---
@@ -59,4 +68,5 @@ A PortableApp that keeps ISOs of selected systems up to date.
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features, installation, and configuration |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,4 +1,6 @@
[Home](Home)
[Home](Home) | [QUICKSTART](QUICKSTART) | [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | [Update Server](update-server.-.-)
---
# Firewall Configuration for License Downloads
@@ -86,7 +88,7 @@ New-NetFirewallRule -DisplayName "Allow HTTPS to ftp.gnu.org" `
Type: HTTPS
Protocol: TCP
Port Range: 443
Destination: 0.0.0.0/0 # Or specific IP range if known
Destination: 0.0.0.0/0 # Or specific IP range if known
Description: Allow license download from www.gnu.org
```
@@ -266,8 +268,9 @@ For questions or issues related to firewall configuration:
---
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+35 -11
View File
@@ -1,12 +1,35 @@
# MokoJoomHero
A Joomla Module designed to provide a random image from a folder with content on top as a Hero.
A Joomla module that displays a random hero image from a configurable folder with overlay content -- perfect for dynamic landing pages, splash screens, and promotional banners.
| Field | Value |
![Joomla](https://img.shields.io/badge/Joomla-5.x%20%7C%206.x-blue?style=flat-square&logo=joomla&logoColor=white) ![PHP](https://img.shields.io/badge/PHP-%E2%89%A5%208.1-777BB4?style=flat-square&logo=php&logoColor=white) ![License](https://img.shields.io/badge/license-GPL--3.0--or--later-green?style=flat-square) ![Platform](https://img.shields.io/badge/platform-Gitea-609926?style=flat-square&logo=gitea&logoColor=white)
---
## Features
- **Random hero images** -- automatically selects a random image from a specified folder on each page load
- **Content overlay** -- display titles, text, and call-to-action buttons on top of hero images
- **Joomla 5/6 native** -- built as a modern Joomla module following current extension standards
- **Automated update server** -- `update.xml` is managed automatically via CI/CD workflows
- **GPL-3.0 licensed** -- fully open-source with automated license sync workflows
- **CI/CD pipeline** -- Gitea Actions workflows for linting, testing, building, packaging, and releasing
- **MokoStandards governed** -- follows Moko Consulting's platform standards for quality and consistency
## Requirements
| Requirement | Version |
|---|---|
| **Language** | Markdown |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) |
| **Joomla** | 5.x or 6.x |
| **PHP** | 8.1 or later |
| **Web Server** | Apache or Nginx |
## Quick Start
1. Download the latest `.zip` from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero/releases)
2. Install via **System > Install > Extensions** in the Joomla admin
3. Configure the module under **System > Site Modules > MokoJoomHero**
4. Place hero images into the configured folder and assign the module to a template position
---
@@ -14,15 +37,15 @@ A Joomla Module designed to provide a random image from a folder with content on
| Page | Description |
|---|---|
| [FIREWALL_CONFIGURATION](FIREWALL_CONFIGURATION) | This document provides guidance on configuring firewalls to allow the automated license download wor... |
| [QUICKSTART](QUICKSTART) | This guide helps you get started with the manual GPL license sync workflow that downloads and mainta... |
| [QUICKSTART](QUICKSTART) | Get started with the license sync workflow and module setup |
| [FIREWALL_CONFIGURATION](FIREWALL_CONFIGURATION) | Configure firewalls for automated license downloads in enterprise environments |
## Documentation
| Page | Description |
|---|---|
| [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | This implementation adds automated GPL-3.0 license download functionality with comprehensive firewal... |
| [update server](update-server.-.-) | This document explains how `update.xml` is automatically managed for this Joomla extension following... |
| [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | Technical details of the license download implementation with firewall support |
| [Update Server](update-server.-.-) | How `update.xml` is automatically managed for Joomla update notifications |
---
@@ -30,8 +53,9 @@ A Joomla Module designed to provide a random image from a folder with content on
---
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) . [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Overhaul with features, requirements, and quick start |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,4 +1,6 @@
[Home](Home)
[Home](Home) | [QUICKSTART](QUICKSTART) | [FIREWALL_CONFIGURATION](FIREWALL_CONFIGURATION) | [Update Server](update-server.-.-)
---
# Implementation Summary: License Download with Firewall Configuration
@@ -139,7 +141,7 @@ Simply use the template repository. The workflow will:
./scripts/test-firewall.sh
# Manually trigger workflow
# Go to Gitea Actions Download License Run workflow
# Go to Gitea Actions > Download License > Run workflow
```
## Benefits
@@ -151,15 +153,6 @@ Simply use the template repository. The workflow will:
5. **Transparent**: Clear logging and validation steps
6. **Secure**: Minimal permissions and content verification
## Future Enhancements (Optional)
Potential improvements for future iterations:
- Support for additional license types
- Integration with license scanning tools
- Automated license compliance reporting
- License header insertion in source files
- Multi-license support for complex projects
## References
- [GNU GPL-3.0 License](https://www.gnu.org/licenses/gpl-3.0.html)
@@ -168,8 +161,9 @@ Potential improvements for future iterations:
---
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+25 -23
View File
@@ -1,4 +1,6 @@
[Home](Home)
[Home](Home) | [FIREWALL_CONFIGURATION](FIREWALL_CONFIGURATION) | [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY) | [Update Server](update-server.-.-)
---
# Quick Start: License Sync Workflow
@@ -10,8 +12,8 @@ If you're using this template repository, the license sync workflow is available
1. **Create your repository from this template**
2. **Trigger the workflow manually when needed:**
- Go to Actions tab Sync Licenses Run workflow
- Automatic scheduling is disabled - you control when licenses are updated
- Go to Actions tab > Sync Licenses > Run workflow
- Automatic scheduling is disabled -- you control when licenses are updated
The workflow downloads and syncs:
- GPL-3.0 (primary license in LICENSE file)
@@ -43,7 +45,7 @@ If the test fails, configure your firewall to allow:
- **Protocol:** HTTPS
- **Port:** 443
See [docs/FIREWALL_CONFIGURATION.md](FIREWALL_CONFIGURATION.md) for detailed firewall configuration examples.
See [Firewall Configuration](FIREWALL_CONFIGURATION) for detailed firewall configuration examples.
### Step 3: Retest
@@ -59,7 +61,7 @@ All tests should pass before enabling the workflow.
To manually run the workflow:
1. Go to your repository on GitHub
1. Go to your repository on Gitea
2. Click the **Actions** tab
3. Select **Sync Licenses** workflow
4. Click **Run workflow** button
@@ -69,12 +71,12 @@ To manually run the workflow:
When the workflow runs:
1. Tests connectivity to all license sources (www.gnu.org and ftp.gnu.org)
2. Downloads multiple GPL licenses (GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0)
3. Validates all downloaded licenses
4. Copies GPL-3.0 to root LICENSE file with copyright header
5. Stores additional licenses in `licenses/` directory
6. Commits and pushes if any licenses changed
1. Tests connectivity to all license sources (www.gnu.org and ftp.gnu.org)
2. Downloads multiple GPL licenses (GPL-2.0, GPL-3.0, LGPL-2.1, LGPL-3.0)
3. Validates all downloaded licenses
4. Copies GPL-3.0 to root LICENSE file with copyright header
5. Stores additional licenses in `licenses/` directory
6. Commits and pushes if any licenses changed
## Viewing Results
@@ -107,10 +109,9 @@ After the workflow runs:
## Need Help?
- 📖 [Full Firewall Configuration Guide](FIREWALL_CONFIGURATION.md)
- 📖 [Implementation Summary](IMPLEMENTATION_SUMMARY.md)
- 📖 [Workflow Documentation](.gitea-workflows-README)
- 📧 Contact: hello@mokoconsulting.tech
- [Firewall Configuration Guide](FIREWALL_CONFIGURATION)
- [Implementation Summary](IMPLEMENTATION_SUMMARY)
- Contact: hello@mokoconsulting.tech
## Advanced Configuration
@@ -122,8 +123,8 @@ Automatic updates are currently disabled. To enable automatic monthly updates:
2. Uncomment the `schedule` trigger:
```yaml
on:
workflow_dispatch: # Keep manual trigger
schedule: # Uncomment to enable automatic updates
workflow_dispatch: # Keep manual trigger
schedule: # Uncomment to enable automatic updates
- cron: '0 0 1 * *' # Run monthly
```
@@ -167,16 +168,17 @@ env:
## Best Practices
1. Test connectivity before deploying to production
2. Review firewall logs if workflow fails
3. Keep workflow file in version control
4. Monitor workflow runs in the Actions tab
5. Update firewall rules if gnu.org IPs change
1. Test connectivity before deploying to production
2. Review firewall logs if workflow fails
3. Keep workflow file in version control
4. Monitor workflow runs in the Actions tab
5. Update firewall rules if gnu.org IPs change
---
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,8 +1,10 @@
[Home](Home)
[Home](Home) | [QUICKSTART](QUICKSTART) | [FIREWALL_CONFIGURATION](FIREWALL_CONFIGURATION) | [IMPLEMENTATION_SUMMARY](IMPLEMENTATION_SUMMARY)
---
# Joomla Update Server
[![moko-platform](https://img.shields.io/badge/moko-platform-04.04.00-blue)](https://github.com/mokoconsulting-tech/moko-platform)
[![moko-platform](https://img.shields.io/badge/moko--platform-04.07.00-blue)](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards)
This document explains how `update.xml` is automatically managed for this Joomla extension following the [Joomla Update Server specification](https://docs.joomla.org/Deploying_an_Update_Server).
@@ -77,7 +79,7 @@ Your XML manifest must include an `<updateservers>` tag pointing to the `update.
### Branch Lifecycle
```
dev/XX.YY.ZZ rc/XX.YY.ZZ main version/XX.YY
dev/XX.YY.ZZ > rc/XX.YY.ZZ > main > version/XX.YY
(development) (rc) (stable) (frozen snapshot)
```
@@ -99,12 +101,13 @@ The `repo_health.yml` workflow verifies on every commit:
---
*Managed by [moko-platform](https://github.com/mokoconsulting-tech/moko-platform). See [docs/workflows/update-server.md](https://github.com/mokoconsulting-tech/moko-platform/blob/main/docs/workflows/update-server.md) for the full specification.*
*Managed by [moko-platform](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards). See [docs/workflows/update-server.md](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards/src/branch/main/docs/workflows/update-server.md) for the full specification.*
---
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) · [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
*Repo: [MokoJoomHero](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomHero) -- [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)*
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.1 | 2026-05-10 | Moko Consulting | Add nav links, clean formatting |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+78 -7
View File
@@ -1,12 +1,50 @@
[<-- Back to Repository](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomTOS)
# MokoJoomTOS
A component to present a sites Term of Service and privacy policy even through offline.
A Joomla system plugin that keeps your Terms of Service, Privacy Policy, or any legal page accessible to visitors -- even when the site is in offline (maintenance) mode.
| Field | Value |
|---|---|
| **Language** | Markdown |
| **Author** | [Moko Consulting](https://mokoconsulting.tech) |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomTOS) |
| **Version** | 03.08.04 |
| **Joomla** | 5.x / 6.x |
| **PHP** | 8.1+ |
---
## Why MokoJoomTOS?
When you put a Joomla site into offline mode for maintenance, *every* page returns the offline message -- including legal pages that may need to remain publicly accessible. Many jurisdictions require Terms of Service and Privacy Policy pages to be available at all times. MokoJoomTOS solves this by selectively bypassing offline mode for a single configured URL slug, rendering only the article content without any site template chrome.
## Features
- **Offline-mode bypass** -- Keeps a designated page accessible while the rest of the site shows the offline message
- **Component-only rendering** -- Strips headers, footers, navigation, and modules for a minimal, secure view
- **Single-parameter configuration** -- Just one setting: the menu item slug to expose
- **Child-path matching** -- A slug of `legal` also matches `/legal/privacy`, `/legal/terms`, etc.
- **Zero database footprint** -- No custom tables; uses native Joomla content and menu infrastructure
- **Auto-provisioning installer** -- On first install, automatically creates a sample article, "Legal" menu type, menu item, and enables the plugin
- **Idempotent installation** -- Safe to reinstall; checks for existing resources before creating duplicates
- **Built-in update server** -- Joomla automatically checks for new versions via the Gitea-hosted `updates.xml`
- **Joomla 4+ namespaced architecture** -- Uses `SubscriberInterface` and proper PSR-4 namespacing
- **Multilingual support** -- Language files included for en-GB and en-US (site and admin)
## How It Works
The plugin subscribes to the `onAfterRoute` Joomla event. When a request comes in:
1. **Check scope** -- Only acts on the site application (not admin)
2. **Check offline** -- Only acts when the site is in offline mode
3. **Match slug** -- Compares the URI path against the configured `tos_slug` parameter
4. **Bypass offline** -- If matched, temporarily sets `offline = 0` for this request only (not persisted to database)
5. **Strip template** -- Forces `tmpl=component` so only the article content renders (no header, footer, or modules)
If the URL does not match, the plugin does nothing and visitors see the normal offline page.
For full technical details, see [How It Works](How-It-Works.-).
---
@@ -14,15 +52,47 @@ A component to present a sites Term of Service and privacy policy even through o
| Page | Description |
|---|---|
| [Configuration](Configuration) | MokoJoomTOS has a minimal configuration surface -- just one parameter controls which page remains ac... |
| [Installation](Installation) | Step-by-step guide to installing the MokoJoomTOS offline access plugin for Joomla. |
| [Installation](Installation) | Step-by-step guide to installing the plugin from release or source |
| [Configuration](Configuration) | Plugin parameters, slug setup, and limitations |
## Documentation
| Page | Description |
|---|---|
| [How It Works](How-It-Works.-) | MokoJoomTOS is a Joomla system plugin that intercepts requests during offline mode and selectively a... |
| [update server](update-server.-.-) | This document explains how `update.xml` is automatically managed for this Joomla extension following... |
| [How It Works](How-It-Works.-) | Technical architecture, event flow, URL matching, and security details |
| [Update Server](update-server.-.-) | How `updates.xml` is automatically managed for Joomla update notifications |
## Quick Start
1. Download the latest ZIP from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoJoomTOS/releases)
2. Install via **System > Install > Extensions** in Joomla admin
3. The plugin auto-provisions everything -- no configuration needed
4. Set your site offline and visit `/terms-of-service` to verify
## Requirements
| Requirement | Minimum |
|---|---|
| **Joomla** | 5.0 or later |
| **PHP** | 8.1 or later |
| **Database** | None required (uses native Joomla tables) |
## Plugin Architecture
```
src/
+-- mokojoomtos.php # Legacy entry point (loads namespace)
+-- mokojoomtos.xml # Plugin manifest (params, files, update server)
+-- script.php # Installation script (auto-creates article + menu)
+-- src/
| +-- Extension/
| | +-- MokoJoomTOS.php # Main plugin class (event handler)
| +-- Field/
| +-- MenuslugField.php # Custom form field for slug selection
+-- language/ # Site-side translations (en-GB, en-US)
+-- administrator/
+-- language/ # Admin-side translations (en-GB, en-US)
```
---
@@ -34,4 +104,5 @@ A component to present a sites Term of Service and privacy policy even through o
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with features, architecture, and quick start |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
@@ -1,12 +1,108 @@
# MokoPerfectPublisher-Discord
A Perfect Publisher plugin to post to Discord
A Joomla plugin that automatically publishes articles to Discord channels via webhooks, delivering rich embed notifications whenever content is created or updated.
| Field | Value |
|---|---|
| **Language** | Markdown |
| **Type** | Joomla Content Plugin (Perfect Publisher) |
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Joomla** | 4.x / 5.x |
| **PHP** | 8.1+ |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoPerfectPublisher-Discord) |
| **Status** | In Development |
---
## Features
- **Automatic Discord posting** -- publishes to Discord when Joomla articles are saved or published
- **Rich embed format** -- sends Discord embeds with article title, excerpt, featured image, author, and category
- **Webhook integration** -- uses Discord webhook URLs for zero-bot, zero-authentication setup
- **Per-category control** -- configure which Joomla categories trigger Discord notifications
- **Customizable embeds** -- set embed color, footer text, and thumbnail from the Joomla admin
- **Publish vs. update awareness** -- distinguish between new articles and updates in Discord messages
- **Intro text excerpts** -- automatically extracts and truncates article intro text for the embed description
- **Direct article links** -- embed includes a clickable link back to the published article on your site
## Requirements
| Requirement | Version |
|---|---|
| Joomla | 4.0+ or 5.x |
| PHP | 8.1+ |
| PHP cURL extension | Enabled |
| Discord webhook URL | See [Discord Webhook Setup](#discord-webhook-setup) |
## Discord Webhook Setup
Before installing the plugin, create a webhook in your Discord server:
1. Open your Discord server and navigate to the channel where you want articles posted
2. Click the gear icon (Edit Channel) next to the channel name
3. Select **Integrations** from the left sidebar
4. Click **Webhooks**, then **New Webhook**
5. Give the webhook a name (e.g., "Joomla Articles") and optionally set an avatar
6. Click **Copy Webhook URL** -- you will need this during plugin configuration
7. Click **Save Changes**
The webhook URL will look like:
```
https://discord.com/api/webhooks/1234567890/aBcDeFgHiJkLmNoPqRsTuVwXyZ...
```
> **Security note:** Treat your webhook URL like a password. Anyone with the URL can post messages to your channel. Never commit it to version control or share it publicly.
## Quick Start
1. Download the latest release from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoPerfectPublisher-Discord/releases)
2. Install via **System > Install > Extensions** in Joomla admin
3. Go to **System > Plugins**, find "Perfect Publisher - Discord"
4. Enter your Discord webhook URL
5. Set Status to **Enabled** and click **Save & Close**
6. Publish a Joomla article -- it will appear in your Discord channel
## Configuration
After installation, configure the plugin in **System > Plugins > Perfect Publisher - Discord**:
| Parameter | Description | Required |
|---|---|---|
| **Webhook URL** | Your Discord webhook URL | Yes |
| **Embed Color** | Hex color for the embed sidebar (e.g., `#5865F2`) | No |
| **Site Name** | Displayed in the embed footer | No |
| **Categories** | Restrict publishing to specific Joomla categories | No |
| **Publish on Create** | Send notification when a new article is created | No |
| **Publish on Update** | Send notification when an existing article is updated | No |
## Discord Embed Format
When an article is published, the plugin sends a rich embed to your Discord channel:
```
+-------------------------------------------------+
| [Embed Color Bar] |
| |
| ARTICLE TITLE [Thumbnail] |
| https://yoursite.com/article-url |
| |
| Article intro text excerpt goes here, |
| automatically truncated to a reasonable |
| length for the embed description... |
| |
| Category: News |
| Author: John Doe |
| |
| Your Site Name Today at 12:00 PM |
+-------------------------------------------------+
```
The embed includes:
- **Title** -- linked to the full article on your Joomla site
- **Description** -- intro text excerpt (auto-truncated)
- **Thumbnail** -- article featured image, if set
- **Fields** -- category and author information
- **Footer** -- site name and publish timestamp
---
@@ -14,7 +110,7 @@ A Perfect Publisher plugin to post to Discord
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **MokoPerfectPublisher-... |
| [INSTALLATION](INSTALLATION) | Detailed installation and setup instructions |
## Reference
@@ -26,7 +122,7 @@ A Perfect Publisher plugin to post to Discord
| Page | Description |
|---|---|
| [templates index](templates-index.-.-) | This index provides navigation to documentation within this folder. |
| [templates index](templates-index.-.-) | Documentation templates index |
---
@@ -38,4 +134,5 @@ A Perfect Publisher plugin to post to Discord
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with features, webhook setup, configuration, embed format |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+11 -3
View File
@@ -1,6 +1,6 @@
# MokoTesting
Testign grond for Moko Consulting
Testing ground and sandbox for Moko Consulting. Contains experimental Joomla plugins, VirtueMart sample data installers, build scripts, and test harnesses used to validate extensions before promotion to production repositories.
| Field | Value |
|---|---|
@@ -10,11 +10,18 @@ Testign grond for Moko Consulting
---
## Features
- **VirtueMart sample data plugin** -- populates a VirtueMart store with test products and categories
- **VirtueMart test fixtures** -- reusable data sets for consistent testing
- **Plugin build script** -- packages Joomla plugins into installable `.zip` archives
- **Utility scripts** -- test setup, data seeding, and environment preparation
## Guides
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **[PROJECT_NAME]**. |
| [INSTALLATION](INSTALLATION) | Installation and setup instructions. |
---
@@ -26,4 +33,5 @@ Testign grond for Moko Consulting
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features and project description |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+72 -13
View File
@@ -1,34 +1,92 @@
# MokoWaaSAnnounce
A centralized system to make announcements via admin module for Joomla
A distributed Joomla announcement system. One host site manages announcements via an admin component; any number of remote sites fetch and display them through a lightweight module and JSON API.
![PHP](https://img.shields.io/badge/PHP-8.1%2B-777BB4?style=flat-square&logo=php&logoColor=white) ![Joomla](https://img.shields.io/badge/Joomla-5.x%20%7C%206.x-5091CD?style=flat-square&logo=joomla&logoColor=white) ![License](https://img.shields.io/badge/license-GPL--3.0--or--later-green?style=flat-square) ![Platform](https://img.shields.io/badge/platform-waas--component-blue?style=flat-square) ![Version](https://img.shields.io/badge/version-1.0.0-orange?style=flat-square)
| Field | Value |
|---|---|
| **Language** | Markdown |
| **Platform** | waas-component |
| **Version** | 1.0.0 |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoWaaSAnnounce) |
| **Repository** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoWaaSAnnounce) |
---
## Architecture Overview
MokoWaaSAnnounce uses a client-server model with two independently installable Joomla extensions:
| Part | Extension | Installed on | Purpose |
|------|-----------|-------------|---------|
| **Host component** | `com_mokowaasannounce` | One central site | Admin CRUD, database, JSON API |
| **Remote module** | `mod_mokowaasannounce` | Each client site | Fetch, cache, and display announcements |
The host exposes a public read-only JSON API at:
```
GET /index.php?option=com_mokowaasannounce&view=api&format=json
```
Remote modules fetch announcements over HTTP/HTTPS, cache them locally (15-minute default), and render them in a configurable template position.
---
## Guides
| Page | Description |
|---|---|
| [Configuration](Configuration) | Configuration is split between the host component (announcement management) and the remote module (d... |
| [Installation](Installation) | MokoWaaSAnnounce uses a two-part installation: the **component** on the host site and the **module**... |
|------|-------------|
| [Installation](Installation) | Two-part setup: component on the host site, module on each remote site. Includes packaging, Joomla admin upload, directory upload, and verification steps. |
| [Configuration](Configuration) | All component and module parameters: host URL, announcement count, ordering, direction, show date, caching, permissions, and advanced settings. |
## Reference
| Page | Description |
|---|---|
| [Architecture](Architecture) | MokoWaaSAnnounce uses a distributed client-server architecture where one host site manages announcem... |
| [templates README template](templates-README-template.-.-) | A standard style for README files |
|------|-------------|
| [Architecture](Architecture) | System diagram, directory structures, database table, JSON API endpoint and response format, data flow, caching strategy, error handling, and security model. |
## Documentation
## Quick Start
| Page | Description |
1. **Host site**: Package and install `com_mokowaasannounce` via Joomla Extensions manager
2. **Create announcements**: Components > MokoWaaSAnnounce > New
3. **Remote sites**: Package and install `mod_mokowaasannounce`, set Host URL to the host site
4. Announcements appear on remote sites within 15 minutes (cache duration)
## Requirements
| Requirement | Minimum |
|---|---|
| [templates index](templates-index.-.-) | This index provides navigation to documentation within this folder. |
| **Joomla** | 5.x or 6.x |
| **PHP** | 8.1 or later |
| **MySQL** | 5.5 or later (host site only) |
| **Network** | Remote sites must reach the host via HTTP/HTTPS |
## JSON API
The host component exposes a public read-only JSON endpoint. No authentication is required.
| Parameter | Values | Default | Description |
|-----------|--------|---------|-------------|
| `limit` | Integer | `5` | Maximum announcements to return |
| `ordering` | `created`, `ordering` | `created` | Sort field |
| `direction` | `ASC`, `DESC` | `DESC` | Sort direction |
Response:
```json
{
"success": true,
"count": 2,
"announcements": [
{
"id": 1,
"title": "Scheduled Maintenance",
"message": "Site will be down Saturday 2-4 AM.",
"created": "2026-05-01 12:00:00",
"ordering": 1
}
]
}
```
---
@@ -40,4 +98,5 @@ A centralized system to make announcements via admin module for Joomla
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with architecture, API, quick start, and requirements |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+30
View File
@@ -0,0 +1,30 @@
# Moko Consulting Wiki
Welcome to the organization-wide wiki for **Moko Consulting**.
## Quick Links
| Section | Description |
|---------|-------------|
| [Standards](Standards) | Coding standards, repo health requirements, release workflows |
| [Runbooks](Runbooks) | Operational runbooks for deployment, backup, monitoring |
| [Architecture](Architecture) | System architecture, MCP servers, MokoGitea customizations |
| [Onboarding](Onboarding) | New developer setup, tool access, workspace configuration |
## Repository Wikis
Each repository maintains its own wiki for project-specific documentation:
- [MokoGitea Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/wiki) — Custom Gitea fork
- [moko-platform Wiki](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki) — Platform tooling
- [MokoOnyx Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/wiki) — Joomla template
- [MokoGalleryCalendar Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoGalleryCalendar/wiki) — DPCalendar+JoomGallery
## Platform
| | |
|---|---|
| **Instance** | [MokoGitea](https://git.mokoconsulting.tech) |
| **Version** | v1.25.5-moko.3 |
| **Monitoring** | Grafana (SSH tunnel :3000) |
| **Backups** | Daily (Akeeba + MySQL dump) |
+18 -6
View File
@@ -1,20 +1,32 @@
# MokoWinSetup
A setup script for Windows
Windows development environment setup tool for Moko Consulting workstations. Automates the provisioning of a fresh Windows installation with standard applications, OS configuration, Chrome work-profile creation, PWA shortcuts, and Wi-Fi profiles -- all from a single launcher.
| Field | Value |
|---|---|
| **Language** | C |
| **Language** | C, PowerShell |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/MokoWinSetup) |
---
## Features
- **One-click provisioning** -- compiled C launcher (`MokoInstall.exe`) or `.bat` script auto-elevates to Administrator
- **Workstation OS configuration** -- taskbar, Explorer preferences, and restart
- **Automated app installation** -- 20+ apps via Microsoft Store, winget, GitHub Releases, or direct download
- **JSON app manifest** -- declarative `appslist.manifest.json` with per-app sources and install ordering
- **Chrome work-profile setup** -- dedicated `@mokoconsulting.tech` profile with Google Workspace sign-in
- **PWA app shortcuts** -- Start Menu shortcuts for Mail, Calendar, Groups, Claude, and Moko CRM
- **Wi-Fi profile provisioning** -- pre-configured NETGEAR office profiles
- **Terminal UI** -- ASCII banner, progress bars, spinners, and final summary in UTF-8
- **PowerShell 5.1 compatible** -- no PowerShell 7 dependency
## Guides
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **[PROJECT_NAME]**. |
| [INSTALLATION](INSTALLATION) | Comprehensive installation and setup instructions. |
| [setup guide](setup-guide.-.-) | Step-by-step instructions for running MokoWinSetup on a new Windows workstation. |
## Reference
@@ -22,13 +34,12 @@ A setup script for Windows
| Page | Description |
|---|---|
| [technical reference](technical-reference.-.-) | Developer and IT reference for MokoWinSetup. |
| [templates README template](templates-README-template.-.-) | A standard style for README files |
## Documentation
| Page | Description |
|---|---|
| [templates index](templates-index.-.-) | This index provides navigation to documentation within this folder. |
| [templates index](templates-index.-.-) | Navigation to documentation within the templates folder. |
---
@@ -40,4 +51,5 @@ A setup script for Windows
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features, installation, and configuration |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+192 -5
View File
@@ -1,12 +1,162 @@
# Template-Dolibarr
A repo template for a Dolibarr module coding project according to MokoStandards
A repository template for building Dolibarr ERP/CRM modules following MokoStandards. Use this template to scaffold new module projects with a consistent directory layout, CI/CD workflows, build tooling, and governance files already in place.
| Field | Value |
|---|---|
| **Language** | PHP |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/Template-Dolibarr) |
| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) |
---
## What This Template Provides
- **Module source scaffold** (`src/`) -- a ready-to-customize Dolibarr module with sample descriptor, admin pages, library helpers, language files, icons, and Transifex config.
- **Makefile** -- build, lint, test, package, install, and release targets for local development.
- **CI/CD workflows** (`.gitea/workflows/`) -- automated CI checks, PR validation, pre-release, auto-release with ZIP packaging, update-server management, deployment, security audits, repo health, cleanup, and notifications.
- **PHPStan configuration** (`phpstan.neon`) -- static analysis preconfigured for Dolibarr module development.
- **Governance files** -- LICENSE (GPL-3.0-or-later), CODE_OF_CONDUCT.md, CONTRIBUTING.md, GOVERNANCE.md, SECURITY.md, and `.moko-standards` attachment.
- **EditorConfig and gitattributes** -- consistent formatting across editors and correct line-ending handling.
- **Documentation stubs** (`docs/`) -- installation, development, changelog, module-id-policy, and update-server guides.
- **Update server support** (`update.txt`) -- automated version tracking for Dolibarr's built-in update checker.
---
## Quick Start
### 1. Create a new repository from this template
On Gitea, click **Use this template** on the [Template-Dolibarr](https://git.mokoconsulting.tech/MokoConsulting/Template-Dolibarr) repository page and name your new repo (e.g., `MyModule`).
### 2. Clone and rename the sample files
```bash
git clone git@git.mokoconsulting.tech:MokoConsulting/MyModule.git
cd MyModule
```
Rename sample files to match your module name (e.g., `mokocrm`):
| Sample file | Rename to |
|---|---|
| `src/core/modules/modSample.class.php` | `src/core/modules/modMokocrm.class.php` |
| `src/lib/sample.lib.php` | `src/lib/mokocrm.lib.php` |
| `src/langs/en_US/sample.lang` | `src/langs/en_US/mokocrm.lang` |
| `src/sampleindex.php` | `src/mokocrmindex.php` |
### 3. Update the Makefile
Edit the configuration block at the top of `Makefile`:
```makefile
MODULE_NAME := mokocrm
MODULE_VERSION := 1.0.0
MODULE_NUMBER := 500001
```
Module numbers must be 500000+ for custom modules. See the [module ID policy](module-id-policy.-.-) wiki page for assignment rules.
### 4. Edit the module descriptor
Open `src/core/modules/modMokocrm.class.php` and update the class name, module number, module name, description, and other metadata to match your module.
### 5. Build and test
```bash
make help # Show all available targets
make install-deps # Install Composer dev dependencies
make lint # PHP syntax check
make phpstan # Static analysis
make validate # Run all validation checks
make build # Build distributable ZIP package
make install-local # Install to local Dolibarr instance
```
---
## Directory Structure
```
Template-Dolibarr/
|-- .editorconfig # Editor formatting rules
|-- .gitattributes # Git line-ending and diff config
|-- .gitignore # Ignored files/directories
|-- .moko-standards # MokoStandards governance attachment (auto-synced)
|-- CODE_OF_CONDUCT.md # Contributor code of conduct
|-- CONTRIBUTING.md # Contribution guidelines
|-- GOVERNANCE.md # Project governance policy
|-- LICENSE # GPL-3.0-or-later full text
|-- Makefile # Build, test, package, install targets
|-- README.md # Repository readme
|-- SECURITY.md # Security policy and reporting
|-- composer.json # PHP dependency manifest (placeholder)
|-- phpstan.neon # PHPStan static analysis config
|-- update.txt # Version string for Dolibarr update server
|
|-- .gitea/
| |-- .mokostandards # Gitea-specific standards config
| +-- workflows/
| |-- auto-release.yml # Automated release on merge to main
| |-- ci-dolibarr.yml # CI pipeline (lint, phpstan, structure)
| |-- cleanup.yml # Cleanup old artifacts/branches
| |-- deploy-manual.yml # Manual deployment trigger
| |-- notify.yml # Notification on release/failure
| |-- pr-check.yml # Pull request validation
| |-- pre-release.yml # Pre-release build and test
| |-- publish-to-mokodolimods.yml # Publish to MokoDoliMods registry
| |-- repo-health.yml # Repository health checks
| |-- security-audit.yml # Security dependency audit
| +-- update-server.yml # Update server version management
|
|-- docs/
| |-- README.md # Documentation index
| |-- changelog.md # Template changelog
| |-- development.md # Development best practices
| |-- installation.md # Installation guide
| |-- module-id-policy.md # Module ID assignment rules
| +-- update-server.md # Update server documentation
|
|-- scripts/ # Build/utility scripts (placeholder)
|
+-- src/ # Dolibarr module source (deploy this)
|-- .editorconfig # Module-specific editor config
|-- .gitattributes # Module-specific git attributes
|-- COPYING # GPL license for module distribution
|-- ChangeLog.md # Module changelog
|-- README.md # Module readme (shown in Dolibarr)
|-- sampleindex.php # Sample module landing page
|
|-- .tx/
| +-- config # Transifex translation config
|
|-- admin/
| |-- about.php # Module about/info page
| +-- setup.php # Module configuration page
|
|-- core/
| +-- modules/
| +-- modSample.class.php # Module descriptor (rename this)
|
|-- img/
| |-- README.md # Icon requirements documentation
| |-- favicon.gif # Module favicon (GIF format)
| |-- favicon.ico # Module favicon (ICO format)
| |-- favicon.svg # Module favicon (SVG source)
| |-- favicon_256.png # Module favicon (256x256 PNG)
| |-- index.php # Directory listing protection
| |-- logo.png # Module logo (PNG)
| |-- logo.svg # Module logo (SVG source)
| +-- object_favicon_256.png # Object icon for Dolibarr lists
|
|-- langs/
| +-- en_US/
| +-- sample.lang # English language strings (rename this)
|
+-- lib/
+-- sample.lib.php # Module library helpers (rename this)
```
---
@@ -20,15 +170,15 @@ A repo template for a Dolibarr module coding project according to MokoStandards
| Page | Description |
|---|---|
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. This guide will help you navigate all ... |
| [README](README) | Welcome to the moko-platform Dolibarr Template documentation. |
| [changelog](changelog) | All notable changes to this project template will be documented in this file. |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this tem... |
| [module id policy](module-id-policy.-.-) | This document explains the module ID assignment policy for Dolibarr modules developed using this template. |
## Development
| Page | Description |
|---|---|
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this templat... |
| [development](development) | This guide provides best practices and guidelines for developing Dolibarr modules using this template. |
## Documentation
@@ -38,6 +188,42 @@ A repo template for a Dolibarr module coding project according to MokoStandards
---
## Makefile Targets
| Target | Description |
|---|---|
| `make help` | Show all available targets with descriptions |
| `make install-deps` | Install Composer development dependencies |
| `make lint` | Run PHP syntax linter on all source files |
| `make phpcs` | Run PHP CodeSniffer (PSR-12 standard) |
| `make phpstan` | Run PHPStan static analysis |
| `make validate` | Run lint + phpcs checks |
| `make test` | Run PHPUnit tests |
| `make build` | Clean, validate, and build distributable ZIP |
| `make install-local` | Install built package to local Dolibarr |
| `make dev-install` | Create symlink for live development |
| `make release` | Full release pipeline (validate + test + build) |
| `make all` | Complete build pipeline |
---
## CI/CD Workflows
| Workflow | Trigger | Purpose |
|---|---|---|
| `ci-dolibarr.yml` | Push to any branch | Lint, PHPStan analysis, structure validation |
| `pr-check.yml` | Pull request opened/updated | PR validation checks |
| `auto-release.yml` | Merge to `main` | Create release with ZIP, changelog, and tag |
| `publish-to-mokodolimods.yml` | Release created | Publish module to MokoDoliMods registry |
| `update-server.yml` | Release created | Update `update.txt` version for Dolibarr update checker |
| `deploy-manual.yml` | Manual trigger | Deploy module to target server |
| `security-audit.yml` | Schedule / manual | Audit dependencies for vulnerabilities |
| `repo-health.yml` | Schedule | Check repository standards compliance |
| `cleanup.yml` | Schedule | Clean up old artifacts and stale branches |
| `notify.yml` | Release / failure | Send notifications on events |
---
> [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home)
---
@@ -46,4 +232,5 @@ A repo template for a Dolibarr module coding project according to MokoStandards
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.1 | 2026-05-10 | Moko Consulting | Expanded with directory structure, quickstart, CI/CD, and Makefile reference |
+99 -4
View File
@@ -1,12 +1,86 @@
# Template-Generic
A repo template for a generic coding project according to MokoStandards
A generic project template conforming to MokoStandards. Use this repository as a starting point for any new PHP, Node.js, or general-purpose coding project within the Moko Consulting organization.
| Field | Value |
|---|---|
| **Language** | Markdown |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/Template-Generic) |
| **Standards** | [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home) |
---
## What This Template Provides
Template-Generic gives every new project a consistent foundation that meets MokoStandards out of the box. When you create a repository from this template you get:
- **Standardized directory layout** -- `src/` for source code, `docs/` for documentation, `.gitea/` for CI/CD and governance metadata.
- **Makefile build system** -- Ready-made targets for linting, testing, building, packaging, and releasing. Supports both PHP (Composer) and Node.js (npm) projects with automatic tool detection.
- **CI/CD workflows** -- Nine Gitea Actions workflows covering automated releases, pre-release pipelines, PR checks, security audits, repository health, cleanup, deployment, notifications, and update-server publishing.
- **MokoStandards manifest** -- A `.gitea/.mokostandards` XML file that declares project identity, governance, build configuration, and script phases for platform-wide tooling.
- **Comprehensive .gitignore** -- Covers OS/editor cruft, secrets/env files, build artifacts, archives, and dependency directories for PHP, Node.js, and Python projects.
- **Documentation scaffolding** -- A `docs/` directory with an INSTALLATION guide template, a README template for future sub-projects, and an SFTP configuration template for Sublime Text deployments.
- **Wiki** -- Pre-populated wiki pages (Home, INSTALLATION, templates index) that mirror `docs/` and are kept in sync.
- **License** -- GPL-3.0-or-later with the standard Moko Consulting copyright header.
## Repository Structure
```
Template-Generic/
|-- .gitea/
| |-- .mokostandards # MokoStandards governance manifest (XML)
| +-- workflows/
| |-- auto-release.yml # Automated release on merge to main
| |-- cleanup.yml # Branch/artifact cleanup
| |-- deploy-manual.yml # Manual deployment trigger
| |-- notify.yml # Release/event notifications
| |-- pr-check.yml # Pull request validation
| |-- pre-release.yml # Pre-release pipeline on dev branch
| |-- repo-health.yml # Repository health checks
| |-- security-audit.yml # Dependency security scanning
| +-- update-server.yml # Update-server XML publishing
|-- docs/
| |-- INSTALLATION.md # Installation guide template
| |-- index.md # Docs index
| +-- templates/
| |-- README-template.md # Standard README format
| |-- index.md # Templates index
| +-- sftp-config.json.template # Sublime SFTP config template
|-- src/
| +-- index.md # Source placeholder
|-- .gitignore # Multi-language gitignore
|-- LICENSE # GPL-3.0-or-later
|-- Makefile # Build system (PHP + Node.js)
+-- README.md
```
## Getting Started
### 1. Create a New Repository
On Gitea, click **"Use this template"** on the [Template-Generic repository page](https://git.mokoconsulting.tech/MokoConsulting/Template-Generic) and fill in your new project name and description.
### 2. Update Project Metadata
- **`.gitea/.mokostandards`** -- Update `<name>`, `<description>`, `<language>`, and `<platform>` to match your project.
- **`Makefile`** -- Set `PROJECT_NAME` and `PROJECT_VERSION` at the top of the file.
- **`README.md`** -- Replace the template content with your project-specific documentation.
- **`docs/INSTALLATION.md`** -- Fill in the placeholder sections with real values.
### 3. Add Source Code and Build
Place your project source files in the `src/` directory, then use the Makefile:
```bash
make install-deps # Install Composer and/or npm dependencies
make validate # Run linters and coding standards checks
make test # Run tests
make build # Build for production
make package # Create distribution packages
```
Run `make help` for all available targets.
---
@@ -14,19 +88,39 @@ A repo template for a generic coding project according to MokoStandards
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | This document provides comprehensive installation and setup instructions for **[PROJECT_NAME]**. |
| [INSTALLATION](INSTALLATION) | Installation and setup guide template |
## Reference
| Page | Description |
|---|---|
| [templates README template](templates-README-template.-.-) | A standard style for README files |
| [README Template](templates-README-template.-.-) | Standard README format for new projects |
## Documentation
| Page | Description |
|---|---|
| [templates index](templates-index.-.-) | This index provides navigation to documentation within this folder. |
| [Templates Index](templates-index.-.-) | Index of documentation templates included in this repository |
## CI/CD Workflows
All workflows live in `.gitea/workflows/` and run on Gitea Actions:
| Workflow | Trigger | Purpose |
|---|---|---|
| **auto-release** | Merge to `main` | Tags a release, builds packages, publishes artifacts |
| **pre-release** | Push to `dev` | Runs validation and creates pre-release builds |
| **pr-check** | Pull request opened/updated | Lints, tests, and validates the PR |
| **security-audit** | Scheduled / on push | Scans dependencies for known vulnerabilities |
| **repo-health** | Scheduled | Checks repository structure and standards compliance |
| **cleanup** | Scheduled | Prunes stale branches and old artifacts |
| **deploy-manual** | Manual trigger | Deploys a specific version to a target environment |
| **notify** | Release created | Sends notifications on release events |
| **update-server** | Release created | Publishes update manifest for downstream consumers |
## MokoStandards Governance
This template is governed by MokoStandards. The `.gitea/.mokostandards` manifest declares project identity, governance metadata, build configuration, and script phases. For details, see the [moko-platform wiki](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/wiki/Home).
---
@@ -38,4 +132,5 @@ A repo template for a generic coding project according to MokoStandards
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Detailed rewrite with full template documentation |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+15 -5
View File
@@ -1,6 +1,6 @@
# Template-MCP
Template repository for creating MokoStandards-compliant MCP API servers
Template repository for creating MokoStandards-compliant Model Context Protocol (MCP) API servers. Provides scaffolding, configuration patterns, and architecture conventions for bridging AI assistants with REST APIs through a standardized tool interface.
| Field | Value |
|---|---|
@@ -10,18 +10,27 @@ Template repository for creating MokoStandards-compliant MCP API servers
---
## Features
- **MCP server scaffolding** -- pre-configured TypeScript project with tool registration and stdio transport
- **Multi-connection support** -- `config.json` pattern for named API connections with default fallback
- **REST API bridge** -- standardized pattern for exposing any REST API as MCP tools
- **TypeScript-first** -- strict mode, ES modules, full type safety
- **Build tooling** -- Makefile and npm scripts for build, dev, clean, lint
- **MokoStandards compliant** -- governance conventions, templates, and file headers
## Guides
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | - **Node.js** 20.0.0 or later |
| [INSTALLATION](INSTALLATION) | Setup prerequisites (Node.js 20+) and configuration guide. |
## Reference
| Page | Description |
|---|---|
| [API](API) | All tools accept an optional `connection` parameter to target a specific named connection. If omitte... |
| [ARCHITECTURE](ARCHITECTURE) | {{PROJECT_NAME}} is a Model Context Protocol (MCP) server that bridges AI assistants with a REST API... |
| [API](API) | Tool reference and connection parameter documentation. |
| [ARCHITECTURE](ARCHITECTURE) | MCP server design and REST API bridge pattern. |
---
@@ -33,4 +42,5 @@ Template repository for creating MokoStandards-compliant MCP API servers
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Rewrite with detailed features, installation, and configuration |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+117 -3
View File
@@ -7,6 +7,73 @@ MCP server for Dolibarr ERP/CRM REST API operations
| **Language** | TypeScript |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/dolibarr-api-mcp) |
| **Node.js** | >= 20.0.0 |
| **MCP SDK** | @modelcontextprotocol/sdk ^1.12.1 |
A [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server that bridges AI assistants (Claude Code, Cursor, etc.) with Dolibarr's built-in REST API. Manage invoices, proposals, orders, products, third parties, projects, and more -- directly from your AI assistant.
---
## Quick Start
```sh
git clone https://git.mokoconsulting.tech/MokoConsulting/dolibarr-api-mcp.git
cd dolibarr-api-mcp
npm install
npm run build
npm run setup
```
Register with Claude Code (`~/.claude.json`):
```json
{
"mcpServers": {
"dolibarr-api": {
"type": "stdio",
"command": "node",
"args": ["/path/to/dolibarr-api-mcp/dist/index.js"]
}
}
}
```
Verify with: `dolibarr_status` -- returns the Dolibarr version and server info.
---
## Tools (85)
Every tool accepts an optional `connection` parameter to target a specific named Dolibarr instance.
| Category | Count | Tools |
|---|---|---|
| **Third Parties** | 5 | `list`, `get`, `create`, `update`, `delete` |
| **Contacts** | 5 | `list`, `get`, `create`, `update`, `delete` |
| **Invoices** | 8 | `list`, `get`, `create`, `add_line`, `validate`, `set_paid`, `add_payment`, `payments` |
| **Proposals** | 6 | `list`, `get`, `create`, `add_line`, `validate`, `close` |
| **Orders** | 5 | `list`, `get`, `create`, `add_line`, `validate` |
| **Products** | 5 | `list`, `get`, `create`, `update`, `stock` |
| **Projects** | 4 | `list`, `get`, `create`, `update` |
| **Tasks** | 6 | `list`, `get`, `create`, `update`, `timespent_list`, `timespent_add` |
| **Contracts** | 4 | `list`, `get`, `create`, `validate` |
| **Shipments** | 5 | `list`, `get`, `create`, `validate`, `close` |
| **Agenda Events** | 4 | `list`, `get`, `create`, `update` |
| **Tickets** | 3 | `list`, `get`, `create` |
| **Members** | 2 | `list`, `get` |
| **Users** | 3 | `list`, `get`, `create` |
| **Expense Reports** | 3 | `list`, `get`, `create` |
| **Interventions** | 2 | `list`, `get` |
| **Documents** | 3 | `list`, `download`, `builddoc` |
| **Stock & Warehouses** | 3 | `warehouses_list`, `stockmovements_list`, `stockmovement_create` |
| **Bank Accounts** | 2 | `list`, `lines` |
| **Categories** | 3 | `list`, `get`, `create` |
| **Supplier Invoices** | 1 | `list` |
| **Supplier Orders** | 1 | `list` |
| **Setup & System** | 5 | `status`, `setup_company`, `setup_modules`, `setup_dictionary`, `list_connections` |
| **Generic** | 1 | `api_request` (raw endpoint access) |
See the [README](https://git.mokoconsulting.tech/MokoConsulting/dolibarr-api-mcp) for the full tool reference with descriptions.
---
@@ -14,13 +81,59 @@ MCP server for Dolibarr ERP/CRM REST API operations
| Page | Description |
|---|---|
| [INSTALLATION](INSTALLATION) | - **Node.js** 20.0.0 or later |
| [INSTALLATION](INSTALLATION) | Prerequisites, install steps, Claude Code registration, configuration file format, troubleshooting |
## Reference
| Page | Description |
|---|---|
| [ARCHITECTURE](ARCHITECTURE) | dolibarr-api-mcp is a Model Context Protocol (MCP) server that bridges AI assistants (Claude Code, C... |
| [ARCHITECTURE](ARCHITECTURE) | Component overview, design decisions, data flow, API module coverage |
---
## Configuration
Config file: `~/.dolibarr-api-mcp.json` (or set `DOLIBARR_API_MCP_CONFIG` env var)
```json
{
"defaultConnection": "production",
"connections": {
"production": {
"baseUrl": "https://erp.example.com",
"apiKey": "your-api-key"
},
"staging": {
"baseUrl": "https://erp-staging.example.com",
"apiKey": "your-staging-key",
"insecure": true
}
}
}
```
| Field | Required | Description |
|---|---|---|
| `defaultConnection` | Yes | Name of the default connection |
| `connections` | Yes | Map of named connections |
| `baseUrl` | Yes | Dolibarr instance URL (no trailing slash) |
| `apiKey` | Yes | Dolibarr API key (`DOLAPIKEY` header auth) |
| `insecure` | No | Set `true` to skip TLS verification |
---
## Architecture
```
AI Assistant <--> MCP (stdio) <--> DolibarrClient <--> Dolibarr REST API
/api/index.php
```
- **Transport**: stdio (standard input/output)
- **Auth**: `DOLAPIKEY` HTTP header (Dolibarr's native per-user API key)
- **HTTP**: `node:https`/`node:http` (not `fetch`) for self-signed TLS support
- **Validation**: Zod schemas for all tool inputs
- **Filtering**: `buildSqlFilter()` helper for Dolibarr's `sqlfilters` parameter
---
@@ -32,4 +145,5 @@ MCP server for Dolibarr ERP/CRM REST API operations
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Comprehensive rewrite with tool summary, config, and architecture overview |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+65 -4
View File
@@ -1,26 +1,86 @@
# dreamhost-mcp
MCP server for DreamHost API — DNS records, hosting, and domain management
[![License: GPL-3.0-or-later](https://img.shields.io/badge/License-GPL--3.0--or--later-blue.svg)](https://git.mokoconsulting.tech/MokoConsulting/dreamhost-mcp/src/branch/main/LICENSE)
[![Node: >=20](https://img.shields.io/badge/Node-%3E%3D20-green.svg)](https://nodejs.org)
[![MCP SDK](https://img.shields.io/badge/MCP_SDK-%5E1.12.1-purple.svg)](https://modelcontextprotocol.io)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg)](https://www.typescriptlang.org)
MCP server for the [DreamHost API](https://help.dreamhost.com/hc/en-us/articles/217560167-API-overview) -- DNS records, domains, hosting accounts, MySQL databases, and email management.
| Field | Value |
|---|---|
| **Language** | JavaScript |
| **Language** | TypeScript |
| **License** | GPL-3.0-or-later |
| **Node** | >= 20 |
| **MCP SDK** | ^1.12.1 |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/dreamhost-mcp) |
---
## Tools (13)
| Tool | Description |
|---|---|
| `dreamhost_dns_list` | List all DNS records (optionally filter by domain) |
| `dreamhost_dns_add` | Add a DNS record (A, AAAA, CNAME, MX, TXT, SRV) |
| `dreamhost_dns_remove` | Remove a DNS record (must match record, type, and value exactly) |
| `dreamhost_dns_check` | Check if a DNS record exists for a domain (optional type filter) |
| `dreamhost_domain_list` | List all hosted domains |
| `dreamhost_domain_registrations` | List domain registrations with expiry dates |
| `dreamhost_user_list` | List hosting users and accounts |
| `dreamhost_account_status` | Get account status and usage |
| `dreamhost_api_commands` | List available API commands for the configured key |
| `dreamhost_mysql_list` | List MySQL databases |
| `dreamhost_mysql_users` | List MySQL database users |
| `dreamhost_mail_list` | List email addresses (optionally filter by domain) |
| `dreamhost_rewards_referrals` | List referral rewards |
---
## Quick Start
1. Install and build:
```bash
git clone https://git.mokoconsulting.tech/MokoConsulting/dreamhost-mcp.git
cd dreamhost-mcp
npm install && npm run build
```
2. Create `~/.dreamhost-mcp.json`:
```json
{
"apiKey": "your-dreamhost-api-key"
}
```
3. Add to `.mcp.json`:
```json
{
"mcpServers": {
"dreamhost": {
"command": "node",
"args": ["/path/to/dreamhost-mcp/dist/index.js"]
}
}
}
```
---
## Reference
| Page | Description |
|---|---|
| [Tools Reference](Tools-Reference.-) | All tools are available when the MCP server is connected in Claude Code via `.mcp.json`. |
| [Tools Reference](Tools-Reference.-) | Complete tool parameters and return values |
## Documentation
| Page | Description |
|---|---|
| [DNS Management](DNS-Management.-) | dreamhost_dns_list() |
| [DNS Management](DNS-Management.-) | DNS record operations and examples |
---
@@ -32,4 +92,5 @@ MCP server for DreamHost API — DNS records, hosting, and domain management
| Revision | Date | Author | Description |
|---|---|---|---|
| 2.0 | 2026-05-10 | Moko Consulting | Comprehensive rewrite with full tool list and quick start |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
+90 -9
View File
@@ -1,12 +1,85 @@
# project-mcp
MCP server for Gitea project board management — projects, columns, cards, and cross-repo issue tracking
[![License: GPL-3.0-or-later](https://img.shields.io/badge/License-GPL--3.0--or--later-blue.svg)](https://git.mokoconsulting.tech/MokoConsulting/project-mcp/src/branch/main/LICENSE)
[![Node.js](https://img.shields.io/badge/Node.js-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg)](https://www.typescriptlang.org/)
[![MCP SDK](https://img.shields.io/badge/MCP_SDK-1.12-purple.svg)](https://modelcontextprotocol.io/)
MCP server for Gitea project board management -- projects, columns, cards, milestones, and cross-repo issue tracking.
Built on the [Model Context Protocol](https://modelcontextprotocol.io/) SDK, this server exposes **21 tools** that let AI agents (Claude Code, etc.) create and manage Kanban-style project boards directly through the Gitea API.
| Field | Value |
|---|---|
| **Language** | JavaScript |
| **Language** | TypeScript |
| **License** | GPL-3.0-or-later |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/project-mcp) |
| **Node.js** | >= 20.0.0 |
| **MCP SDK** | 1.12.x |
---
## Features
- **Full project board lifecycle** -- create, read, update, close, reopen, and delete projects
- **Column management** -- add and remove columns in project boards
- **Card/issue tracking** -- add, move, and remove issues across columns
- **Board overview** -- single-call snapshot of an entire board with all columns and issues
- **Roadmap scaffolding** -- one-command setup with standard columns, `ROADMAP.md` seeding, and backlog population
- **Milestone management** -- create, update, list, and delete milestones
- **Multi-connection support** -- connect to multiple Gitea instances from a single config file
---
## Quick Start
```bash
git clone https://git.mokoconsulting.tech/MokoConsulting/project-mcp.git
cd project-mcp
npm install && npm run build
```
Configure at `~/.project-mcp.json`:
```json
{
"defaultConnection": "gitea",
"connections": {
"gitea": {
"baseUrl": "https://git.mokoconsulting.tech",
"token": "your-gitea-token"
}
}
}
```
Add to `.mcp.json` for Claude Code:
```json
{
"mcpServers": {
"project": {
"command": "node",
"args": ["/path/to/project-mcp/dist/index.js"]
}
}
}
```
---
## Tools (21 total)
| Category | Tools | Description |
|---|---|---|
| **Projects** | 7 | Full CRUD + close/reopen lifecycle |
| **Columns** | 3 | List, create, and delete board columns |
| **Cards** | 4 | Add, move, remove issues across columns |
| **Board Views** | 2 | Overview snapshot and roadmap scaffolding |
| **Milestones** | 4 | Full CRUD with due-date support |
| **General** | 1 | List configured connections |
See [Tools Reference](Tools-Reference.-) for full parameter details.
---
@@ -14,14 +87,21 @@ MCP server for Gitea project board management — projects, columns, cards, and
| Page | Description |
|---|---|
| [Tools Reference](Tools-Reference.-) | All tools are available when the MCP server is connected in Claude Code via `.mcp.json`. |
| [Tools Reference](Tools-Reference.-) | All tools with parameters and descriptions |
| [Milestones](Milestones) | Track release targets and group issues for a version or deadline |
| [Workflow](Workflow) | Common usage patterns and examples |
## Documentation
---
| Page | Description |
|---|---|
| [Milestones](Milestones) | Track release targets and group issues for a version or deadline. |
| [Workflow](Workflow) | project_create(owner: "MokoConsulting", repo: "MokoDoliChimp", title: "Sprint Q2") |
## Architecture
```
src/
index.ts # MCP server -- tool registration and handlers
client.ts # HTTP client for Gitea API (GET/POST/PATCH/DELETE)
config.ts # Config loader (~/.project-mcp.json or $PROJECT_MCP_CONFIG)
types.ts # TypeScript interfaces (Project, Column, Card, ApiResponse)
```
---
@@ -33,4 +113,5 @@ MCP server for Gitea project board management — projects, columns, cards, and
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 2.0 | 2026-05-10 | Moko Consulting | Comprehensive rewrite with badges, tool summary, quick start, and architecture |
+96 -9
View File
@@ -1,26 +1,112 @@
# wiki-mcp
MCP server for Gitea wiki CRUD operations across all repositories
MCP server for Gitea wiki CRUD operations across all repositories.
| Field | Value |
|---|---|
| **Language** | JavaScript |
| **Version** | 1.0.0 |
| **Language** | TypeScript |
| **License** | GPL-3.0-or-later |
| **Node** | >= 20.0.0 |
| **Platform** | [Gitea](https://git.mokoconsulting.tech/MokoConsulting/wiki-mcp) |
---
## Reference
## Tools
| Tool | Description |
|---|---|
| `wiki_list_pages` | List all wiki pages for a repository |
| `wiki_get_page` | Get wiki page content |
| `wiki_create_page` | Create a new wiki page |
| `wiki_update_page` | Update an existing wiki page |
| `wiki_delete_page` | Delete a wiki page |
| `wiki_search` | Search wiki pages by title (case-insensitive) |
| `wiki_page_exists` | Check if a wiki page exists |
| `wiki_rename_page` | Rename a wiki page (copy + delete old) |
| `wiki_bulk_create` | Create multiple wiki pages at once |
| `wiki_list_all_repos` | List all repos with wikis enabled for an org |
| `wiki_list_connections` | List configured Gitea connections |
All tools accept an optional `connection` parameter to target a specific Gitea instance.
---
## Quick start
### 1. Install
```bash
git clone https://git.mokoconsulting.tech/MokoConsulting/wiki-mcp.git
cd wiki-mcp
npm install && npm run build
```
### 2. Configure
Create `~/.wiki-mcp.json`:
```json
{
"defaultConnection": "gitea",
"connections": {
"gitea": {
"baseUrl": "https://git.mokoconsulting.tech",
"token": "your-gitea-api-token"
}
}
}
```
Or set the `WIKI_MCP_CONFIG` environment variable to use a custom config path.
### 3. Add to Claude Code
In your `.mcp.json`:
```json
{
"mcpServers": {
"wiki": {
"command": "node",
"args": ["/path/to/wiki-mcp/dist/index.js"]
}
}
}
```
---
## Configuration reference
### Connection fields
| Field | Type | Required | Description |
|---|---|---|---|
| `baseUrl` | string | yes | Gitea instance URL |
| `token` | string | yes | Gitea API token with wiki permissions |
| `insecure` | boolean | no | Skip TLS verification (default: `false`) |
---
## Wiki pages
| Page | Description |
|---|---|
| [Tools Reference](Tools-Reference.-) | All tools are available when the MCP server is connected in Claude Code via `.mcp.json`. |
| [Tools Reference](Tools-Reference) | Detailed parameter reference for all 11 tools |
| [Usage Examples](Usage-Examples) | Practical examples for common wiki operations |
## Documentation
---
| Page | Description |
|---|---|
| [Usage Examples](Usage-Examples.-) | wiki_create_page(owner: "MokoConsulting", repo: "some-repo", |
## Project structure
```
src/
index.ts - MCP server, tool definitions
client.ts - HTTP client for Gitea wiki API
config.ts - Configuration loading
types.ts - TypeScript interfaces
```
---
@@ -32,4 +118,5 @@ MCP server for Gitea wiki CRUD operations across all repositories
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
| 1.1 | 2026-05-10 | Moko Consulting | Full tool list, config reference, quick start |
+4 -3
View File
@@ -1,6 +1,6 @@
# Moko Consulting -- Wiki Archive
Consolidated backup of all project wikis from [Gitea](https://git.mokoconsulting.tech).
Consolidated backup of all project wikis.
> **Source of truth:** Gitea wikis. This repo is a read-only mirror.
@@ -14,7 +14,7 @@ Consolidated backup of all project wikis from [Gitea](https://git.mokoconsulting
### MokoConsulting
- [**MokoCRM**](MokoConsulting/MokoCRM/) -- 8 pages
- [**MokoDPCalendarAPI**](MokoConsulting/MokoDPCalendarAPI/) -- 2 pages
- [**MokoDPCalendarAPI**](MokoConsulting/MokoDPCalendarAPI/) -- 3 pages
- [**MokoDoliAdInsights**](MokoConsulting/MokoDoliAdInsights/) -- 10 pages
- [**MokoDoliArt**](MokoConsulting/MokoDoliArt/) -- 7 pages
- [**MokoDoliAuth**](MokoConsulting/MokoDoliAuth/) -- 2 pages
@@ -46,6 +46,7 @@ Consolidated backup of all project wikis from [Gitea](https://git.mokoconsulting
- [**MokoTesting**](MokoConsulting/MokoTesting/) -- 2 pages
- [**MokoWaaS**](MokoConsulting/MokoWaaS/) -- 12 pages
- [**MokoWaaSAnnounce**](MokoConsulting/MokoWaaSAnnounce/) -- 6 pages
- [**MokoWiki**](MokoConsulting/MokoWiki/) -- 1 pages
- [**MokoWinSetup**](MokoConsulting/MokoWinSetup/) -- 6 pages
- [**Template-Client-WaaS**](MokoConsulting/Template-Client-WaaS/) -- 5 pages
- [**Template-Dolibarr**](MokoConsulting/Template-Dolibarr/) -- 7 pages
@@ -68,4 +69,4 @@ Consolidated backup of all project wikis from [Gitea](https://git.mokoconsulting
- [**wiki-mcp**](MokoConsulting/wiki-mcp/) -- 3 pages
---
*Last synced: 2026-05-10 11:27 UTC*
*Last synced: 2026-05-10 19:38 UTC*