Documentation for our Mobile Apps and Joomla Extensions
This section contains documentation for our mobile applications and Joomla extensions. It is intended for developers, site administrators, and technical users who need clear guidance on installing, configuring, and maintaining our products. The articles below include step-by-step documentation, configuration guidelines, practical examples, and reference material to help you deploy and use our software effectively. You will also find changelogs for each release so you can track new features, improvements, and bug fixes.
Contents
Overview
Verified Forms (com_veriform) is a Joomla component for collecting form submissions with built-in verification. Forms can use email verification — where respondents confirm their submission via a link — or unique links, where each recipient receives a personal, single-use URL to access the form.
The component is ideal for surveys, event registrations, compliance forms, consent collection, and any scenario where you need to confirm who submitted a response.
Verified Forms is open source software released under the GNU General Public License v3 (GPL-3.0-or-later).
Flexible Form Builder
Build forms with text, email, checkbox, radio, and textarea fields. Add headings, paragraphs, and dividers for structure and guidance.
Image
Two Verification Modes
Email verification sends a confirmation link after submission. Unique links give each recipient a personal URL to access the form.
Image
Recipient Outreach
Import recipients from CSV, generate personalised unique links, and track who has opened, submitted, and been contacted.
Image
Installation
Step 1: Install the Component
- Download the latest
com_veriformpackage from the extensions directory or from Multizone Limited - Log into your Joomla Administrator
- Navigate to Extensions > Install > Install from File
- Upload the
com_veriform_v1.x.x.zipfile and click Install
Step 2: Verify Installation
- Go to Extensions > Manage > Manage
- Search for “Verified Forms”
- Ensure it shows as installed and enabled
Step 3: Create a Menu Item
- Navigate to Menus > Main Menu (or your preferred menu)
- Click New and select Verified Forms > Form as the menu item type
- Choose which form to display and set the access level
- Click Save & Close
Getting Started
Create a Form
Navigate to Components > Verified Forms > Forms and click New. Give your form a title, choose the submission mode (Email Verification or Unique Links), and configure the verification and receipt email templates.
Set a closing date if you want the form to stop accepting submissions after a certain date.
Image
Add Form Fields
In the Fields tab, add fields to your form. Choose from text, email, textarea, checkbox, and radio field types. Mark fields as required and add options for checkbox and radio groups.
Use heading, paragraph, and divider elements to add structure, instructions, and visual separation between sections.
Image
Publish and Share
Create a menu item pointing to your form, or share the form URL directly. For email verification forms, respondents submit and then confirm via email. For unique links forms, generate tokens in the Unique Links view and distribute them to your recipients.
Image
Your Verified Forms Subscription
Verified Forms is provided with tiered access. It is freely available as a trial, and paid subscriptions unlock additional capabilities. Each tier builds on the previous one with additional features and higher limits.
Trial
- Up to 3 active forms
- 50 submissions/month
- 8 unique links per form
- 1 domain
- 30-day trial period
Standard
- Up to 10 active forms
- 500 submissions/month
- 100 unique links per form
- 3 domains
- CSV export
Premium
- Up to 50 active forms
- 5,000 submissions/month
- 1,000 unique links per form
- 6 domains
- Recipient outreach & custom branding
Enterprise
- Unlimited forms
- Unlimited submissions
- Unlimited unique links
- Unlimited domains
- Premium support
Feature Comparison
| Feature | Trial | Standard | Premium | Enterprise |
|---|---|---|---|---|
| Form Builder | ✓ | ✓ | ✓ | ✓ |
| Email Verification | ✓ | ✓ | ✓ | ✓ |
| Unique Links | ✓ | ✓ | ✓ | ✓ |
| Updates | ✓ | ✓ | ✓ | ✓ |
| CSV Export | — | ✓ | ✓ | ✓ |
| Support | — | — | ✓ | ✓ |
| Recipient Outreach | — | — | ✓ | ✓ |
| Custom Branding | — | — | ✓ | ✓ |
| Priority Support | — | — | — | ✓ |
Tier Limits
| Tier | Active Forms | Monthly Submissions | Unique Links per Form | Domains |
|---|---|---|---|---|
| Trial | 3 | 50 | 8 | 1 |
| Standard | 10 | 500 | 100 | 3 |
| Premium | 50 | 5,000 | 1,000 | 6 |
| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited |
Form Builder
Field Types
The form builder supports the following field types, configured in the Fields tab when editing a form.
| Type | Description | Options |
|---|---|---|
| Text | Single-line text input | — |
| Single-line email input with validation | — | |
| Textarea | Multi-line text area | — |
| Checkbox | Multiple-choice selection (one or more answers) | Comma-separated options; supports inline (horizontal) layout |
| Radio | Single-choice selection (one answer only) | Comma-separated options; supports inline (horizontal) layout |
Narrative Elements
Add structure and guidance to your forms with display-only elements. These do not collect data — they provide context for your respondents.
| Element | Description |
|---|---|
| Heading | Section heading to organise the form into logical groups |
| Paragraph | Explanatory text, instructions, or guidance between fields |
| Divider | Horizontal rule for visual separation between sections |
Submit Button
Customise the submit button appearance in the Appearance tab. Options include colour (primary, secondary, success, danger, warning, info, dark), size (small, medium, large), full-width toggle, and alignment (left, centre, right).
Accessibility
Forms are built with accessibility in mind. Checkbox and radio groups use semantic fieldset/legend elements with ARIA attributes. Required fields are clearly marked and validated on both the client and server, with descriptive error messages that appear after the first submission attempt.
Unique Links & Recipients
How Unique Links Work
When a form uses Unique Links mode, each respondent receives a personal URL containing a unique token. This token identifies who is accessing the form without requiring the respondent to enter their details. Tokens are single-use by default — once submitted, the link cannot be reused.
Generating Links
Navigate to Components > Verified Forms > Unique Links and click Generate. Select the form and the number of links to create. Links are generated as 64-character tokens and immediately published.
Amendable Links
Enable Allow Amendments on a form to let respondents return to their unique link and update their submission. The form pre-fills with their previous answers, and the existing submission is updated rather than replaced.
Importing Recipients
Import recipients from a CSV file to associate names and email addresses with unique links. The CSV must include email, first_name, and last_name columns. Each row creates a unique link assigned to that recipient. This feature requires the Premium tier or above.
Outreach Emails
After importing recipients, use the outreach email feature to notify them. Configure the email subject and body in the form editor, using placeholders for personalisation. The Unique Links view tracks mailing status so you can see who has been contacted.
CSV Export
Export all unique links for a form as a CSV file. The export includes the token, full URL, recipient details, open and submission counts, mailing timestamps, and creation dates. This feature requires the Standard tier or above.
Tracking
The Unique Links view shows engagement metrics for each link: how many times it has been opened, whether a submission has been made, and when the recipient was last contacted. Filter by form, publication status, usage, recipient data, and mailing status.
Troubleshooting
Check that the form is published and has not passed its closing date. Verify the unique link (token) is published and has not been used on a non-amendable form.
If using SEF URLs, ensure a menu item exists for the form so that Joomla can resolve the URL correctly.
email, first_name, and last_name column headers (case-insensitive). Each row must have a valid email address and at least one name field. Rows that do not meet these requirements are skipped. The maximum file size is 2MB.Verified Forms uses the standard Joomla update system. Check for updates via Extensions > Update in your Joomla administrator.
If updates are not appearing, verify your server can make outbound HTTP connections to the Multizone update server and that DNS resolution is working correctly.
Support
Need Help?
For additional support, technical questions, or feature requests, get in touch.
- Website: www.multizone.co.uk
- Email:
This email address is being protected from spambots. You need JavaScript enabled to view it. - In-app Help: Available in the Joomla admin under Components > Verified Forms > Help
Important Notes
- Backup First — Always backup your site before installing or updating
- Free Trial — Verified Forms is freely downloadable as a trial
- Joomla 5+ — Requires Joomla 5.x or later (compatible with Joomla 6)
- Email Configuration — Ensure your Joomla mail settings are correctly configured for verification emails
com_veriform changelog
Notable releases and milestones for Verified Forms (com_veriform).
| Version | Summary |
|---|---|
| 1.3.4 | Tiered branding with “Powered by” footer, submissions list view with field data, JED compliance fixes |
| 1.3.3 | Accessibility improvements — fieldset/legend, ARIA attributes, live Bootstrap validation |
| 1.3.2 | Narrative form builder — heading, paragraph, and divider blocks; inline checkbox/radio layout |
| 1.3.1 | Configurable submit button appearance (size, colour, full-width, alignment) |
| 1.3.0 | Recipient outreach — CSV import, personalised outreach emails, mail status tracking |
| 1.2.4 | JED Checker compliance — update server and Joomla 6 target platform in manifest |
| 1.2.3 | Per-form amend toggle, token badge styling, security hardening, Joomla 6 compatibility |
| 1.2.2 | Form closing dates, submissions CSV export, amendable unique links with pre-filled data |
| 1.2.1 | Token engagement tracking — separate opened/submitted columns, page-view counting |
| 1.2.0 | Subscription tier system with local cache, tier validation traits, feature gating |
| 1.1.1 | Unique links — token-based form distribution with per-link tracking |
| 1.0.1 | Early patch fixes following initial deployment |
| 1.0.0 | Initial release — email-verified form submissions, admin management, MVC architecture |
pkg_subsmgr changelog
Notable releases and milestones for Subscription Manager (pkg_subsmgr).
| Version | Summary |
|---|---|
| 2.9.9 | Bootstrap text-bg-* colour treatment across all site templates (premium, error, extension, extensions, dashboard) for theme compatibility |
| 2.9.8 | Per-row CTA buttons (Upgrade/Renew) for each subscription key, download button always visible |
| 2.9.7 | Theme compatibility fix for dashboard CTA card colours using Bootstrap 5.2+ text-bg-* utilities |
| 2.9.6 | Contextual CTA hero card on dashboard, domain usage column, streamlined subscription table with plural-aware headings |
| 2.9.4 | Tier comparison table on premium view, dev/prod URL isolation, multizone overlay manifest fix |
| 2.9.2 | Consolidated downloads into component admin folder, auto-detect version from download artifacts |
| 2.9.1 | Simplified download system with database-driven resolution, removed config-based URLs |
| 2.9.0 | Block unpublished extensions from direct URL, JED Checker compliance, idempotent multizone overlay |
| 2.8.10 | Fix in Extensions HtmlView |
| 2.8.9 | Removed internal tooling |
| 2.8.8 | JED Checker compliance: GPL licence fixes, deprecated API migration, language file deduplication |
| 2.8.7 | Mutually exclusive contact method fix, menu item param lookup for per-extension contact settings |
| 2.8.6 | Contact call to action for paid extensions, premium view contact scenario, and security hardening |
| 2.8.5 | Contact fixes |
| 2.8.4 | Theme compatibility refinements |
| 2.8.3 | Cassiopeia theme compatibility, contact conversion scenario |
| 2.8.2 | Security hardening across component |
| 2.8.1 | Product feature limit enforcement, branding updates |
| 2.8.0 | Site view restyling, extension directory with URL slugs, dashboard improvements |
| 2.7.0 | Product Features system, master mode validation, multizone data separation |
| 2.6 | Admin interface improvements and workflow refinements |
| 2.5 | Subscription key management enhancements |
| 2.4 | Email notification improvements and logging updates |
| 2.3 | Tier system refinements and performance optimisation |
| 2.2 | Extension directory and frontend improvements |
| 2.1 | Stripe payment integration via com_payments |
| 1.0 | Initial release — subscription key management with tiered system |
Contents
Overview
Subscription Manager (pkg_subsmgr) is a Joomla extension package for managing subscription keys across all your extensions. It provides centralised key generation, validation, expiration tracking, and usage monitoring for components, plugins, and modules.
All extensions are freely available to download as trials. Subscription keys unlock higher tiers with additional features, increased limits, and support access.
Subscription Manager is open source software released under the GNU General Public License v3 (GPL-3.0-or-later).
Subscription Keys
Generate, validate, and track subscription keys with RSA-2048 cryptographic signatures and domain binding.

Tiered Subscriptions
Four subscription tiers (Trial, Standard, Premium, Enterprise) with configurable feature limits per tier.

Extension Directory
Built-in extensions directory with search, filtering, and integrated trial download flow for your users.

Installation
Step 1: Install the Package
- Download the latest
pkg_subsmgrpackage from the extensions directory or from Multizone Limited - Log into your Joomla Administrator
- Navigate to Extensions > Install > Install from File
- Upload the
pkg_subsmgr-x.x.x.zipfile and click Install
Step 2: Verify Installation
- Go to Extensions > Manage > Manage
- Search for "Subscription Manager"
- Ensure it shows as installed and enabled
Step 3: Initial Configuration
- Navigate to Components > Subscription Manager
- Click Options in the toolbar
- Configure your settings (subscription duration, email notifications, security)
- Click Save & Close
Getting Started
Configure Your Extensions
Add the extensions you want to manage to Subscription Manager. Navigate to Components > Subscription Manager > Extensions and click New to register each extension with its element name, version, and description.
A sample extension (com_example) is included to help you understand the setup process. You can use it as a reference when adding your own extensions.

Set Up Product Features
Define the feature limits for each of your extensions in Product Features. Product features control what each subscription tier unlocks — for example, maximum items, API call limits, or access to premium functionality.
It is your responsibility to ensure that your extension checks and respects the product feature settings for the user's subscription tier. Subscription Manager provides the limits; your extension must enforce them.

Create Subscription Keys
Start creating subscription keys for your users through the Subscription Keys interface. Each key is tied to a specific user, extension, and subscription tier.
A generic trial key is automatically created for each extension to reduce friction — users can download and try your extension immediately without needing a key.

Your Subscription Manager Subscription
Subscription Manager itself is provided in the same way as the extensions it manages — with tiered access. It is freely available as a trial, and paid subscriptions unlock additional capabilities. Each tier builds on the previous one with additional features and higher limits.
Trial
- Up to 2 extensions
- Up to 10 keys
- 1 domain
- 50 downloads/month
- 30-day trial period
Standard
- Up to 5 extensions
- Up to 50 keys
- 1 domain
- 1,000 downloads/month
- Updates and support
Premium
- Up to 15 extensions
- Up to 200 keys
- 3 domains
- 10,000 downloads/month
- Custom branding & webhooks
Enterprise
- Unlimited extensions
- Unlimited keys
- Unlimited domains
- Unlimited downloads
- Full API & priority support
Feature Comparison
| Feature | Trial | Standard | Premium | Enterprise |
|---|---|---|---|---|
| Documentation | ✓ | ✓ | ✓ | ✓ |
| Email Notifications | ✓ | ✓ | ✓ | ✓ |
| Updates | ✓ | ✓ | ✓ | ✓ |
| Support | — | ✓ | ✓ | ✓ |
| Custom Branding | — | — | ✓ | ✓ |
| Analytics | — | Basic | Advanced | Advanced |
| Webhooks | — | — | ✓ | ✓ |
| API Access | — | — | ✓ | ✓ |
| Priority Support | — | — | — | ✓ |
Tier Limits
| Tier | Keys | Extensions | Domains | Monthly Downloads | Monthly Emails |
|---|---|---|---|---|---|
| Trial | 10 | 2 | 1 | 50 | 10 |
| Standard | 50 | 5 | 1 | 1,000 | 500 |
| Premium | 200 | 15 | 3 | 10,000 | 5,000 |
| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited |
Managing Subscription Keys
Creating Keys
Subscription keys can be created manually through the admin interface or automatically through API integration. Each key is tied to a specific user, extension, and subscription tier.
To reduce friction for new users, a generic trial key with an expiry date is automatically created for each extension. This allows users to download and start using your extension immediately as a trial without any manual key setup.
Key Types
- Trial Keys — Time-limited keys for evaluation purposes. A generic trial key is created automatically for each extension so users can get started immediately.
- Standard Keys — Includes everything in the trial tier plus software updates and access to a support page.
- Premium Keys — Includes everything in Standard plus custom branding and webhook support.
- Enterprise Keys — Includes everything in Premium plus API access, usage analytics, and priority support.
Key Statuses
| Status | Description |
|---|---|
| Active | Key is operational. The user has access to features and updates for their subscription tier. |
| Suspended | Key is temporarily disabled. The user reverts to trial access until the key is reactivated. |
| Expired | Key has passed its expiration date. The user reverts to trial access. Can be renewed. |
Automatic Expiry
The system automatically checks for and expires keys that have passed their expiration date each time you visit the Keys view. You will see messages about any keys that have been expired and receive notifications about keys approaching expiry.
Toolbar Actions
- New — Create a new subscription key. Opens the key creation form where you can assign a user, select an extension, choose the tier, and set expiration dates.
- Edit — Edit the selected key(s). Modify details, notes, or expiry dates.
- Activate — Activate suspended or expired keys, restoring the user's subscription tier access.
- Suspend — Temporarily disable keys without deleting them.
- Delete — Permanently delete keys. This action cannot be undone.
Filtering and Search
Use the search and filter tools to find specific keys. You can search by key value, username, or email address, and filter by status, key type, or extension.
Security Best Practices
Important Security Recommendations
- Use HTTPS for all key validation requests
- Regularly review and audit active subscription keys
- Enable logging to monitor key usage
Subscription keys are security credentials — keep them private and do not share them with others. Each key is tied to your specific subscription and domain.
Key Security Features
- RSA-2048 Signatures — Subscription keys are cryptographically signed to prevent tampering
- Domain Binding — Keys can be bound to specific domains with auto-registration
- Expiration Tracking — Automatic expiry with configurable durations per tier
- Usage Monitoring — Track usage counts and last validation dates
Troubleshooting
Subscription Manager uses the standard Joomla update system. Updates are checked and installed through Extensions > Update in your Joomla administrator, just like any other extension.
For updates to work, your server must have an active internet connection to reach the Multizone update server. If updates are not appearing, check that your server's outbound HTTP connections are not blocked by a firewall or proxy, and that DNS resolution is working correctly.
https://www.multizone.co.uk/updates/pkg_subsmgr_update.xmlSupport
Need Help?
For additional support, technical questions, or feature requests, get in touch.
- Website: www.multizone.co.uk
- Email:
This email address is being protected from spambots. You need JavaScript enabled to view it. - In-app Help: Available in the Joomla admin under Components > Subscription Manager > Help
Important Notes
- Backup First — Always backup your site before installing or updating
- Free Trials — All extensions are freely downloadable as trials
- Secure Keys — Subscription keys are sensitive — keep them secure
- Joomla 5+ — Subscription Manager requires Joomla 5.x or later