Files
ImpTune/.planning/REQUIREMENTS.md
T
2026-04-10 10:45:42 +02:00

5.1 KiB

Requirements: ImpTune

Defined: 2026-04-10 Core Value: Generate a complete, working printer deployment package (script + drivers + icon) in minutes instead of manually scripting each printer setup.

v1 Requirements

Requirements for initial release. Each maps to roadmap phases.

Driver Management

  • DRV-01: User can upload a driver package (ZIP containing INF + supporting files)
  • DRV-02: System parses uploaded INF files and extracts valid driver names (DriverDesc)
  • DRV-03: User can select driver name from parsed INF dropdown (no free-text)
  • DRV-04: Driver packages are persisted on Docker volume across container restarts
  • DRV-05: System flags unused files in driver packages to help reduce package size

Printer Configuration

  • PRNT-01: User can set printer display name
  • PRNT-02: User can set printer IP address or hostname
  • PRNT-03: System auto-suggests port name from IP (user can override)
  • PRNT-04: User can set duplex mode (one-sided, long-edge, short-edge)
  • PRNT-05: User can set color vs. grayscale default
  • PRNT-06: User can set paper size (A4, Letter, Legal at minimum)
  • PRNT-07: User can set collate on/off
  • PRNT-08: User can assign printer to a client/tenant label
  • PRNT-09: Printer configurations are persisted in SQLite across sessions
  • PRNT-10: User can regenerate a package from saved config without re-uploading drivers

Script Generation

  • SCRPT-01: System generates PowerShell install script (pnputil staging + Add-PrinterPort + Add-PrinterDriver + Add-Printer + Set-PrintConfiguration)
  • SCRPT-02: System generates PowerShell uninstall script (Remove-Printer + Remove-PrinterDriver + Remove-PrinterPort)
  • SCRPT-03: System generates Intune detection script (registry check for printer name)
  • SCRPT-04: Generated install script detects SYSTEM vs. user context and self-elevates via UAC when run by user
  • SCRPT-05: Generated install script includes 64-bit WOW64 relaunch guard for Intune's 32-bit execution context

Package Export

  • PKG-01: User can export a complete .intunewin package (script + drivers + detection + metadata)
  • PKG-02: .intunewin is generated natively in Python (no IntuneWinAppUtil.exe dependency)
  • PKG-03: User can export a NinjaRMM ZIP package (install script + driver folder)
  • PKG-04: User can upload a custom PNG icon for Intune app display (256x256, max 750KB)
  • PKG-05: User can preview and copy Intune install/uninstall command strings before export

Infrastructure

  • INFRA-01: Application runs as a single Docker container
  • INFRA-02: Application has minimal runtime dependencies (no Node.js, no external DB)

v2 Requirements

Deferred to future release. Tracked but not in current roadmap.

Bulk Operations

  • BULK-01: User can import multiple printers from CSV
  • BULK-02: User can export all printers for a client as a batch

Advanced Features

  • ADV-01: Package version history per printer
  • ADV-02: API / CLI mode for CI/CD integration
  • ADV-03: Print server migration path (Printbrm import)

Out of Scope

Feature Reason
User authentication / logins Internal tool on private network; simplicity over security
Direct Intune API push Requires per-tenant OAuth, multi-tenant app registration — scope explosion
Direct NinjaRMM API push Same as Intune API push — keep the tool as a package generator
Real-time printer status / monitoring Requires SNMP polling and network access to client sites — different product
Universal Print integration Different deployment model, requires Azure subscription
Mobile / tablet UI Target users are at workstations; no validated demand
Multi-language / localization English only for v1; no demand signal
Full audit log / deployment history MSPs already have Intune/RMM logs

Traceability

Which phases cover which requirements. Updated during roadmap creation.

Requirement Phase Status
INFRA-01 Phase 1 Pending
INFRA-02 Phase 1 Pending
DRV-01 Phase 2 Pending
DRV-02 Phase 2 Pending
DRV-03 Phase 2 Pending
DRV-04 Phase 2 Pending
DRV-05 Phase 2 Pending
PRNT-01 Phase 3 Pending
PRNT-02 Phase 3 Pending
PRNT-03 Phase 3 Pending
PRNT-04 Phase 3 Pending
PRNT-05 Phase 3 Pending
PRNT-06 Phase 3 Pending
PRNT-07 Phase 3 Pending
PRNT-08 Phase 3 Pending
PRNT-09 Phase 3 Pending
PRNT-10 Phase 3 Pending
SCRPT-01 Phase 4 Pending
SCRPT-02 Phase 4 Pending
SCRPT-03 Phase 4 Pending
SCRPT-04 Phase 4 Pending
SCRPT-05 Phase 4 Pending
PKG-01 Phase 5 Pending
PKG-02 Phase 5 Pending
PKG-03 Phase 5 Pending
PKG-04 Phase 5 Pending
PKG-05 Phase 5 Pending

Coverage:

  • v1 requirements: 27 total
  • Mapped to phases: 27
  • Unmapped: 0

Requirements defined: 2026-04-10 Last updated: 2026-04-10 after roadmap creation