A Joomla module that integrates with Online Scout Manager (OSM) to display upcoming scout section meetings on your Joomla website.
This module allows scout groups to automatically display their next scheduled meeting from OSM on their Joomla website. It shows the meeting title, date, time, and optional notes for parents, keeping your website visitors informed about upcoming activities.
- Automatic Updates: Fetches the next scheduled meeting from OSM
- OAuth Authentication: Secure integration using OSM's OAuth API
- Smart Caching: Reduces API calls by caching responses in the database
- Customizable Display:
- Show/hide meeting notes
- Show/hide module when no meeting is scheduled
- Custom CSS styling support
- Multi-Term Support: Automatically searches the next term if no meetings are found in the current term
- Responsive Design: Works seamlessly with your Joomla template
- Joomla: 4.x and above (may work with Joomla 3.x - feedback welcome)
- PHP: 7.4 or higher
- MySQL: 5.6 or higher
- OSM Account: With section access and API credentials
- Download the latest release from the releases page
- Log into your Joomla administrator panel
- Navigate to System → Install → Extensions
- Upload the
joomla-osm-programme.zipfile - Click Upload & Install
git clone https://github.com/grahamwhiteuk/joomla-osm-programme.git
cd joomla-osm-programme
./build.shThen install the generated joomla-osm-programme.zip file via the Joomla Extension Manager.
- Log into Online Scout Manager
- Go to Settings → My Account Details → Developer Tools
- Click Create Application
- Name your application (e.g., "My Scout Group Website")
- Click Save
- Copy the OAuth Client ID and OAuth Client Secret to your password manager or other secure location
- In Joomla admin, go to Content → Site Modules
- Find and click on OSM - Programme
- Configure the following settings:
- OSM OAuth Client ID: Paste the Client ID from OSM
- OSM OAuth Client Secret: Paste the Client Secret from OSM
- Section Name or ID: Enter your section name (e.g., "Beavers - Kits Colony") or numeric section ID
- Show When there is no Next Meeting Scheduled: Choose whether to display a message when no meeting is found (default: Show)
- Show Meeting Notes: Choose whether to display the meeting notes for parents (default: Show)
- Custom CSS: Add custom CSS to style the module output
- Select the Position where you want the module to appear
- Set Status to Published
- Configure Menu Assignment to control where the module appears
- Click Save & Close
Tip
To configure multiple sections, tick the checkbox in the module list and use the Actions dropdown button to duplicate the module and configure each section separately.
The module uses the following CSS classes for styling:
.mod_osm- Container div.mod_osm_header- Meeting title.mod_osm_datetime- Date and time container.mod_osm_date- Date span.mod_osm_time- Time span.mod_osm_notes- Meeting notes container
.mod_osm_header {
font-weight: 500;
font-size: 1.50rem;
}
.mod_osm_datetime {
margin-bottom: .5rem;
font-style: italic;
}
.mod_osm_notes pre {
margin: 0;
white-space: pre-wrap;
}You can override these styles in the module configuration's Custom CSS field or other custom CSS fields on your Joomla pages.
The module creates a table #__mod_osm to cache API responses, reducing the number of calls to OSM's API and improving performance.
- Uses OAuth 2.0 for secure authentication
- API credentials are stored securely in Joomla's configuration
- Access tokens are cached and automatically refreshed
- No user passwords are stored or transmitted
- Verify your OAuth Client ID and Client Secret are correct
- Ensure your OSM application is active
- Check that your server can make outbound HTTPS connections
- Verify the section name matches exactly (including hyphens)
- Try using the numeric section ID instead
- Ensure you have access to the section in OSM
- Ensure your section has terms configured in OSM
- Check that the term dates are set correctly
- Verify the current date falls within a term period
- Check that the module is Published
- Verify the module position exists in your template
- Check the Menu Assignment settings
- Review the Access Level settings
This project is licensed under the GNU General Public License v2.0 or later. See the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
If you encounter any issues or have questions:
- Check the Troubleshooting section
- Search existing issues
- Create a new issue with detailed information about your problem