Troubleshooting the Credentium® Integration Plugin for Moodle

Modified on Fri, 30 Jan at 10:52 AM

Troubleshooting the Credentium® Integration Plugin for Moodle

This guide helps you diagnose and resolve common issues with the Credentium® Integration plugin.


Quick Diagnostics

Check Plugin Status

  1. Is the plugin enabled?

    • Site Administration > Plugins > Local plugins > Credentium® Integration
    • Verify "Enable Credentium Integration" is checked
  2. Are API credentials configured?

    • Check API URL and API Key are filled in
    • Click "Test connection" to verify
  3. Is the course configured?

    • Course > More > Credentium Settings
    • Verify "Enable Credentium for this course" is checked
    • Verify a template is selected
  4. Is course completion tracking enabled?

    • Site Administration > Advanced features > Enable completion tracking
    • Course settings > Completion tracking = Yes


Issuance Report

Accessing the Report

Location: Site Administration > Reports > Credentium Report

The report shows all credential issuance attempts with:

  • User and course information
  • Status (Pending, Issued, Failed, Retrying)
  • Grade values
  • Error messages
  • Timestamps


Understanding Status Colors

ColorStatusMeaning
GreenIssuedCredential successfully issued
YellowPendingWaiting to be processed
YellowRetryingPrevious attempt failed, trying again
RedFailedIssuance failed after all retries


Retry Actions

For failed or pending credentials:

  1. Click the Retry button on the row
  2. Or click Process Pending to retry all pending items
  3. Check the report again after a few minutes


Common Issues

No Credentials Being Issued

Symptoms: Course completions don't trigger credentials

Checklist:

  1. ✓ Plugin enabled globally (Enable Credentium Integration)
  2. ✓ Course enabled (Enable Credentium for this course)
  3. ✓ Template selected for course
  4. ✓ Course completion tracking enabled
  5. ✓ Completion criteria set for course
  6. ✓ Cron running regularly (check Scheduled tasks)
  7. ✓ Category not paused (if using category mode)

Debug Steps:

  1. Enable debug logging in plugin settings
  2. Complete a test course
  3. Check PHP error log for [Credentium] entries
  4. Check the issuance report for new entries


Connection Test Fails

Symptoms: "Test connection" shows error

Common Causes:


ErrorCauseSolution
"API URL is invalid"Malformed URLUse full URL with https://
"Connection refused"Firewall blockingAllow outbound HTTPS to Credentium
"401 Unauthorized"Wrong API keyCheck API key is correct
"404 Not Found"Wrong API URLVerify API URL is correct
"SSL certificate error"SSL issuesUpdate server certificates


Verify API Credentials:

  1. Log in to Credentium Issuer
  2. Go to Organization Settings > API Keys
  3. Copy the API key and URL
  4. Paste into Moodle settings


Credentials Stuck in "Pending"

Symptoms: Credentials remain pending for a long time

Common Causes:

  1. Cron not running

    • Check: Site Administration > Server > Scheduled tasks
    • Find "Process pending credentials"
    • Verify last run time is recent
    • Run manually: php admin/cli/scheduled_task.php --execute=\\local_credentium\\task\\process_pending_credentials
  2. Grade not ready

    • If "Send grade" is enabled, plugin waits for grade aggregation
    • Check gradebook for the student
    • Wait up to 45 minutes for retry attempts
  3. Rate limit exceeded

    • If category rate limit is set, credentials queue
    • Check category settings for rate limit
    • Wait for hourly window to reset
  4. Category paused

    • Check category settings for "Pause all issuances"
    • Uncheck to resume processing


Credentials Failing

Symptoms: Credentials show "Failed" status

Check Error Messages:

  1. Go to issuance report
  2. Hover over the red badge to see error
  3. Click "Debug" button for detailed info


Common Errors:

ErrorCauseSolution
"Template not found"Template deleted or deactivatedSelect a different template
"Invalid template"Template has multiple assessmentsUse single-assessment template
"API error"API returned errorCheck API credentials
"Rate limit exceeded"Too many requestsWait and retry
"Invalid grade"Grade format issueCheck gradebook configuration


Grades Not Appearing in Credentials

Symptoms: Credential issued but grade is empty

Checklist:

  1. ✓ "Send grade" enabled in course settings
  2. ✓ Course has a grade item
  3. ✓ Student has a final grade
  4. ✓ Grade aggregation is complete

Debug:

  1. Check gradebook: Course > Grades > View gradebook
  2. Verify student has a course total grade
  3. Check if gradebook needs recalculation


Templates Not Showing

Symptoms: Template dropdown is empty or missing expected templates

Solutions:

  1. Click Refresh templates on course settings page
  2. Check template is "Active" in Credentium
  3. Verify API credentials are correct
  4. Check for templates with multiple assessments (shown as unsupported)


Category Settings Not Appearing

Symptoms: Can't find category settings option

Checklist:

  1. ✓ "Enable category mode" checked in global settings
  2. ✓ You have local/credentium:managecategory capability
  3. ✓ You're in the correct category (not a course)


Debugging Tools

Debug Logging

Enable:

  1. Site Administration > Plugins > Local plugins > Credentium® Integration
  2. Check "Enable debug logging"
  3. Save changes


View Logs:

  • Logs written to PHP error log
  • Location depends on server config (usually /var/log/apache2/error.log or /var/log/php-fpm/error.log)
  • Search for [Credentium] prefix


Log Information:

  • Event processing details
  • API requests and responses
  • Grade calculations
  • Error traces


Important: Disable debug logging in production after troubleshooting.


Debug Page

Access: Click "Debug" on any issuance record in the report


Shows:

  • Full issuance record details
  • Course configuration
  • API connection test results
  • Template availability check


Test Connection Page

Access:

  • Settings page > Test connection button
  • Or: /local/credentium/testconnection.php?sesskey=...


Tests:

  • API URL accessibility
  • API key validity
  • Template retrieval


Manual Processing

Process Single Credential

  1. Go to issuance report
  2. Click "Debug" on the credential
  3. Click "Process This Credential Now"


Process All Pending

  1. Go to issuance report
  2. Click "Process Pending (N)" button at top
  3. Wait for processing to complete


Via Command Line

# Run the scheduled task manually
php admin/cli/scheduled_task.php \
  --execute=\\local_credentium\\task\\process_pending_credentials

# Check task status
php admin/cli/scheduled_task.php --list | grep credentium


Performance Issues

Slow Issuance

Symptoms: Credentials take a long time to issue

Causes:

  • Cron running infrequently
  • API response slow
  • Many pending credentials

Solutions:

  1. Ensure cron runs at least every 5 minutes
  2. Check network connectivity to Credentium
  3. Process pending credentials in smaller batches


High Database Load

Symptoms: Moodle slows down with many credentials

Solutions:

  1. Ensure database indexes are in place (automatic on install)
  2. Archive old issuance records if needed
  3. Monitor table sizes


GDPR Compliance

The plugin implements full GDPR compliance through Moodle's Privacy API.


Key points:

  • Automatic data retention with configurable period (default: 365 days)
  • User data automatically deleted when users are removed from Moodle
  • Support for data export requests via Moodle's privacy tools
  • Personal data transmitted to external Credentium® API for credential issuance


For complete details, see the dedicated Privacy and GDPR Compliance article.


Getting Help

Before Contacting Support

Gather this information:

  1. Moodle version
  2. Plugin version (Site Administration > Plugins > Plugins overview)
  3. Error messages (exact text)
  4. Debug log entries (if available)
  5. Steps to reproduce the issue


Contact Information

Credentium Support Email: support@credentium.com

GitHub Issues For bug reports: GitHub Issues



Last updated: January 2026

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article