Overview
The Certificate system automates the creation of branded PDF diplomas, supports bulk generation for entire cohorts, and differentiates between participation and award certificates based on performance thresholds.Key Features
Dual Certificate Types
Participation (all completers) and Excellence (80+ score)
Bulk Generation
Create hundreds of certificates in ZIP archive
Branded Templates
Client logos, custom colors, and professional design
Audit Trail
Unique verification codes for each certificate
Certificate Types
Participation Certificate
Awarded to: All users who complete a dilemma (any score) Design:- Blue color scheme
- Standard completion language
- Participant name and date
- Dilemma title
Excellence Certificate
Awarded to: Users who score 80+ points Design:- Amber/gold color scheme
- Highlighted award badge with score
- “Desempeño de Excelencia” designation
- More prominent visual treatment
The 80-point threshold is configurable in the code but defaults to this value for most implementations.
Certificate Workflow
Accessing the Certificate Generator
Participant List View
Once filters applied, table displays: Columns:- Usuario: Participant name
- Puntaje Máx: Highest score achieved on this dilemma
- Fecha: Completion date (formatted in Spanish)
- Tipo de Certificado: Badge showing Participation or Excellence
- Blue badge for Participation
- Amber badge for Excellence
Bulk Certificate Generation
Process Flow
- Click Descargar Certificados en PDF (.ZIP)
- Modal overlay appears with progress indicator
- System generates certificates one-by-one:
- Populates template with user data
- Renders HTML to high-quality image
- Converts to PDF
- Adds to ZIP archive
- Progress bar updates (e.g., “5 / 20”)
- Upon completion, ZIP file auto-downloads
- Modal dismisses
Generating 50 certificates takes approximately 30-45 seconds. Do not close the browser during this process.
ZIP File Structure
Certificate Template Elements
Header Section
Left side:- Platform logo (shield icon)
- “DILEMAS” branding
- “Éticos & Integridad” tagline
- Client company logo (if available)
- Or text-based client name fallback
Central Content
Title:- “Certificado de Participación” (standard)
- “Certificado de Excelencia” (award)
- “A favor de:” label
- Large, bold participant name
- Completion statement
- Dilemma title in quotes
- Gold star icon
- “Desempeño de Excelencia” text
- Score display (e.g., “95 / 100 Puntos”)
Footer Section
Left:- “Fecha de Sesión” label
- Formatted completion date
- Signature line
- “Comité Evaluador” designation
- QR code placeholder
- Unique audit code (e.g., “DE-65F3A2B1-0042”)
Certificate Customization
Client Branding
Logo Integration:- Upload client logo in WordPress client settings
- Logo automatically pulls into certificate header
- High-resolution PNGs recommended (300 DPI)
- Participation: Blue (#3b82f6)
- Excellence: Amber (#f59e0b)
- Borders, gradients, and accents match type
Text Customization
To modify certificate language:- Edit
certificates.phpin source code - Locate HTML template in
<div id="certificate-template"> - Update Spanish text strings
- Test rendering with single certificate
- Deploy changes
Verification Codes
Each certificate includes unique audit code: Format:DE-[HEX_TIMESTAMP]-[USER_ID]
Example: DE-65F3A2B1-0042
65F3A2B1: Hexadecimal timestamp of completion0042: Zero-padded user ID
- Fraud prevention
- Certificate authenticity verification
- Audit trail for compliance
Distribution Options
Email to Participants (Recommended)
- Download ZIP archive
- Extract individual PDFs
- Use email merge tool (e.g., MailChimp, SendGrid)
- Attach personalized certificate to each recipient
- Send with congratulatory message
Manual Distribution
- Extract ZIP
- Print certificates on high-quality paper
- Present in-person at recognition events
- Collect signatures for proof of receipt
Self-Service Portal (Future)
Planned feature: Users log in and download their own certificates upon completion.Access Control
Who Can Generate Certificates?
Admin users: Full access to all clients and dilemmas Client users: Currently admin-only feature- Client managers do not have access to certificate generation
- Must request certificates from platform administrators
Restricting certificate generation ensures quality control and prevents unauthorized distribution.
Certificate Workflows
Monthly Cohort Recognition
Award Winners Ceremony
- Filter users with Excellence certificates (80+ scores)
- Generate specialized amber certificates
- Print on premium paper stock
- Frame for presentation at company event
- Photograph award recipients for marketing
Audit Compliance Documentation
- Generate certificates for all completers
- Maintain digital archive of PDFs
- Cross-reference audit codes with user database
- Provide to auditors as proof of training completion
- Retain for 7 years per compliance requirements
Troubleshooting
ZIP Download Fails
Symptoms: Modal stalls at “Comprimiendo archivo ZIP…” Causes:- Browser memory limits (50+ certificates)
- Slow internet connection
- Browser popup blocker
- Process in smaller batches (25 at a time)
- Disable popup blockers
- Use Chrome/Edge for best compatibility
Certificates Show Wrong Date
Cause: System uses last session date, not completion date Solution: Verifyfinished_at field in database is populated
Client Logo Not Appearing
Cause: Logo not uploaded in WordPress client settings Solution:- Edit client in WordPress admin
- Upload logo to Featured Image
- Regenerate certificates
Certificate Text Cut Off
Cause: Very long user names exceed template width Solution:- Use abbreviated names (“John Smith” vs. “Jonathan Alexander Smith III”)
- Or edit template CSS to reduce font size
Best Practices
- Timely Recognition: Generate certificates within 1 week of completion
- Quality Assurance: Test with 1-2 users before bulk generation
- Naming Conventions: Use official names from HR records
- Archival: Keep master ZIP files organized by date and client
- Communication: Notify users via email that certificates are coming
- Print Quality: Use 80lb cardstock for physical certificates
- Digital Security: Password-protect ZIP files if emailing
Technical Details
Libraries Used
- html2pdf.js: Converts HTML template to PDF
- JSZip: Packages multiple PDFs into archive
- FileSaver.js: Triggers browser download
Template Rendering
Certificates render at:- Width: 1123px
- Height: 794px
- Format: Landscape A4 equivalent
- Resolution: 2x scale (high DPI)
Performance
- Generation Speed: ~0.8 seconds per certificate
- Browser Limits: ~100 certificates max before memory issues
- Recommended Batch: 25-50 at a time
Related Features
- User Management - Identify certificate-eligible users
- Dilemma Games - Games that trigger certificates
- Analytics - Track completion rates for certificate planning