1
Installation
Jonathan Miller edited this page 2026-06-29 16:35:42 +00:00

Installation

Requirements

  • Joomla 6.0 or later
  • PHP 8.3 or later
  • MokoSuite CRM package installed and enabled (Layer 1 dependency)

Install via Joomla Installer

  1. Download pkg_mokosuitenpo.zip from the MokoGitea update server or releases page
  2. In Joomla admin, navigate to System → Install → Extensions
  3. Upload the pkg_mokosuitenpo.zip package file
  4. Joomla will install all four sub-extensions automatically

Package Structure

The package installs the following extensions:

Extension Type Purpose
plg_system_mokosuitenpo System Plugin Creates database tables, provides helper classes and business logic
com_mokosuitenpo Component Admin dashboard, list views, site views
plg_webservices_mokosuitenpo Webservices Plugin REST API CRUD routes
plg_task_mokosuitenpo Task Plugin Scheduled automation (pledge reminders, recurring donations)

Post-Install Configuration

  1. Go to Components → MokoSuite NPO to access the admin dashboard
  2. Go to Options (toolbar) to configure:
    • Organization Name and EIN/Tax ID
    • Fiscal Year Start date
    • Auto Tax Receipt generation settings
    • Receipt prefix and minimum amount
  3. Verify all plugins are enabled in System → Manage → Plugins:
    • System - MokoSuiteNPO
    • Web Services - MokoSuiteNPO
    • Task - MokoSuiteNPO

Seed Data

The installer automatically creates default funds:

  • General Operating Fund (GEN) — unrestricted
  • Building Fund (BLDG) — temporarily restricted
  • Scholarship Fund (SCHOL) — temporarily restricted
  • Endowment (ENDOW) — permanently restricted

Update Server

Updates are served via the MokoGitea package registry:

https://git.mokoconsulting.tech/api/packages/MokoConsulting/generic/MokoSuiteNPO/latest/updates.xml

This is automatically configured in the package manifest. Updates will appear in System → Update → Extensions.

Uninstall

Uninstalling the package removes all sub-extensions and drops all NPO database tables. The blockChildUninstall flag prevents individual sub-extension removal — uninstall the package as a whole.