1019 lines
24 KiB
Markdown
1019 lines
24 KiB
Markdown
# Survey Custom Certificate Template - Troubleshooting Guide
|
|
|
|
## Table of Contents
|
|
|
|
1. [File Upload Issues](#file-upload-issues)
|
|
2. [Placeholder Issues](#placeholder-issues)
|
|
3. [Mapping Configuration Issues](#mapping-configuration-issues)
|
|
4. [Preview Generation Issues](#preview-generation-issues)
|
|
5. [Certificate Generation Issues](#certificate-generation-issues)
|
|
6. [PDF Conversion Issues](#pdf-conversion-issues)
|
|
7. [Formatting Issues](#formatting-issues)
|
|
8. [Performance Issues](#performance-issues)
|
|
9. [Error Messages Reference](#error-messages-reference)
|
|
10. [Diagnostic Tools](#diagnostic-tools)
|
|
|
|
---
|
|
|
|
## File Upload Issues
|
|
|
|
### Issue: "Invalid file format" Error
|
|
|
|
**Error Message:**
|
|
```
|
|
Invalid file format. Only DOCX files are supported.
|
|
Uploaded file: template.doc
|
|
Please upload a file with .docx extension.
|
|
```
|
|
|
|
**Cause:** The uploaded file is not in DOCX format.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Convert DOC to DOCX:**
|
|
- Open the file in Microsoft Word
|
|
- Click **File** → **Save As**
|
|
- Choose **Word Document (.docx)** from the format dropdown
|
|
- Save and upload the new file
|
|
|
|
2. **Check file extension:**
|
|
- Ensure the file ends with `.docx` (not `.doc`, `.docm`, or other formats)
|
|
- Right-click the file → Properties to verify the file type
|
|
|
|
3. **Re-save from LibreOffice:**
|
|
- Open in LibreOffice Writer
|
|
- File → Save As → Microsoft Word 2007-365 (.docx)
|
|
|
|
**Prevention:**
|
|
- Always create templates in Word 2007 or later
|
|
- Use "Save As" instead of "Save" when creating new templates
|
|
- Verify file extension before uploading
|
|
|
|
---
|
|
|
|
### Issue: "File size exceeds maximum" Error
|
|
|
|
**Error Message:**
|
|
```
|
|
File size exceeds the maximum allowed limit.
|
|
Uploaded file size: 12.45 MB
|
|
Maximum allowed: 10 MB
|
|
|
|
Please reduce the file size by:
|
|
- Compressing images in the document
|
|
- Removing unnecessary content
|
|
- Simplifying formatting
|
|
```
|
|
|
|
**Cause:** The template file is larger than 10 MB.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Compress images in Word:**
|
|
```
|
|
- Select an image in the document
|
|
- Click Picture Format tab
|
|
- Click Compress Pictures
|
|
- Choose "Email (96 ppi)" or "Web (150 ppi)"
|
|
- Check "Apply to all pictures in this file"
|
|
- Click OK
|
|
```
|
|
|
|
2. **Remove embedded objects:**
|
|
- Remove unnecessary embedded files
|
|
- Remove hidden data: File → Info → Check for Issues → Inspect Document
|
|
- Remove all items found
|
|
|
|
3. **Simplify the template:**
|
|
- Use fewer images
|
|
- Reduce image resolution before inserting
|
|
- Remove complex graphics
|
|
- Simplify table structures
|
|
|
|
4. **Split complex designs:**
|
|
- Use a simpler base template
|
|
- Add logos as smaller, compressed images
|
|
|
|
**Prevention:**
|
|
- Compress images before inserting into Word
|
|
- Use web-optimized images (72-150 dpi)
|
|
- Keep templates under 5 MB for best performance
|
|
|
|
---
|
|
|
|
### Issue: "The uploaded file is not a valid DOCX document" Error
|
|
|
|
**Error Message:**
|
|
```
|
|
The uploaded file is not a valid DOCX document.
|
|
Error: [specific error details]
|
|
|
|
Please ensure you are uploading a valid Microsoft Word (.docx) file.
|
|
```
|
|
|
|
**Cause:** The file is corrupted or has an invalid DOCX structure.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Repair the document:**
|
|
- Open in Microsoft Word
|
|
- Word may prompt to repair the file automatically
|
|
- If repaired, save as a new file and upload
|
|
|
|
2. **Create a new template:**
|
|
- Copy content from the corrupted file
|
|
- Paste into a new blank Word document
|
|
- Save as .docx and upload
|
|
|
|
3. **Check for corruption:**
|
|
- Try opening the file in Word
|
|
- If it doesn't open, the file is corrupted
|
|
- Restore from backup if available
|
|
|
|
4. **Convert from another format:**
|
|
- If the file was converted from PDF or other format, recreate it in Word
|
|
|
|
**Prevention:**
|
|
- Always save templates properly (don't force-close Word)
|
|
- Keep backup copies of templates
|
|
- Test templates by opening them before uploading
|
|
|
|
---
|
|
|
|
### Issue: Upload Button Disabled or Not Responding
|
|
|
|
**Symptoms:**
|
|
- Cannot click the upload button
|
|
- File selection dialog doesn't open
|
|
- Upload appears to do nothing
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check browser:**
|
|
- Try a different browser (Chrome, Firefox, Edge)
|
|
- Clear browser cache and cookies
|
|
- Disable browser extensions temporarily
|
|
|
|
2. **Check file permissions:**
|
|
- Ensure you have read access to the file
|
|
- Try copying the file to your desktop first
|
|
|
|
3. **Check Odoo session:**
|
|
- Refresh the page
|
|
- Log out and log back in
|
|
- Check if your session has timed out
|
|
|
|
4. **Check access rights:**
|
|
- Ensure you have Survey Manager role
|
|
- Contact your administrator if you don't have access
|
|
|
|
**Prevention:**
|
|
- Use supported browsers (Chrome, Firefox, Edge)
|
|
- Keep browser updated
|
|
- Maintain active Odoo session
|
|
|
|
---
|
|
|
|
## Placeholder Issues
|
|
|
|
### Issue: "No placeholders found" Warning
|
|
|
|
**Warning Message:**
|
|
```
|
|
No placeholders found in template. Certificate will be static.
|
|
```
|
|
|
|
**Cause:** The template doesn't contain any text matching the `{key.xxx}` pattern.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check placeholder syntax:**
|
|
|
|
**Correct format:**
|
|
```
|
|
{key.name}
|
|
{key.course_name}
|
|
{key.date}
|
|
```
|
|
|
|
**Common mistakes:**
|
|
```
|
|
{{key.name}} ❌ Double braces
|
|
{name} ❌ Missing "key."
|
|
{ key.name } ❌ Spaces inside
|
|
[key.name] ❌ Wrong brackets
|
|
{key.Name} ⚠️ Case matters (use lowercase)
|
|
{KEY.name} ❌ "key" must be lowercase
|
|
```
|
|
|
|
2. **Verify placeholders are in the document:**
|
|
- Open the template in Word
|
|
- Use Find (Ctrl+F) to search for `{key.`
|
|
- Ensure placeholders are visible (not hidden or in headers/footers)
|
|
|
|
3. **Check for special characters:**
|
|
- Placeholders must be plain text
|
|
- No special formatting (bold, italic is OK, but no text boxes or shapes)
|
|
- Not in text boxes or shapes (use regular text)
|
|
|
|
4. **Re-type placeholders:**
|
|
- Sometimes copy-paste introduces invisible characters
|
|
- Delete and manually type the placeholder
|
|
|
|
**Prevention:**
|
|
- Use the correct format from the start: `{key.field_name}`
|
|
- Test with a simple placeholder first: `{key.test}`
|
|
- Keep a reference list of your placeholders
|
|
|
|
---
|
|
|
|
### Issue: Placeholders Not Recognized
|
|
|
|
**Symptoms:**
|
|
- Some placeholders are detected, others are not
|
|
- Placeholders appear in the template but not in the mapping table
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check each placeholder individually:**
|
|
```
|
|
Correct: {key.name}
|
|
Incorrect: {key.name } (space before })
|
|
Incorrect: {key. name} (space after .)
|
|
Incorrect: {key.name-1} (hyphen not allowed)
|
|
```
|
|
|
|
2. **Field name rules:**
|
|
- Only letters, numbers, and underscores allowed
|
|
- Must start with a letter
|
|
- No spaces, hyphens, or special characters
|
|
|
|
**Valid:**
|
|
```
|
|
{key.name}
|
|
{key.first_name}
|
|
{key.completion_date}
|
|
{key.score_percentage}
|
|
```
|
|
|
|
**Invalid:**
|
|
```
|
|
{key.first-name} ❌ Hyphen
|
|
{key.first name} ❌ Space
|
|
{key.1st_name} ❌ Starts with number
|
|
{key.name!} ❌ Special character
|
|
```
|
|
|
|
3. **Check for hidden characters:**
|
|
- Copy the placeholder to a text editor
|
|
- Look for invisible characters
|
|
- Re-type if necessary
|
|
|
|
4. **Verify placeholder location:**
|
|
- Placeholders in headers/footers are supported
|
|
- Placeholders in text boxes may not be detected
|
|
- Placeholders in tables are supported
|
|
|
|
**Prevention:**
|
|
- Use only letters, numbers, and underscores in field names
|
|
- Follow naming conventions: `{key.field_name}`
|
|
- Test placeholders after adding them
|
|
|
|
---
|
|
|
|
### Issue: Too Many Placeholders Detected
|
|
|
|
**Symptoms:**
|
|
- Mapping table shows unexpected placeholders
|
|
- Placeholders you didn't intend are detected
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check for accidental placeholders:**
|
|
- Search the template for `{key.`
|
|
- Remove any unintended text matching the pattern
|
|
|
|
2. **Use different syntax for non-placeholder text:**
|
|
- If you need to show `{key.something}` as literal text, use:
|
|
- `{{key.something}}` (will not be detected)
|
|
- Or remove the "key." part: `{something}`
|
|
|
|
3. **Review the template:**
|
|
- Open in Word and search for all instances of `{key.`
|
|
- Verify each one is intentional
|
|
|
|
**Prevention:**
|
|
- Be careful when typing curly braces
|
|
- Use a consistent naming scheme for placeholders
|
|
- Document your placeholders
|
|
|
|
---
|
|
|
|
## Mapping Configuration Issues
|
|
|
|
### Issue: Cannot Save Configuration
|
|
|
|
**Error Message:**
|
|
```
|
|
Validation failed:
|
|
[specific validation error]
|
|
|
|
Please correct the issues and try again.
|
|
```
|
|
|
|
**Common Causes and Solutions:**
|
|
|
|
1. **Field name too long:**
|
|
```
|
|
Error: Value field name too long: very_long_field_name_that_exceeds_limit
|
|
Maximum length: 200 characters
|
|
```
|
|
**Solution:** Use shorter field names
|
|
|
|
2. **Custom text too long:**
|
|
```
|
|
Error: Custom text too long for placeholder {key.description}
|
|
Maximum length: 1000 characters
|
|
Current length: 1250 characters
|
|
```
|
|
**Solution:** Reduce custom text length or split into multiple placeholders
|
|
|
|
3. **Invalid characters in field name:**
|
|
```
|
|
Error: Invalid characters in field name: partner-name
|
|
Field names can only contain letters, numbers, underscores, and dots.
|
|
```
|
|
**Solution:** Use `partner_name` instead of `partner-name`
|
|
|
|
4. **Missing required field:**
|
|
```
|
|
Error: Field name is required when value type is "Survey Field"
|
|
```
|
|
**Solution:** Enter a field name or change value type to "Custom Text"
|
|
|
|
**Prevention:**
|
|
- Keep field names short and simple
|
|
- Use only allowed characters
|
|
- Fill in all required fields before saving
|
|
|
|
---
|
|
|
|
### Issue: Automatic Mapping Incorrect
|
|
|
|
**Symptoms:**
|
|
- System suggests wrong field for a placeholder
|
|
- Mapping doesn't match your intention
|
|
|
|
**Solutions:**
|
|
|
|
1. **Manually correct the mapping:**
|
|
- Click on the row in the mapping table
|
|
- Change the **Value** type if needed
|
|
- Update the **Field** name to the correct one
|
|
|
|
2. **Use more specific placeholder names:**
|
|
- Instead of `{key.name}`, use `{key.participant_name}` or `{key.instructor_name}`
|
|
- This helps the system suggest better mappings
|
|
|
|
3. **Check available fields:**
|
|
- Survey fields: `survey_title`, `survey_description`
|
|
- Participant fields: `partner_name`, `partner_email`, `completion_date`, `scoring_percentage`, `scoring_total`
|
|
|
|
**Prevention:**
|
|
- Use standard placeholder names when possible
|
|
- Review automatic mappings before saving
|
|
- Generate a preview to verify mappings
|
|
|
|
---
|
|
|
|
### Issue: Don't Know Which Field to Use
|
|
|
|
**Problem:** Unsure which field name to enter for a placeholder.
|
|
|
|
**Solution - Available Fields Reference:**
|
|
|
|
**Survey Fields** (data about the survey itself):
|
|
```
|
|
survey_title - The survey's title
|
|
survey_description - The survey's description
|
|
```
|
|
|
|
**Participant Fields** (data about the person who completed the survey):
|
|
```
|
|
partner_name - Full name
|
|
partner_email - Email address
|
|
completion_date - Date completed (YYYY-MM-DD format)
|
|
create_date - Date started (YYYY-MM-DD format)
|
|
scoring_percentage - Score as percentage (e.g., "95.5")
|
|
scoring_total - Total points scored
|
|
```
|
|
|
|
**Examples:**
|
|
- For participant's name: Use `partner_name`
|
|
- For course name: Use `survey_title`
|
|
- For completion date: Use `completion_date`
|
|
- For score: Use `scoring_percentage`
|
|
|
|
**If the field you need isn't available:**
|
|
- Use **Custom Text** value type
|
|
- Enter the static text you want to appear
|
|
|
|
---
|
|
|
|
## Preview Generation Issues
|
|
|
|
### Issue: Preview Button Disabled
|
|
|
|
**Symptoms:**
|
|
- "Generate Preview" button is grayed out
|
|
- Cannot click the preview button
|
|
|
|
**Solutions:**
|
|
|
|
1. **Upload and parse template first:**
|
|
- Ensure you've uploaded a template
|
|
- Click "Parse Template" button
|
|
- Wait for placeholders to appear
|
|
|
|
2. **Configure at least one mapping:**
|
|
- The preview requires at least one placeholder
|
|
- Ensure the mapping table is not empty
|
|
|
|
3. **Check for errors:**
|
|
- Look for error messages in the wizard
|
|
- Correct any validation errors
|
|
|
|
**Prevention:**
|
|
- Follow the workflow: Upload → Parse → Configure → Preview → Save
|
|
|
|
---
|
|
|
|
### Issue: Preview Generation Fails
|
|
|
|
**Error Message:**
|
|
```
|
|
Failed to generate preview: [error details]
|
|
```
|
|
|
|
**Common Causes and Solutions:**
|
|
|
|
1. **LibreOffice not available:**
|
|
```
|
|
Error: PDF conversion failed: LibreOffice not found
|
|
```
|
|
**Solution:** Contact your system administrator to install LibreOffice
|
|
|
|
2. **Template file corrupted:**
|
|
```
|
|
Error: Failed to read template file
|
|
```
|
|
**Solution:** Re-upload the template file
|
|
|
|
3. **Invalid mapping configuration:**
|
|
```
|
|
Error: Invalid field name in mapping
|
|
```
|
|
**Solution:** Review and correct placeholder mappings
|
|
|
|
4. **Server timeout:**
|
|
```
|
|
Error: Request timeout
|
|
```
|
|
**Solution:** Try again, or contact administrator if problem persists
|
|
|
|
**Prevention:**
|
|
- Ensure LibreOffice is installed (administrator task)
|
|
- Use valid, uncorrupted template files
|
|
- Keep templates reasonably sized (< 5 MB)
|
|
|
|
---
|
|
|
|
### Issue: Preview Shows Placeholders Not Replaced
|
|
|
|
**Symptoms:**
|
|
- Preview PDF still shows `{key.xxx}` text
|
|
- Some placeholders replaced, others not
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check mapping configuration:**
|
|
- Ensure all placeholders have a value type selected
|
|
- For Survey/Participant fields, verify field name is correct
|
|
- For Custom Text, ensure text is entered
|
|
|
|
2. **Verify field names:**
|
|
- Field names are case-sensitive
|
|
- Use exact names: `partner_name` not `Partner_Name`
|
|
|
|
3. **Check for typos:**
|
|
- In the template: `{key.name}` not `{key.nam}`
|
|
- In the field mapping: `partner_name` not `partnername`
|
|
|
|
4. **Re-parse template:**
|
|
- Click "Parse Template" again
|
|
- Reconfigure mappings
|
|
- Generate preview again
|
|
|
|
**Prevention:**
|
|
- Double-check all mappings before generating preview
|
|
- Use standard field names
|
|
- Test with a simple template first
|
|
|
|
---
|
|
|
|
### Issue: Preview Formatting Looks Wrong
|
|
|
|
**Symptoms:**
|
|
- Fonts changed in preview
|
|
- Layout different from template
|
|
- Images missing or distorted
|
|
|
|
**Solutions:**
|
|
|
|
1. **Use standard fonts:**
|
|
- Stick to common fonts: Arial, Times New Roman, Calibri
|
|
- Avoid custom or decorative fonts
|
|
|
|
2. **Simplify template:**
|
|
- Remove complex formatting
|
|
- Avoid nested tables
|
|
- Use simple layouts
|
|
|
|
3. **Check images:**
|
|
- Ensure images are embedded (not linked)
|
|
- Use common formats: JPG, PNG
|
|
- Compress large images
|
|
|
|
4. **Test in LibreOffice:**
|
|
- Open your template in LibreOffice Writer
|
|
- Check if it displays correctly there
|
|
- If not, simplify the template
|
|
|
|
**Prevention:**
|
|
- Design templates with simplicity in mind
|
|
- Test templates in both Word and LibreOffice
|
|
- Use standard fonts and simple layouts
|
|
|
|
---
|
|
|
|
## Certificate Generation Issues
|
|
|
|
### Issue: Certificates Not Generated on Survey Completion
|
|
|
|
**Symptoms:**
|
|
- Survey completed but no certificate created
|
|
- No certificate available for download
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check certificate configuration:**
|
|
- Open the survey
|
|
- Verify "Custom Template" is selected
|
|
- Ensure "Has Custom Certificate" is checked
|
|
- Verify template is uploaded and configured
|
|
|
|
2. **Check survey settings:**
|
|
- Ensure certification is enabled for the survey
|
|
- Check that the survey is published
|
|
|
|
3. **Check logs:**
|
|
- Ask administrator to check Odoo logs
|
|
- Look for certificate generation errors
|
|
|
|
4. **Test manually:**
|
|
- Complete a test survey
|
|
- Check if certificate is generated
|
|
- Review any error messages
|
|
|
|
**Prevention:**
|
|
- Always test certificate generation with a test survey
|
|
- Verify configuration before going live
|
|
- Monitor logs for errors
|
|
|
|
---
|
|
|
|
### Issue: Certificate Data Missing or Incorrect
|
|
|
|
**Symptoms:**
|
|
- Certificate shows empty fields
|
|
- Wrong data appears in certificate
|
|
- Participant name is blank
|
|
|
|
**Solutions:**
|
|
|
|
1. **Check participant data:**
|
|
- Ensure participant has a name and email
|
|
- Verify survey response is complete
|
|
|
|
2. **Check field mappings:**
|
|
- Review placeholder mappings
|
|
- Ensure correct fields are selected
|
|
- Verify field names are correct
|
|
|
|
3. **Check data availability:**
|
|
- Some fields may not be available for all surveys
|
|
- Use Custom Text for fields that aren't available
|
|
|
|
4. **Review data retrieval:**
|
|
- Ask administrator to check logs
|
|
- Look for "Failed to get [field]" warnings
|
|
|
|
**Prevention:**
|
|
- Require participant information in survey settings
|
|
- Test with complete participant data
|
|
- Use fallback values (Custom Text) for optional fields
|
|
|
|
---
|
|
|
|
## PDF Conversion Issues
|
|
|
|
### Issue: "PDF conversion failed" Error
|
|
|
|
**Error Message:**
|
|
```
|
|
PDF conversion failed: LibreOffice not found or not accessible
|
|
|
|
System administrators have been notified.
|
|
Please contact your administrator for assistance.
|
|
```
|
|
|
|
**Cause:** LibreOffice is not installed or not accessible on the server.
|
|
|
|
**Solutions:**
|
|
|
|
**For Users:**
|
|
1. Contact your system administrator
|
|
2. Provide the error message
|
|
3. Wait for administrator to install LibreOffice
|
|
|
|
**For Administrators:**
|
|
1. Install LibreOffice:
|
|
```bash
|
|
# Ubuntu/Debian
|
|
sudo apt-get install libreoffice
|
|
|
|
# CentOS/RHEL
|
|
sudo yum install libreoffice
|
|
```
|
|
|
|
2. Verify installation:
|
|
```bash
|
|
which libreoffice
|
|
libreoffice --version
|
|
```
|
|
|
|
3. Restart Odoo:
|
|
```bash
|
|
sudo systemctl restart odoo
|
|
```
|
|
|
|
4. Test certificate generation again
|
|
|
|
**Prevention:**
|
|
- Ensure LibreOffice is installed before deploying the module
|
|
- Include LibreOffice in server setup documentation
|
|
- Monitor LibreOffice availability
|
|
|
|
---
|
|
|
|
### Issue: PDF Conversion Timeout
|
|
|
|
**Error Message:**
|
|
```
|
|
PDF conversion timed out after 60 seconds
|
|
```
|
|
|
|
**Cause:** Template is too complex or server is overloaded.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Simplify template:**
|
|
- Reduce file size
|
|
- Remove complex graphics
|
|
- Simplify formatting
|
|
|
|
2. **Try again:**
|
|
- Server may have been temporarily busy
|
|
- Wait a few minutes and retry
|
|
|
|
3. **Contact administrator:**
|
|
- May need to increase timeout settings
|
|
- May need to upgrade server resources
|
|
|
|
**For Administrators:**
|
|
- Increase timeout in configuration
|
|
- Monitor server load
|
|
- Consider queue-based processing for high volumes
|
|
|
|
**Prevention:**
|
|
- Keep templates simple and small
|
|
- Test during off-peak hours
|
|
- Monitor server performance
|
|
|
|
---
|
|
|
|
## Formatting Issues
|
|
|
|
### Issue: Fonts Look Different in Generated Certificate
|
|
|
|
**Cause:** Font substitution during PDF conversion.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Use standard fonts:**
|
|
- Arial
|
|
- Times New Roman
|
|
- Calibri
|
|
- Helvetica
|
|
- Courier New
|
|
|
|
2. **Install fonts on server:**
|
|
- Ask administrator to install custom fonts on the server
|
|
- Fonts must be available to LibreOffice
|
|
|
|
3. **Embed fonts in template:**
|
|
- In Word: File → Options → Save → Embed fonts in the file
|
|
- Note: This increases file size
|
|
|
|
**Prevention:**
|
|
- Stick to standard fonts
|
|
- Test certificate generation before going live
|
|
- Verify fonts in preview
|
|
|
|
---
|
|
|
|
### Issue: Images Missing or Distorted
|
|
|
|
**Cause:** Image embedding or format issues.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Embed images properly:**
|
|
- Copy and paste images directly into Word
|
|
- Don't link to external files
|
|
|
|
2. **Use supported formats:**
|
|
- JPG and PNG work best
|
|
- Avoid BMP, TIFF, or other formats
|
|
|
|
3. **Check image size:**
|
|
- Large images may cause issues
|
|
- Resize images before inserting
|
|
|
|
4. **Compress images:**
|
|
- Select image → Picture Format → Compress Pictures
|
|
- Choose appropriate resolution
|
|
|
|
**Prevention:**
|
|
- Use JPG or PNG images
|
|
- Embed images (don't link)
|
|
- Compress images before inserting
|
|
|
|
---
|
|
|
|
### Issue: Layout Broken in Generated Certificate
|
|
|
|
**Cause:** Complex Word features not fully supported.
|
|
|
|
**Solutions:**
|
|
|
|
1. **Simplify layout:**
|
|
- Use simple tables instead of complex layouts
|
|
- Avoid text boxes
|
|
- Use standard paragraph formatting
|
|
|
|
2. **Avoid advanced features:**
|
|
- No SmartArt
|
|
- No complex shapes
|
|
- No advanced text effects
|
|
|
|
3. **Test in LibreOffice:**
|
|
- Open template in LibreOffice Writer
|
|
- If layout breaks there, simplify the template
|
|
|
|
4. **Use images for complex designs:**
|
|
- Create complex graphics in a design tool
|
|
- Insert as images in the template
|
|
|
|
**Prevention:**
|
|
- Design with simplicity in mind
|
|
- Test templates in LibreOffice before uploading
|
|
- Use standard Word features only
|
|
|
|
---
|
|
|
|
## Performance Issues
|
|
|
|
### Issue: Slow Certificate Generation
|
|
|
|
**Symptoms:**
|
|
- Certificate generation takes more than 30 seconds
|
|
- System becomes slow during generation
|
|
|
|
**Solutions:**
|
|
|
|
1. **Reduce template size:**
|
|
- Compress images
|
|
- Remove unnecessary content
|
|
- Simplify formatting
|
|
|
|
2. **Generate during off-peak hours:**
|
|
- Schedule batch generation for nights/weekends
|
|
- Avoid generating many certificates simultaneously
|
|
|
|
3. **Contact administrator:**
|
|
- May need server upgrades
|
|
- May need to optimize configuration
|
|
|
|
**For Administrators:**
|
|
- Monitor server resources
|
|
- Consider queue-based processing
|
|
- Optimize LibreOffice settings
|
|
- Increase server resources if needed
|
|
|
|
**Prevention:**
|
|
- Keep templates under 5 MB
|
|
- Test performance with expected load
|
|
- Plan for peak usage times
|
|
|
|
---
|
|
|
|
### Issue: Server Runs Out of Memory
|
|
|
|
**Symptoms:**
|
|
- Odoo crashes during certificate generation
|
|
- "Out of memory" errors in logs
|
|
|
|
**Solutions:**
|
|
|
|
**For Users:**
|
|
1. Reduce template size
|
|
2. Generate fewer certificates at once
|
|
3. Contact administrator
|
|
|
|
**For Administrators:**
|
|
1. Increase server RAM
|
|
2. Limit concurrent certificate generations
|
|
3. Implement queue-based processing
|
|
4. Monitor memory usage:
|
|
```bash
|
|
free -h
|
|
watch -n 1 free -h
|
|
```
|
|
|
|
**Prevention:**
|
|
- Adequate server resources
|
|
- Monitor memory usage
|
|
- Implement resource limits
|
|
|
|
---
|
|
|
|
## Error Messages Reference
|
|
|
|
### User-Facing Errors
|
|
|
|
| Error Message | Cause | Solution |
|
|
|---------------|-------|----------|
|
|
| "Invalid file format" | Wrong file type | Upload .docx file |
|
|
| "File size exceeds maximum" | File too large | Compress images, reduce size |
|
|
| "No placeholders found" | Wrong syntax | Use `{key.field_name}` format |
|
|
| "PDF conversion failed" | LibreOffice issue | Contact administrator |
|
|
| "Validation failed" | Invalid configuration | Review and correct mappings |
|
|
| "Template parsing failed" | Corrupted file | Re-save and re-upload template |
|
|
|
|
### Administrator Errors
|
|
|
|
| Error Message | Cause | Solution |
|
|
|---------------|-------|----------|
|
|
| "LibreOffice not found" | Not installed | Install LibreOffice |
|
|
| "Permission denied" | File permissions | Fix permissions on /tmp |
|
|
| "Database error" | DB issue | Check database logs |
|
|
| "Timeout" | Process too slow | Increase timeout, optimize |
|
|
|
|
---
|
|
|
|
## Diagnostic Tools
|
|
|
|
### For Users
|
|
|
|
**Check Configuration:**
|
|
1. Open survey
|
|
2. Go to Options tab
|
|
3. Verify:
|
|
- Certification Template = "Custom Template"
|
|
- Has Custom Certificate = checked
|
|
- Template filename shown
|
|
|
|
**Test with Simple Template:**
|
|
1. Create minimal template:
|
|
```
|
|
Certificate for {key.name}
|
|
```
|
|
2. Upload and configure
|
|
3. Generate preview
|
|
4. If this works, issue is with complex template
|
|
|
|
**Check Browser Console:**
|
|
1. Press F12 in browser
|
|
2. Go to Console tab
|
|
3. Look for JavaScript errors
|
|
4. Report errors to administrator
|
|
|
|
### For Administrators
|
|
|
|
**Check LibreOffice:**
|
|
```bash
|
|
# Verify installation
|
|
which libreoffice
|
|
libreoffice --version
|
|
|
|
# Test conversion manually
|
|
libreoffice --headless --convert-to pdf test.docx
|
|
```
|
|
|
|
**Check Logs:**
|
|
```bash
|
|
# View recent certificate logs
|
|
tail -f /var/log/odoo/odoo-server.log | grep certificate
|
|
|
|
# Count errors
|
|
grep "certificate.*error" /var/log/odoo/odoo-server.log | wc -l
|
|
|
|
# Find specific error
|
|
grep "PDF conversion failed" /var/log/odoo/odoo-server.log
|
|
```
|
|
|
|
**Check System Resources:**
|
|
```bash
|
|
# Memory
|
|
free -h
|
|
|
|
# Disk space
|
|
df -h
|
|
|
|
# CPU usage
|
|
top
|
|
|
|
# LibreOffice processes
|
|
ps aux | grep soffice
|
|
```
|
|
|
|
**Check Permissions:**
|
|
```bash
|
|
# Temp directory
|
|
ls -la /tmp
|
|
|
|
# Odoo user
|
|
ps aux | grep odoo
|
|
|
|
# Test write access
|
|
sudo -u odoo touch /tmp/test_file
|
|
```
|
|
|
|
**Generate Diagnostic Report:**
|
|
```bash
|
|
#!/bin/bash
|
|
echo "=== Certificate Module Diagnostics ==="
|
|
echo "Date: $(date)"
|
|
echo ""
|
|
echo "LibreOffice: $(which libreoffice)"
|
|
libreoffice --version
|
|
echo ""
|
|
echo "Python packages:"
|
|
pip list | grep python-docx
|
|
echo ""
|
|
echo "Disk space:"
|
|
df -h | grep -E "Filesystem|/tmp"
|
|
echo ""
|
|
echo "Memory:"
|
|
free -h
|
|
echo ""
|
|
echo "Recent errors:"
|
|
grep "certificate.*error" /var/log/odoo/odoo-server.log | tail -10
|
|
```
|
|
|
|
---
|
|
|
|
## Getting Additional Help
|
|
|
|
If your issue is not covered in this guide:
|
|
|
|
1. **Check the logs**: Detailed error information is in the Odoo logs
|
|
2. **Review documentation**: See USER_GUIDE.md and ADMIN_GUIDE.md
|
|
3. **Test with simple template**: Isolate the issue
|
|
4. **Contact administrator**: For server-related issues
|
|
5. **Community forums**: Search for similar issues
|
|
6. **Bug report**: If you've found a bug, report it with:
|
|
- Odoo version
|
|
- Module version
|
|
- Steps to reproduce
|
|
- Error messages
|
|
- Log excerpts
|
|
|
|
---
|
|
|
|
**Version**: 1.0
|
|
**Last Updated**: 2024
|
|
**Module**: survey_custom_certificate_template
|
|
**Odoo Version**: 19.0
|