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>
131 lines
2.9 KiB
Plaintext
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
|