Architecture
The GDPR Data Management app is built using a modular architecture that integrates seamlessly with Microsoft Dynamics 365 Business Central.
System Overview
┌─────────────────────────────────────────────────────────┐
│ User Interface Layer │
├─────────────────────────────────────────────────────────┤
│ GDPR Register List │ Data Cleaner Log │ Permissions │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ Business Logic Layer │
├─────────────────────────────────────────────────────────┤
│ Documentation Mgt │ Data Cleaner │ Filter Selector │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ Data Layer │
├─────────────────────────────────────────────────────────┤
│ Setup │ Elements │ Categories │ Logs │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────────────────────┐
│ Business Central Platform │
└─────────────────────────────────────────────────────────┘Core Components
Business Logic Layer
DD GDPR Documentation Mgt (Codeunit 11195990)
- Purpose: Manages the initialization and documentation of personal data
- Key Functions:
- Initialize data structure and permission sets
- Create and manage documentation elements
- Handle hierarchical data organization
- Progress tracking for bulk operations
QTEAM Data Cleaner (Codeunit 11195993)
- Purpose: Handles bulk data cleaning operations
- Key Functions:
- Clear personal data from specified fields
- Error handling and logging
- Session management for bulk operations
- Progress reporting and statistics
QteamFilterSelector (Codeunit 11195992)
- Purpose: Provides advanced filtering capabilities
- Key Functions:
- Dynamic filter creation
- Field selection logic
- User permission validation
Data Layer
Configuration Tables
- DD GDPR Setup (11195993): Main configuration settings
- DD GDPR Data Category (11195992): Data category definitions
Documentation Tables
- DD GDPR Documentation Element (11195991): Hierarchical data structure
- DD GDPR Table (11195994): Table-level permissions and metadata
Logging Tables
- QTEAM Data Cleaner Log Entry (11195990): Individual cleaning operations
- QTEAM Cleaner Session Log (11195992): Session-level tracking
User Interface Layer
List Pages
- GDPR Register List (11195995): Main navigation and overview
- Data Cleaner Session Log (11195990): Historical session tracking
- Permissions List (11195993): Permission management
Card Pages
- GDPR Register Card (11195996): Detailed element configuration
- Data Category Card (11195998): Category management
Integration Points
Business Central Integration
- Permission System: Leverages BC permission sets and security
- Table Metadata: Uses BC table and field information
- User Management: Integrates with BC user authentication
- Application Insights: Telemetry integration for monitoring
Extension Architecture
- Object Range: 11195990-11195999 ensures no conflicts
- Dependency Free: No external dependencies for maximum compatibility
- Translation Support: Multi-language capability through BC translation framework
Data Flow
Initialization Process
- Setup Validation: Check GDPR Setup table configuration
- Permission Set Creation: Create or validate personal data permission set
- Metadata Collection: Gather table and field information
- Element Creation: Build hierarchical documentation structure
Data Cleaning Process
- Session Start: Create new cleaning session log entry
- Filter Application: Apply user-defined filters to target data
- Permission Check: Validate user permissions for each operation
- Field Cleaning: Clear data with error handling
- Logging: Record success/failure for each field operation
- Session Complete: Update session statistics and status
Security Architecture
Permission-Based Access
- Role-Based Security: Uses BC permission sets for access control
- Field-Level Permissions: Granular control over data access
- Operation Logging: All operations tracked for audit purposes
Data Protection
- In-Transit: Uses BC's built-in encryption
- At-Rest: Leverages BC database security
- Access Control: Multi-layer permission validation