Skip to documentation
    Back to All Plugins

    Moodle plugin documentation

    Workshop Attendance Condition

    Availability Condition
    Checking release…
    50 Credits ($5 USD)

    Use a learner’s Workshop Scheduler booking status as a Moodle access condition. Release joining instructions to confirmed participants or post-workshop content to participants marked Attended.

    availability_workshopattendance

    Release & access

    One-time plugin access: 50 Credits ($5 USD). The promoted release determines acquisition and download availability.

    Checking promoted release metadata

    Release manifest is loading.

    See the shared Requirements reference for verified, archive-bound compatibility. A source version is not a download guarantee.

    One workshop. One exact booking status.

    The condition reads local_workshop_participants and checks for a record matching the chosen workshop ID, the current user ID and the required booking status. It does not infer attendance from dates, course completion, a grade or the workshop’s own lifecycle status.

    This plugin controls access; it does not register learners, take attendance, manage a waitlist or change bookings. Those records must be maintained in Workshop Scheduler.

    Exact match, not “at least this status”. A learner marked Attended does not satisfy a condition requiring Confirmed unless a matching Confirmed booking record exists. Consider this when designing pre-workshop content that should stay accessible after attendance is recorded.

    Install the dependency first

    1. Install Workshop Scheduler (local_workshops). This source declares a dependency on version 2026062200029 or later; confirm the exact dependency in the verified release archive.
    2. Acquire the verified Workshop Attendance Condition ZIP using the access controls above. Review the archive-bound Requirements.
    3. Upload it through Site administration → Plugins → Install plugins, or install its directory at availability/condition/workshopattendance.
    4. Complete Moodle’s upgrade checks. Ensure Moodle’s availability restrictions are enabled and create the workshop records in Workshop Scheduler.

    This is an availability condition, not a standalone activity or local-plugin dashboard. It appears in Moodle’s Restrict access editor as Workshop attendance.

    Configure a restriction

    1. Turn editing on and open the target activity or resource’s settings.
    2. Expand Restrict access, choose Add restriction and select Workshop attendance.
    3. Choose the workshop. The list is fetched from /local/workshops/ajax.php and labels workshops with their code, name and workshop status.
    4. Choose the required participant booking status. New conditions default to Attended.
    5. Set Moodle’s normal restriction visibility and matching controls, save, then test with a learner account.

    The saved condition contains type: workshopattendance, workshopid and status. Changing the learner’s booking is separate from editing the condition.

    Supported booking statuses

    Booked
    Registered, not yet confirmed.
    Confirmed
    Place confirmed by the RTO.
    Waitlisted
    On the workshop waitlist.
    Attended
    Recorded as present at the workshop.
    Cancelled
    Booking cancelled.
    No Show
    Recorded as not attending.

    These are participant booking statuses exposed by the condition editor. A workshop’s Draft, Completed or other lifecycle status is not the participant status being checked.

    Access behaviour & negation

    • Positive condition: a matching booking grants this condition; no matching booking fails it.
    • Negated condition: Moodle’s NOT mode reverses the result. A learner with no matching booking therefore satisfies the negated condition.
    • No workshop configured: workshop ID zero fails the positive condition but passes the negated condition. Do not use an unconfigured restriction as a safety barrier.
    • Restriction text: the description names the workshop code and name and the required status. A missing workshop record is described as “Unknown workshop”.

    The result is one condition in Moodle’s wider availability rules. Other restrictions and staff bypass permissions can affect the final outcome. Always test the complete restriction set.

    Privacy & data ownership

    The plugin declares a Privacy API null provider and does not store personal data in its own tables. It reads participant booking data from Workshop Scheduler. The availability configuration stores the workshop reference and required status in Moodle’s restriction structure.

    There is no attendance sync task or separate API credential configuration in this condition’s source. The editor requests workshop options with the Moodle session key, while access checks query the booking table.

    Troubleshooting

    “No workshops found”
    Check that Workshop Scheduler has workshop records and that its workshop-list endpoint returns them for the editing account. The condition does not create workshops.
    “Error loading workshops” or a stuck loading option
    Check the Workshop Scheduler dependency, session and endpoint response in the browser’s network tools. Refresh the editor after resolving the problem, then select a real workshop.
    The learner is still blocked
    Verify the exact workshop, user and booking status, including No Show’s spelling. Being enrolled in the course or booked into a different workshop does not satisfy this condition. Check other Moodle restrictions too.
    Content is visible to a learner with no booking
    Check whether the rule is negated or combined with other rules using OR. A negated exact-match rule admits anyone without that matching booking; it is not an “all other attendees” rule.
    A changed booking does not appear to change access
    Reload the learner’s page and test with the actual learner session. Review Moodle’s availability configuration and caching before assuming an attendance update changes every open browser page immediately.