## Summary <!-- Kurz: Was ändert sich und warum? --> ## Spec-Driven Development (SDD) - [ ] Es gibt eine Spec unter `specs/<NNN>-<feature>/` - [ ] Enthaltene Dateien: `plan.md`, `tasks.md`, `spec.md` - [ ] Spec beschreibt Verhalten/Acceptance Criteria (nicht nur Implementation) - [ ] Wenn sich Anforderungen während der Umsetzung geändert haben: Spec/Plan/Tasks wurden aktualisiert ## Implementation - [ ] Implementierung entspricht der Spec - [ ] Edge cases / Fehlerfälle berücksichtigt - [ ] Keine unbeabsichtigten Änderungen außerhalb des Scopes ## Tests - [ ] Tests ergänzt/aktualisiert (Pest/PHPUnit) - [ ] Relevante Tests lokal ausgeführt (`./vendor/bin/sail artisan test` oder `php artisan test`) ## Migration / Config / Ops (falls relevant) - [ ] Migration(en) enthalten und getestet - [ ] Rollback bedacht (rückwärts kompatibel, sichere Migration) - [ ] Neue Env Vars dokumentiert (`.env.example` / Doku) - [ ] Queue/cron/storage Auswirkungen geprüft ## UI (Filament/Livewire) (falls relevant) - [ ] UI-Flows geprüft - [ ] Screenshots/Notizen hinzugefügt ## Notes <!-- Links, Screenshots, Follow-ups, offene Punkte --> Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #53
53 lines
2.5 KiB
Markdown
53 lines
2.5 KiB
Markdown
# Feature Specification: Administrative Templates (Group Policy Configurations) (010)
|
||
|
||
**Feature Branch**: `feat/010-admin-templates`
|
||
**Created**: 2025-12-29
|
||
**Status**: Draft
|
||
**Input**: `spechistory/spec.md` (legacy v1 scope), `references/IntuneManagement-master` (definitionValues/presentationValues pattern)
|
||
|
||
## Overview
|
||
Add reliable coverage for **Administrative Templates** (`groupPolicyConfiguration`) in the existing inventory/backup/version/restore flows.
|
||
|
||
Administrative Templates are not fully represented by the base entity alone; the effective policy settings live in:
|
||
- `definitionValues` (with expanded `definition`)
|
||
- `presentationValues` per definitionValue (with expanded `presentation`)
|
||
|
||
## In Scope
|
||
- Policy type: `groupPolicyConfiguration` (`deviceManagement/groupPolicyConfigurations`)
|
||
- Snapshot capture hydrates:
|
||
- `definitionValues?$expand=definition`
|
||
- `presentationValues?$expand=presentation` for each definitionValue
|
||
- Restore supports “snapshot as source of truth” for Admin Templates settings:
|
||
- delete existing definitionValues
|
||
- recreate definitionValues + presentationValues from snapshot
|
||
- UI shows a readable “Normalized settings” view for Admin Templates (definitions + values).
|
||
|
||
## Out of Scope (v1)
|
||
- Translating every ADMX value into Intune-portal-identical wording for every template
|
||
- Advanced partial-restore / per-setting selection
|
||
|
||
## User Scenarios & Testing *(mandatory)*
|
||
|
||
### User Story 1 — Inventory + readable view (P1)
|
||
As an admin, I can open an Administrative Template policy and see its effective configured settings (not only metadata).
|
||
|
||
**Acceptance**
|
||
1. Policy detail shows a structured list/table of configured settings (definition + value).
|
||
2. Policy Versions store the hydrated settings and render them in “Normalized settings”.
|
||
|
||
### User Story 2 — Backup/Version capture includes definition values (P1)
|
||
As an admin, a backup/version of an Administrative Template includes the `definitionValues` + `presentationValues`.
|
||
|
||
**Acceptance**
|
||
1. Backup payload contains `definitionValues` array.
|
||
2. Each definitionValue includes expanded `definition` and a `presentationValues` collection (when present).
|
||
|
||
### User Story 3 — Restore settings (P1)
|
||
As an admin, restoring an Administrative Template brings the target tenant’s definition values back to the snapshot state.
|
||
|
||
**Acceptance**
|
||
1. Restore deletes existing definitionValues before recreate.
|
||
2. Restore recreates definitionValues and their presentationValues.
|
||
3. Clear per-item audit outcomes on failures.
|
||
|