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

  1. Setup Validation: Check GDPR Setup table configuration
  2. Permission Set Creation: Create or validate personal data permission set
  3. Metadata Collection: Gather table and field information
  4. Element Creation: Build hierarchical documentation structure

Data Cleaning Process

  1. Session Start: Create new cleaning session log entry
  2. Filter Application: Apply user-defined filters to target data
  3. Permission Check: Validate user permissions for each operation
  4. Field Cleaning: Clear data with error handling
  5. Logging: Record success/failure for each field operation
  6. 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