A Joomla 5+ component for managing and displaying Bible studies and sermons, developed by a team of web servants to further the teaching of God's Word.
| CI | CodeQL | PHP | Node | npm |
|---|---|---|---|---|
| Latest Release | License | Joomla |
|---|---|---|
| Branch | Description |
|---|---|
| Development | Next minor release (10.2.x) -- new features and fixes |
| Main | Current stable release -- bug fixes only |
This repository is the source code for development. For a ready-to-install package:
- Latest stable release: GitHub Releases
- Detailed changes: What's New in 10.1
- Full changelog: Commit History
- Content Organization -- Manage studies by series, teachers, locations, and topics
- Media Support -- Audio playback, YouTube, Vimeo, Wistia, Resi.io, Dailymotion, Rumble, SoundCloud, and Facebook integration
- Podcasting -- Built-in podcast feed generation with per-series RSS
- Multi-Campus -- Location-based content isolation with per-campus access levels
- Analytics -- Play/download tracking, Chart.js dashboard, CSV export, printable reports
- Customizable Templates -- Visual layout editor with drag-and-drop element arrangement
- Scripture Integration -- Multi-provider Bible API with verse popups and translation switching
- Social Sharing -- Share content on social media platforms
Full documentation is maintained in the Proclaim Wiki.
- Wiki Home -- Main documentation
- What's New in 10.1 -- Release notes
- Development Setup -- Configure your environment
- Standards and Conventions -- Coding standards
- Database Schema -- Entity relationships
- Tasks -- Improvement tasks with progress tracking
- PHP 8.3.0+
- Composer
- Node.js 20.0.0+ and npm 10.1.0+
- Joomla 5.1.0+ installation
- Git
# Clone your fork
git clone https://github.com/YOUR-USERNAME/Proclaim.git
cd Proclaim
# Install dependencies (auto-clones joomla-cms for testing — one-time ~500MB)
composer install --dev
npm install
# Build frontend assets (JS/CSS/images)
npm run build
# Run interactive setup wizard (configures paths and optionally installs Joomla)
composer setup
# Or manually configure build.properties and set up symbolic links
composer symlinkDisk space:
composer install --devautomatically clones the joomla-cms repository as a sibling directory and installs its Composer dependencies. This provides real Joomla CMS classes for unit testing instead of stubs. Approximate sizes:
- joomla-cms shallow clone: ~50MB
- joomla-cms Composer dependencies: ~96MB
- Proclaim Composer dependencies: ~42MB
- Proclaim npm dependencies: ~136MB
- Total dev environment: ~1GB (excluding git history)
| Command | Description |
|---|---|
composer setup |
Interactive setup wizard |
composer joomla-install |
Download and install Joomla |
composer symlink |
Create symbolic links to Joomla |
composer clean |
Remove symbolic links (clean dev state) |
npm run build |
Build all frontend assets (JS + CSS + images) |
composer test |
Run PHPUnit tests |
npm test |
Run Jest tests |
composer check:all |
Run all checks + all tests (PHP + JS) |
composer lint:fix |
Fix PHP code style issues |
npm run lint:js |
Lint JavaScript with ESLint |
composer build |
Build component package (zip) |
We appreciate contributions in various capacities.
- Fork this repository
- Install dependencies:
composer install --dev && npm install && npm run build - Run setup wizard:
composer setup - Create a topic branch
- Implement your feature or bug fix
- Add/update unit tests for new functionality
- Run
composer check:allto verify all checks pass - Commit and push your changes
- Submit a pull request
See Development Setup for full details.
Important: Submit separate pull requests for each fix or feature. Avoid combining multiple changes in a single PR.
| Type of change | Target branch |
|---|---|
| Bug fix -- The software crashes, produces the wrong result, or behaves contrary to its specification | main |
| Feature / Enhancement -- New behavior, refactoring, performance improvements, UI tweaks | development |
Language files need periodic updates. Follow the same workflow above to submit translation changes or add new languages.
Use the Issues section for bug reports or feature requests. When reporting bugs, include steps to reproduce.
- Email: info@christianwebministries.org
- Issues: GitHub Issues
- Discussions: GitHub Discussions
CWM Proclaim is distributed under the GNU General Public License version 2 or later. See LICENSE.txt for details.
This software includes third-party components with their own license terms. See THIRD_PARTY_LICENSES.md for details, including important information about Fancybox licensing for commercial use.
(C) 2014 CWM Team. Distributed under the GNU General Public License version 2 or later.