Files
VITEC-website/.gitignore
T
orascheandClaude Fable 5 6961254e57 Workbook import phase 1: manifest-driven batch command
Implements the 18.09. strategy's phase 1 on top of the existing single
importer (which stays the one write path):

- new vitec:import-product-workbooks: runs vitec:import-product-workbook
  per manifest entry (in-process sub-command), aggregates a per-file
  report (writes/unchanged/na, URL-mismatch and error flags, details on
  -v or failure) plus a summary; without --apply every run is a dry
  run; --only filters
- migrations/products_xlsx/ now holds working copies of all 100 agency
  workbooks in their category folders (git-ignored) plus the TRACKED
  manifest.json: workbook path -> product slug, family entries mark the
  K-level landing pages (never imported), product null = unresolved.
  Generated from the 18.09. analysis + sitemap column K:
  68 product / 17 family / 15 open
- --init-manifest resolves open entries against the full product table
  (hidden records included): URL segment/filename vs slug, normalized
  title, unique slug prefix; only unambiguous hits are written back
- single command compare is now tolerant of the RTE storage transform
  (whitespace collapse + <p>-wrap simulation), fixing the known
  every-run-WRITE false positive on re-imports

Post-dry-run hardening, applied the same day (69 products, 785 field
writes across two runs, zero errors, verified against the live JSON):

- PROTECTED_FIELDS title/urltitle in the single command: the stored
  module mapping would have overwritten six canonical sitemap-V2
  product titles
- the stored mapping predated the 18.09. defaults and silently dropped
  `highlights` on every product; the single command now merges
  DEFAULT_MAPPING under the stored mapping (defaults as base, stored
  as per-field override)
- known limitation for phase 2: the g: composed fields report WRITE on
  every run (RTE transform alters ul/strong markup beyond the p-wrap
  normalisation) - the change watch must compare against stored
  imported values, not the database

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-24 15:50:16 +02:00

131 lines
2.9 KiB
Plaintext

# ==================================================
# TYPO3 CMS v13 - Composer-based project
# Projekt: VITEC
# ==================================================
# --------------------------------------------------
# Environment & Secrets
# --------------------------------------------------
.env
.env.*
!.env.example
/config/system/settings.php
/config/system/additional.php
auth.json
# --------------------------------------------------
# Composer dependencies
# --------------------------------------------------
/vendor/
/bin/
# --------------------------------------------------
# TYPO3 system directories
# --------------------------------------------------
/var/
/public/typo3/
/public/typo3temp/
/public/typo3_src
/public/index.php
/public/_assets/
/public/typo3conf/ext/*
/public/typo3conf/l10n/
/public/typo3conf/PackageStates.php
/public/typo3conf/PackageStates.php.*
/public/typo3conf/ENABLE_INSTALL_TOOL
/public/typo3conf/*.log
# --------------------------------------------------
# User-generated content
# --------------------------------------------------
/public/fileadmin/
/public/uploads/
/public/_frontend/
# --------------------------------------------------
# Projektspezifisch ignoriert
# --------------------------------------------------
check_products.php
# --------------------------------------------------
# Node.js / Frontend build tools
# --------------------------------------------------
/node_modules/
/dist/
/build/
# --------------------------------------------------
# IDE & Editor settings
# --------------------------------------------------
.idea/
.vscode/
*.iml
*.code-workspace
.fleet/
*.sublime-project
*.sublime-workspace
.buildpath
.project
.settings/
# --------------------------------------------------
# OS metadata
# --------------------------------------------------
.DS_Store
Thumbs.db
ehthumbs.db
Desktop.ini
.TemporaryItems
# --------------------------------------------------
# Testing & CI
# --------------------------------------------------
/Build/*
!/Build/Patches/
.php_cs.cache
.php-cs-fixer.cache
phpunit.xml
.phpunit.result.cache
# --------------------------------------------------
# Temporary & backup files
# --------------------------------------------------
*.bak
*.swp
*.swo
*~
*.log
*.cache
*~[0-9]*
# --------------------------------------------------
# Security
# --------------------------------------------------
phpver.php
phpinfo.php
# --------------------------------------------------
# AI tools
# --------------------------------------------------
CLAUDE.local.md
.aider*
.continue/
# Working backups created by the SSHFS-deploy workflow
*.bak.*
# TYPO3 auto-generated public assets
/public/_assets_install/
# local developer scratch notes
.dev-notes.md
# Agency product workbooks - working copies synced from Nextcloud
# (Material/Products). The manifest IS tracked: it documents which
# workbook feeds which product record.
migrations/products_xlsx/*
!migrations/products_xlsx/manifest.json