Advanced Features Overview
This section covers advanced BRC Core features designed for power users, administrators, and those who need to customize or extend BRC Core functionality beyond basic operations.
Advanced Feature Management
Custom Feature Conditions
Creating Complex Conditions:
Beyond basic user and group filters, you can create sophisticated feature conditions:
Multi-Criteria Conditions:
Filter Example: 'ADMIN|MANAGER' (User groups)
Logic: Users in either ADMIN or MANAGER groups get access
Company-Specific Features:
Condition Code: COMPANY_SPECIFIC
Function Code: COMPANY
Filter: 'COMPANY1|COMPANY2' (Enable for specific companies)
Date-Based Conditions:
Condition Code: PILOT_PERIOD
Function Code: USER (with custom logic)
Filter: Users during specific date ranges
Feature Condition Programming
Integration Events for Custom Logic:
Use the OnAddConditionsToLibraryEvent to add custom feature conditions:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"BRC Core Feature Mgmt.", 'OnAddConditionsToLibraryEvent', '', false, false)]
local procedure OnAddCustomConditions()
begin
// Add your custom condition logic here
end;
Custom Function Development:
Extend the feature management system with custom filtering functions by subscribing to OnAddFunctionsToLibraryEvent.
Feature Usage Analytics
Monitoring Feature Adoption:
Use BRC Core Feature Usage Queries to analyze:
- Which features are most/least used
- User adoption patterns
- Condition effectiveness
Query Tables:
BRCCoreFeatureUsrMemWithGrp- User membership with groupsBRCCoreFeatureValidFeatures- Valid features per userBRCCoreFeatureCondsInUse- Active conditions
Advanced Background Monitoring
Custom Monitor Actions
Extending Monitor Response Actions:
Create custom response actions for specific error scenarios:
Define Custom Action Categories:
- Open BRC Core BM Category Receiver
- Create categories for different error types
- Assign specific receivers and response procedures
Configure Automated Responses:
- Set up automated email notifications
- Define escalation procedures
- Configure retry logic for specific job types
Advanced Error Handling
Custom Error Processing:
Subscribe to monitor events to implement custom error handling:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"BRC Core BM Job Queue Monitor", 'OnAfterProcessError', '', false, false)]
local procedure OnAfterProcessJobQueueError(var JobQueueEntry: Record "Job Queue Entry")
begin
// Custom error handling logic
end;
Integration with External Monitoring Systems:
- Configure webhook notifications to external systems
- Send telemetry data to centralized monitoring platforms
- Integrate with ITSM systems for automated ticket creation
Performance Optimization
Monitor Performance Tuning:
Optimize Monitor Frequency:
- Adjust Standard Monitor Time based on job queue load
- Use different frequencies for critical vs. non-critical jobs
- Monitor system performance impact
Selective Monitoring:
- Configure monitoring to focus on specific job queue categories
- Exclude low-priority jobs from frequent monitoring
- Implement tiered monitoring strategies
Advanced Currency Rate Management
Custom Currency Rate Providers
Adding New Rate Providers:
Extend the currency rate service system to support additional providers:
Service Registration:
- Create new entries in BRC Curr Exch Rate Service table
- Define service-specific parameters and endpoints
Custom Service Implementation: Subscribe to currency rate events to add custom providers:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"BRC Curr Exch Rate Service", 'OnBeforeExecuteService', '', false, false)]
local procedure OnBeforeExecuteCustomService(var Handled: Boolean)
begin
// Custom currency rate retrieval logic
end;
Rate Override and Validation
Implementing Rate Validation Rules:
Rate Variance Checking:
- Set up automatic validation for unusual rate changes
- Configure tolerance limits for rate fluctuations
- Implement approval workflows for significant changes
Manual Override Procedures:
- Define authorization levels for rate overrides
- Implement audit trails for manual rate changes
- Set up notification systems for override activities
Advanced Rate Caching
Optimizing Rate Updates:
Cache Management:
- Configure BRC Curr Exch. Rate Cache for performance
- Implement cache invalidation strategies
- Monitor cache hit rates and effectiveness
Bulk Rate Processing:
- Schedule bulk updates during off-hours
- Implement parallel processing for multiple currencies
- Configure error recovery for partial update failures
Advanced Price Book Management
Custom Price Calculation Engines
Extending Price Book Functionality:
- Custom Calculation Logic: Subscribe to price book events to implement custom pricing:
[EventSubscriber(ObjectType::Codeunit, Codeunit::BRCCorePBEngine, 'OnBeforeCalculatePriceBook', '', false, false)]
local procedure OnBeforeCustomPriceCalculation(var PriceBook: Record BRCCorePriceBook)
begin
// Custom price calculation logic
end;
- Advanced Scheduling:
- Implement complex update schedules using BRCCorePBFreqRunCheck interface
- Create conditional update logic based on market conditions
- Set up event-driven price updates
Price Book Performance Optimization
Large Dataset Management:
Incremental Updates:
- Configure price books to update only changed items
- Implement delta processing for large catalogs
- Use filtering to optimize calculation scope
Parallel Processing:
- Split large price books into smaller segments
- Run multiple calculation jobs simultaneously
- Monitor resource usage during bulk operations
Advanced GDPR Management
Custom Anonymization Rules
Extending Data Anonymization:
Custom Field Anonymization:
- Configure BRC Core GDPR Related Fields for custom tables
- Define anonymization patterns for specific data types
- Implement reversible vs. irreversible anonymization
Conditional Anonymization:
- Set up rules based on customer attributes
- Implement geographic-specific anonymization rules
- Configure time-based anonymization policies
Advanced Data Deletion
Comprehensive Data Management:
Related Record Processing:
- Configure BRC Core GDPR Related Tables for complete data removal
- Implement cascade deletion rules
- Set up orphan record cleanup procedures
Audit and Compliance:
- Maintain deletion audit trails
- Generate compliance reports
- Implement legal hold procedures
Advanced Administration Tools
System Diagnostics and Optimization
Advanced Diagnostic Procedures:
Performance Analysis:
- Use BRC Admin Tool Mgt. for deep system analysis
- Monitor table growth and performance impacts
- Identify optimization opportunities
Custom Diagnostic Tools:
- Extend the admin toolbox with custom utilities
- Create specialized diagnostic procedures
- Implement automated health checks
Advanced User Management
Sophisticated Access Control:
Dynamic Permission Assignment:
- Implement context-aware permission systems
- Create time-based access controls
- Set up location or department-based restrictions
Usage Analytics:
- Track feature usage patterns
- Monitor user behavior and adoption
- Generate usage reports for compliance
Integration and Extension Development
API Integration
Extending BRC Core with External Systems:
Webhook Integration:
- Set up outbound webhooks for key events
- Configure inbound API endpoints for external triggers
- Implement secure API authentication
Data Synchronization:
- Create bidirectional sync with external systems
- Implement conflict resolution strategies
- Set up real-time vs. batch sync options
Custom Development Guidelines
Best Practices for Extensions:
Event-Driven Architecture:
- Use integration events rather than direct modifications
- Maintain upgrade compatibility
- Document custom extensions thoroughly
Performance Considerations:
- Minimize database impact of customizations
- Use appropriate data structures and indexing
- Implement proper error handling and logging
Advanced Configuration Patterns
Multi-Company Scenarios
Enterprise Deployment Strategies:
Centralized vs. Distributed Configuration:
- Design configuration inheritance patterns
- Implement company-specific overrides
- Manage shared vs. isolated features
Data Synchronization Across Companies:
- Configure cross-company currency rate sharing
- Implement centralized feature management
- Set up consolidated monitoring
High Availability and Disaster Recovery
Enterprise Resilience:
Redundancy Configuration:
- Set up failover procedures for external services
- Configure backup monitoring systems
- Implement service health checks
Data Backup and Recovery:
- Design backup strategies for BRC Core configuration
- Test recovery procedures regularly
- Document disaster recovery processes
Troubleshooting Advanced Scenarios
Complex Performance Issues
Advanced Debugging Techniques:
Performance Profiling:
- Use Application Insights for detailed performance analysis
- Identify bottlenecks in custom implementations
- Optimize database queries and operations
Scaling Challenges:
- Address high-volume processing issues
- Optimize for large user bases
- Implement efficient caching strategies
Integration Debugging
Multi-System Problem Resolution:
Cross-System Tracing:
- Implement correlation IDs across systems
- Set up distributed logging and monitoring
- Create debugging procedures for integration points
Service Dependency Management:
- Monitor external service availability
- Implement circuit breaker patterns
- Set up graceful degradation procedures
Advanced Security Considerations
Security Hardening
Enhanced Security Measures:
Access Monitoring:
- Implement detailed audit logging
- Monitor privileged access patterns
- Set up anomaly detection for unusual access
Data Protection:
- Implement field-level security where needed
- Configure data encryption for sensitive fields
- Set up compliance monitoring
These advanced features allow you to fully leverage BRC Core’s extensibility and power, enabling sophisticated business scenarios and enterprise-grade implementations.