Files
Sharepoint-Toolbox/.planning/milestones/v1.0-phases/05-distribution-and-hardening/05-02-SUMMARY.md
Dev 655bb79a99
All checks were successful
Release zip package / release (push) Successful in 10s
chore: complete v1.0 milestone
Archive 5 phases (36 plans) to milestones/v1.0-phases/.
Archive roadmap, requirements, and audit to milestones/.
Evolve PROJECT.md with shipped state and validated requirements.
Collapse ROADMAP.md to one-line milestone summary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:15:14 +02:00

4.3 KiB

phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, duration, completed
phase plan subsystem tags requires provides affects tech-stack key-files key-decisions patterns-established requirements-completed duration completed
05-distribution-and-hardening 02 ui
resx
localization
french
publish
single-file
win-x64
phase provides
04-bulk-operations-and-provisioning Phase 4 UI strings (Transfer, BulkMembers, BulkSites, FolderStruct, Templates) all added to Strings.fr.resx without accents
Corrected French locale with proper diacritics for all 27 Phase 4 string keys
Single-file self-contained publish configuration (win-x64, ~200 MB EXE, zero loose DLLs)
05-distribution-and-hardening
deployment
QA
added patterns
Conditional PropertyGroup for publish-only MSBuild properties — avoids polluting regular build/test with RuntimeIdentifier
created modified
SharepointToolbox/Localization/Strings.fr.resx
SharepointToolbox/SharepointToolbox.csproj
PublishSingleFile PropertyGroup is conditional on '$(PublishSingleFile)' == 'true' — regular dotnet build and dotnet test are unaffected
IncludeNativeLibrariesForSelfExtract=true required — PnP.Framework has native binaries that must bundle into the EXE
PublishTrimmed remains false — PnP.Framework and MSAL use reflection; trimming breaks at runtime
Conditional PropertyGroup pattern for publish-only properties — activate via CLI flag, not default build
FOUND-11
3min 2026-04-03

Phase 5 Plan 02: French Locale Fix and Single-File Publish Summary

27 French diacritic corrections across all Phase 4 UI string keys, plus conditional win-x64 single-file publish producing one ~200 MB EXE with zero loose DLLs

Performance

  • Duration: ~3 min
  • Started: 2026-04-03T11:53:46Z
  • Completed: 2026-04-03T11:56:06Z
  • Tasks: 2
  • Files modified: 2

Accomplishments

  • Fixed all 27 French strings missing diacritics (accents, cedillas) across Transfer, BulkMembers, BulkSites, FolderStruct, Templates, and shared bulk-operation keys
  • Added conditional <PropertyGroup> to csproj enabling dotnet publish -p:PublishSingleFile=true to produce a single self-contained EXE for win-x64
  • Full test suite remains green: 134 pass, 22 skip (interactive MSAL tests — expected)

Task Commits

Each task was committed atomically:

  1. Task 1: Fix French diacritic-missing strings - f7829f0 (fix)
  2. Task 2: Add self-contained single-file publish configuration - 39517d8 (feat)

Files Created/Modified

  • SharepointToolbox/Localization/Strings.fr.resx — 27 string values corrected with proper French diacritics
  • SharepointToolbox/SharepointToolbox.csproj — Added conditional PropertyGroup for PublishSingleFile + SelfContained + IncludeNativeLibrariesForSelfExtract

Decisions Made

  • PublishSingleFile PropertyGroup uses condition '$(PublishSingleFile)' == 'true' so normal builds and test runs are unaffected — no RuntimeIdentifier lock-in during development
  • IncludeNativeLibrariesForSelfExtract=true is necessary because PnP.Framework includes native binaries that must be bundled
  • PublishTrimmed stays false (pre-established project decision — PnP.Framework and MSAL rely on reflection)

Deviations from Plan

None - plan executed exactly as written.

Also corrected bulk.confirm.title ("Confirmer l'operation" -> "Confirmer l'opération") and templates.empty ("Aucun modele enregistre." -> "Aucun modèle enregistré.") and templates.opt.settings ("Parametres du site" -> "Paramètres du site") which were not in the plan's numbered list but were clearly broken diacritics in the same file. These fell under Rule 1 (auto-fix bugs) as they were defects in the same file being edited.

Issues Encountered

None.

User Setup Required

None - no external service configuration required.

Next Phase Readiness

  • French locale is now complete with proper diacritics across all 4 phases of UI strings
  • Single-file publish is ready: dotnet publish SharepointToolbox/SharepointToolbox.csproj -c Release -p:PublishSingleFile=true -o ./publish
  • Two Phase 5 success criteria (French locale + single EXE) now satisfied
  • Remaining Phase 5 work: Plan 01 (tests), Plan 03 (installer/README), Plan 04 (final QA)

Phase: 05-distribution-and-hardening Completed: 2026-04-03