Configuration Guide
This guide provides detailed configuration instructions for the Knowledge module. It covers all aspects of setting up and customizing the module for your organization's needs.
Table of Contents
- Initial Configuration
- Knowledge Types
- Field Configuration
- Competency System
- Adherence Tracking
- Quality Assessment
- Permissions
- Advanced Configuration
Initial Configuration
Global Settings
Navigate to Configuration > Knowledge (/admin/config/knowledge/settings) to configure global module settings.
Statistics Settings
Control how knowledge statistics are calculated:
- Maintain entity statistics: Enable/disable automatic statistics tracking
- Enabled: Real-time statistics (recommended)
-
Disabled: Manual statistics calculation (for very high-volume sites)
-
Statistics calculation frequency:
- On every save (default, most accurate)
- Hourly cron
- Daily cron
Display Settings
- Default knowledge per page: Global default (can be overridden per field)
- Date format: How timestamps are displayed
- Show statistics: Display knowledge counts and statistics
- Enable charts: Show visual charts in reports (requires Charts module)
Workflow Settings
- Content moderation integration: Enable if using Content Moderation
- Auto-moderate knowledge based on article status
- Restrict knowledge visibility based on moderation state
Content Types Setup
Decide which content types will participate in knowledge management:
Typical setup: - Articles/Documentation: Target content (gets knowledge field) - Support Tickets/Issues: Incident content (gets knowledge field) - FAQ: Target content (gets knowledge field)
Knowledge Types
Knowledge Types define the relationships between entity types. This is the foundation of your knowledge management system.
Planning Knowledge Types
Before creating knowledge types, map out your content relationships:
| Knowledge Type | Target Entity | Incident Entity | Purpose |
|---|---|---|---|
| Support to Article | Article (node) | Support Ticket (node) | Link support cases to help articles |
| Issue to Solution | Solution (node) | Issue (node) | Connect problems to solutions |
| Training to Material | Material (node) | Training Session (node) | Link sessions to materials |
Creating a Knowledge Type
- Navigate to Structure > Knowledge > Link (
/admin/structure/knowledge/link) - Click "Add knowledge type"
- Configure:
Basic Settings
- Machine name: Unique identifier (e.g.,
support_to_article) - Cannot be changed after creation
- Use lowercase and underscores
-
Must be unique
-
Label: Human-readable name (e.g., "Support Ticket to Article")
- Can be changed anytime
-
Appears in admin interfaces
-
Description: Explain this knowledge type's purpose
- Helps content editors understand when to use it
- Appears on field configuration pages
Entity Type Settings
- Target entity type: The entity type being documented
- Usually
nodefor articles - Can be any content entity type
-
Must have bundle support (content types)
-
Incident entity type: The entity type representing the incident
- Usually
nodefor support tickets - Can be any content entity type
- Must have bundle support
Example Configuration
Label: Support Ticket to Article
Machine name: support_to_article
Description: Links support tickets to knowledge base articles. Use when resolving a ticket with existing or new documentation.
Target entity type: node
Incident entity type: node
- Click "Save"
Managing Knowledge Type Fields
After creating a knowledge type, you can add custom fields:
- Click "Manage fields" for your knowledge type
- Add fields relevant to your workflow:
Suggested Fields
For support workflows: - Resolution time (Number field): Time spent resolving - Resolution quality (List field): Excellent, Good, Fair, Poor - Customer feedback (Text field): Customer's response - Internal notes (Text area): Private notes
For documentation workflows: - Documentation status (List field): Complete, Needs update, Obsolete - Review date (Date field): When to review next - Subject matter expert (Entity reference): SME responsible - Related articles (Entity reference): Other relevant content
For training workflows: - Training effectiveness (Number field): 1-5 rating - Participant count (Number field): Number of attendees - Follow-up required (Boolean): Needs follow-up - Certification issued (Boolean): Certificate provided
Knowledge Type Permissions
Each knowledge type can have custom permissions:
- Go to your knowledge type's "Permissions" tab
- Configure per-type permissions:
- Create knowledge links of this type
- Edit knowledge links of this type
- Delete knowledge links of this type
- View knowledge links of this type
This allows fine-grained control. For example: - Only support team can link support tickets - Anyone can link issues to solutions - Only trainers can link training materials
Field Configuration
After creating a knowledge type, add a knowledge field to your content types.
Adding a Knowledge Field
- Navigate to Structure > Content types
- Select a content type (e.g., "Article")
- Click "Manage fields"
- Click "Add field"
- Select "Knowledges" from the "General" category
- Enter field label (e.g., "Knowledge Links", "Support Tickets", "Related Issues")
- Click "Save and continue"
Storage Settings
These settings are configured once and cannot be changed after knowledge links exist.
Knowledge Type Selection
- Knowledge type: Choose which knowledge type this field uses
- Must match your content architecture
- Example: "Support Ticket to Article" for an Article content type
Frequency Thresholds
These define time periods for statistics:
- Short frequency (days): Default 15
- Recent activity window
- "New" or "hot" knowledge
-
Example: Links created in last 15 days
-
Medium frequency (days): Default 90
- Recent history window
- Regular usage tracking
-
Example: Links created in last 3 months
-
Long frequency (days): Default 365
- Historical tracking
- Long-term trends
- Example: Links created in last year
Choosing values: - High-volume sites: Shorter periods (7, 30, 180) - Low-volume sites: Longer periods (30, 180, 730) - Match your content lifecycle
Example Configuration by Industry
Software support:
Short: 7 days (urgent issues)
Medium: 30 days (monthly cycle)
Long: 90 days (quarterly review)
Healthcare:
Short: 30 days (monthly review)
Medium: 90 days (quarterly audit)
Long: 365 days (annual compliance)
Education:
Short: 14 days (two-week modules)
Medium: 120 days (semester)
Long: 365 days (academic year)
Field Settings
These settings can be changed anytime.
Display Settings
- Links per page: Number of knowledge links to display
- Default: 50
- Range: 1-1000
- Consider page performance with high numbers
Anonymous User Settings
Control anonymous user interaction:
- Anonymous posters may not enter contact information
- Best for: Internal systems, authenticated-only sites
-
Security: Highest
-
Anonymous posters may leave contact information
- Best for: Public support systems
- Allows optional email/name
-
Security: Medium
-
Anonymous posters must leave contact information
- Best for: Public sites requiring accountability
- Requires email/name for anonymous users
- Security: Medium-High
Note: Anonymous users must also have the "Post knowledge" permission.
Form Display Configuration
Control how the knowledge field appears on content edit forms:
- Click "Manage form display"
- Configure the knowledge field widget
- Available options:
- Position: Drag to reorder
- Label: Show/hide the field label
- Widget: Usually "Knowledge default"
- Weight: Display order
View Display Configuration
Control how knowledge links display on content:
- Click "Manage display"
- Configure for each view mode (Default, Teaser, Full content, etc.)
- Available formatters:
Knowledge Default Formatter
Shows complete knowledge link information: - List of linked content - Statistics (counts, frequency) - Links to view/edit/delete - User information - Timestamps
Settings: - Show statistics - Links per page - Display format (flat list, threaded)
Knowledge Competency Formatter
Shows competency-related information: - User competency status - Role progression - Competency scores
Settings: - Show progress bars - Display role badges - Show completion percentage
Knowledge Permalink Formatter
Shows direct links to knowledge entities: - Permanent links to knowledge - Useful for exports or reports
Settings: - Link text - Icon display - Open in new window
Competency System
The competency system tracks user progression through knowledge management roles.
Competency Entity Configuration
- Navigate to Structure > Knowledge > Competency (
/admin/structure/knowledge/competency) - Click "Manage fields"
Built-in Competency Fields
These fields are automatically provided:
- User: The learner being tracked
- Roles: Multi-value field tracking progress per role
- Candidate
- Contributor
- Publisher
- Custom roles (add via custom fields)
- Correct: Total correct competencies
- Total: Total competencies required
- Completed: Timestamp when all competencies met
- Created: Record creation date
- Changed: Last modification date
Adding Custom Competency Fields
Add boolean fields to create competency checkpoints:
- Click "Add field"
- Select "Boolean"
- Name your competency, for example:
- "Can create accurate knowledge links"
- "Understands citation vs. direct knowledge"
- "Follows article quality standards"
- "Completes links within 24 hours"
-
"Achieves 90%+ accuracy rating"
-
Configure settings:
- On label: "Competency achieved" or "Yes"
- Off label: "Not yet achieved" or "No"
-
Default value: Usually unchecked
-
Repeat for each competency you want to track
Role-Based Competency Groups
Organize competencies by role using field groups:
Candidate Competencies: - Basic system navigation - Creating simple knowledge links - Following standard procedures - Requesting help when needed
Contributor Competencies: - Creating complex knowledge links - Identifying reuse opportunities - Maintaining link accuracy - Mentoring candidates
Publisher Competencies: - Reviewing others' work - Approving content for publication - Setting quality standards - Analyzing reports
Competency Calculation
The system automatically calculates:
Per Role: - Correct: Boolean fields marked true for that role - Total: Number of boolean fields for that role
Overall: - Correct: Sum of correct across all roles - Total: Sum of total across all roles - Percentage: (Correct / Total) * 100 - Completed: Set when percentage reaches 100%
Coach and Leader Assignment
Manual Assignment
Assign coaches and leaders via user profile:
- Edit a user account
- Find these fields:
- Knowledge Coach: Select a user who will mentor this person
- Knowledge Leader: Select a user who will approve promotions
Coach responsibilities: - Guide day-to-day learning - Propose promotions - Answer questions - Monitor progress
Leader responsibilities: - Approve promotions proposed by coaches - Set competency standards - Review overall team performance - Make final decisions on advancement
Automatic Assignment via LDAP
If using the Knowledge LDAP submodule:
- Navigate to Configuration > Knowledge > LDAP
- Configure:
- LDAP server: Select configured server
- Leader attribute: LDAP attribute containing leader DN
- Coach attribute: LDAP attribute containing coach DN
-
Sync frequency: How often to update
- On user login
- On user save
- Via cron (hourly, daily)
-
Test the configuration
- Save settings
Users will automatically get their coach/leader from LDAP attributes.
Competency Approval Workflow
Proposing Advancement
- Coach reviews learner's competency progress
- When ready, coach opens competency entity
- Coach clicks "Propose for [Role]"
- System records:
- Proposed timestamp
- Proposing coach
- Role being proposed for
- Leader receives notification (if configured)
Approving Advancement
- Leader reviews proposal
- Verifies competency achievements
- Clicks "Approve for [Role]"
- System records:
- Approved timestamp
- Approving leader
- Role granted
- User permissions update automatically
- User receives notification (if configured)
Rejection or Deferral
Leaders can: - Reject proposal with feedback - Request additional evidence - Set conditions for re-proposal - Assign additional competency requirements
Adherence Tracking
Adherence tracking ensures knowledge linking best practices are followed.
Adherence Entity Configuration
- Navigate to Structure > Knowledge > Adherence (
/admin/content/knowledge/adherence) - Click "Manage fields" (if available)
Built-in Adherence Fields
- Learner: User being evaluated
- Incident: The support case or incident
- Knowledge: The linked knowledge entity
- Article: The target article
- Linked: Was article linked? (Yes/No/NA)
- Reused: Was article reused or created?
- Accurate: Was article accurate?
- Improve: Should article be improved?
- Required: Was article required?
- Found: Could you find appropriate article?
- Disposition: Incident outcome
- Created: Record creation date
- Changed: Last modification date
Adherence Evaluation Criteria
Configure these settings to match your organization's standards:
Linking Requirements
Define when knowledge linking is required:
Required scenarios: - All customer-facing incidents - Incidents lasting >X minutes - Escalated incidents - Billing issues - Product defects - Training requests
Optional scenarios: - Internal questions - Quick troubleshooting - Administrative tasks - System maintenance
Accuracy Standards
Define what makes a knowledge link accurate:
- Resolves the stated problem
- Uses current product version
- Follows company standards
- Verified by customer
- No corrections needed
Quality Standards
Define when articles need improvement:
- Outdated screenshots
- Missing steps
- Unclear instructions
- Poor formatting
- Incorrect information
- Missing troubleshooting
Automated Adherence Tracking
Set up automatic adherence record creation:
Via Custom Module
Create a custom module that:
- Listens for incident closure events
- Checks if knowledge was linked
- Creates adherence record automatically
- Flags exceptions for review
Example hook:
/**
* Implements hook_entity_update().
*/
function mymodule_entity_update(EntityInterface $entity) {
if ($entity->getEntityTypeId() == 'node' && $entity->bundle() == 'support_ticket') {
if ($entity->get('field_status')->value == 'closed') {
\Drupal::service('mymodule.adherence')->createRecord($entity);
}
}
}
Via Rules Module
If using the Rules module:
- Create a rule triggered on incident status change
- Add condition: Status equals "Closed"
- Add action: Create adherence entity
- Configure field values
- Save rule
Adherence Reporting
Configure reports to track adherence:
- Create Views for adherence data
- Group by:
- User (learner)
- Team
- Time period
- Disposition
- Calculate:
- Adherence rate
- Average accuracy
- Improvement needs
- Gap analysis
Quality Assessment
Quality assessment provides structured reviews of knowledge articles.
Quality Entity Configuration
- Navigate to Structure > Knowledge > Quality (
/admin/structure/knowledge/quality) - Click "Manage fields"
Built-in Quality Fields
- Entity: The article being reviewed
- User: Reviewer
- Correct: Number of criteria met
- Total: Total criteria
- Status: Published/Unpublished
- Created: Review date
- Changed: Last update
Adding Quality Criteria
Add boolean fields for each quality checkpoint:
Content Quality Criteria
- Accuracy
- "Information is factually correct"
- "Matches current product version"
-
"No contradictions present"
-
Completeness
- "All necessary steps included"
- "Prerequisites clearly listed"
-
"Expected outcomes described"
-
Clarity
- "Language is clear and concise"
- "Terms are defined"
- "Instructions are unambiguous"
Format Quality Criteria
- Structure
- "Uses appropriate headings"
- "Steps are numbered"
-
"Formatting is consistent"
-
Visuals
- "Screenshots are current"
- "Images are clear and relevant"
-
"Diagrams enhance understanding"
-
Organization
- "Logical flow"
- "Related content linked"
- "Table of contents present (if needed)"
Compliance Criteria
- Standards
- "Follows style guide"
- "Uses approved terminology"
-
"Meets accessibility standards"
-
Metadata
- "Tags are appropriate"
- "Categories correct"
- "Audience identified"
Quality Scoring
The system automatically scores using:
Score = 100 * ((correct - incorrect) / total)
Where:
- correct = criteria marked Yes/True
- incorrect = criteria marked No/False
- total = all criteria fields
Score Interpretation
Configure thresholds for your organization:
| Score | Status | Action Required |
|---|---|---|
| 90-100 | Excellent | Approve for publication |
| 75-89 | Good | Minor improvements, then publish |
| 60-74 | Fair | Significant revision needed |
| 50-59 | Poor | Major revision required |
| <50 | Failing | Complete rewrite recommended |
Quality Review Workflow
With Content Moderation
Integrate quality reviews with Content Moderation:
- Article is submitted for review (Draft → Needs Review)
- Quality review is created
- Based on quality score:
- High score: Automatically approve (Needs Review → Published)
- Medium score: Request changes (Needs Review → Draft)
- Low score: Reject (Needs Review → Archived)
Configure in Structure > Knowledge > Quality > Settings
Manual Review Process
Without Content Moderation:
- Reviewer creates quality entity
- Completes quality criteria
- Reviews calculated score
- Adds notes/feedback
- Notifies author
- Author revises article
- Re-review if necessary
Permissions
Configure granular permissions for each role.
Permission Strategy
Role: Authenticated User
✓ Access knowledge
✓ View own competency
✗ Post knowledge (require training first)
Role: Knowledge Candidate
✓ Access knowledge
✓ Post knowledge
✓ Edit own knowledge
✓ View own competency
✗ Skip knowledge approval
Role: Knowledge Contributor
✓ Access knowledge
✓ Post knowledge
✓ Skip knowledge approval
✓ Edit own knowledge
✓ View own competency
✓ View learner competency (if coach)
✗ Edit other's competency
Role: Knowledge Publisher
✓ Access knowledge
✓ Post knowledge
✓ Skip knowledge approval
✓ Edit own knowledge
✓ Edit other's competency
✓ View any competency
✓ Add quality entities
✓ View learner competency
✓ View follower competency
✗ Administer knowledge
Role: Knowledge Manager
✓ Administer knowledge
✓ Access knowledge reports
✓ Edit other's competency
✓ Administer adherence entities
✓ Administer quality entities
✓ View unpublished entities
✗ Administer knowledge types (restrict to admins)
Advanced Permissions
For fine-grained control:
- Per-type permissions: Different permissions per knowledge type
- Field-level permissions: Use Field Permissions module
- View-based access: Control what users see in lists
- Organic groups integration: Permissions per group
Advanced Configuration
Integration with Other Modules
Search API Integration
Already required, but configure for better results:
- Create search index for knowledge entities
- Include fields:
- Incident reference
- Target entity reference
- User
- Timestamps
- Custom fields
- Configure relevance
- Add facets for filtering
Views Integration
The module provides Views data for: - Knowledge entities - Knowledge types - Competency entities - Adherence entities - Quality entities
Create custom views for: - Dashboards - Reports - User pages - Content displays
Charts Integration
Create visual reports:
- Create a View of knowledge data
- Add Charts display
- Configure:
- Chart type (bar, line, pie)
- X-axis: Date, user, type
- Y-axis: Count, score
- Add to dashboard
Performance Optimization
For High-Volume Sites
- Disable real-time statistics:
- Use cron-based calculation
-
Update statistics hourly or daily
-
Add database indexes:
CREATE INDEX idx_knowledge_dates ON knowledge (created, changed); CREATE INDEX idx_knowledge_entity ON knowledge (entity_type, entity_id); -
Use caching:
- Enable Views caching
- Use render caching for knowledge displays
-
Configure Page Cache and Dynamic Page Cache
-
Limit query results:
- Set reasonable "links per page" values
- Use pagination
- Implement infinite scroll for large lists
Backup and Maintenance
Regular Maintenance Tasks
Daily: - Check error logs for knowledge-related issues - Monitor statistics calculation performance
Weekly: - Review adherence rates - Check quality score trends - Audit competency progressions
Monthly: - Archive old adherence records - Clean up duplicate knowledge links - Review and update quality criteria - Audit permission assignments
Backup Strategy
Include in regular backups: - Database tables (knowledge, knowledge_competency, etc.) - Configuration (knowledge types, field config) - Custom fields and field data - Views configurations - Permission settings
Use Drush for exports:
# Export all knowledge configuration
drush config:export --include-dependencies knowledge
# Backup database
drush sql:dump > knowledge-backup-$(date +%Y%m%d).sql
Next Steps
After configuration:
- Test with sample data: Create test knowledge links, competencies, adherence, and quality records
- Train users: Provide training on workflows and best practices
- Monitor usage: Check reports regularly during initial rollout
- Iterate: Adjust configuration based on user feedback
- Review the User Guide: Learn how to use configured features
For troubleshooting or advanced customization, see the API Documentation.