Skip to main content

Overview

This section provides information on the configuration management of the Windows Interaction Sensor application. The configuration file (default_config.yaml) contains settings for user session management, logging, interaction capture, and data processing.

Configuration Management

The Windows Interaction Sensor application relies on a configuration file (default_config.yaml) to manage various settings, such as logging, user session management, interaction capture, and data processing.

Configuration File Location

The configuration file is located in the config/ directory and is named default_config.yaml.

Key Sections in the Configuration File

  1. User Session Management

    • Controls settings related to user sessions, such as session timeouts and maximum sessions allowed per user.
    user_session_management:
    session_timeout: 30 # Timeout (in minutes) for user sessions
    max_sessions_per_user: 1 # Maximum number of active sessions allowed per user
  2. Logging Settings

    • Defines the logging configuration, including log file location, log rotation policy, and log levels.
    logging:
    file: 'logs/app.log' # Log file path relative to the application directory
    rotation: 'midnight' # Log rotation policy (options: 'midnight', 'daily', 'weekly', 'monthly')
    backup_count: 7 # How many backup logs to keep
    file_log_level: DEBUG # Log level for the file (options: DEBUG, INFO, WARNING, ERROR, CRITICAL)
    format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' # Log format
    console_log_level: INFO # Log level for console output
    console_format: '%(name)s - %(levelname)s - %(message)s' # Format for console output
  3. Interaction Capture

    • Settings for capturing user interactions, including the output directory for captured interactions, capture duration, and interval.
    interaction_capture:
    output_directory: 'captured_interactions' # Directory where interaction captures are saved
    use_absolute_path: False # Use absolute paths; if False, use relative to the application_path
    capture_duration_seconds: 30 # Duration (in seconds) for each capture session
    capture_interval_seconds: 0 # Interval (in seconds) between capture sessions
  4. Data Processing

    • Controls how captured data is processed, including the output method, directories, API endpoints, and application whitelist.
    data_processing:
    output_method: 'JSON' # Specify 'JSON' for file output or 'API' for sending data to an API
    use_absolute_path: False # Use absolute paths; if False, use relative to the application_path
    data_directory: 'data' # Directory where the processed data will be stored
    interaction_service: 'https://sandbox.penfield.ai/web/api/v1/external/interactions' # API endpoint for interaction data
    whitelist: # Applications allowed for data processing
    - Windows Explorer
    - Adobe Acrobat
    - Notepad++
    - Microsoft Word
    - Windows Start Experience Host
    - Microsoft Excel
    - PyCharm
    check_interval: 10 # Interval (in seconds) between folder checks for new ZIP files
    include_screenshots: False # Include screenshots in the processed data

Modifying the Configuration

To modify the configuration, edit the values in the default_config.yaml file. For example, to change the output directory for interaction capture, update the output_directory under the interaction_capture section.

Example:

interaction_capture:
output_directory: '/new/path/to/captures'
use_absolute_path: True
capture_duration_seconds: 45
capture_interval_seconds: 5

Absolute vs. Relative Paths

  • If use_absolute_path is set to True in either the interaction_capture or data_processing sections, the paths will be resolved as absolute paths.
  • If set to False, the paths will be resolved relative to the application directory.