-
Notifications
You must be signed in to change notification settings - Fork 6
feat: neues 7.0.0 - YForm field conflicts resolution and modern JSON … #171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…Feed API BREAKING CHANGES: - Renamed all YForm fields with neues_ prefix to resolve conflicts with yform_field addon - choice_status → neues_choice_status - datetime_local → neues_datetime_local - domain → neues_domain - Updated tableset.json with new field type names - Migration logic for existing installations NEW FEATURES: - JSON Feed API implementation (JSON Feed 1.1 standard) - Available at: ?rex-api-call=neues_json - Supports same filters as RSS: category_id, lang_id, domain_id - Additional pagination with limit/offset parameters - Enhanced RSS Feed with domain filtering - Improved installation process with ycom-style cache management IMPROVEMENTS: - Documentation cleanup and consistency - Menu renamed from 'Aktuelles' to 'Neues' - Enhanced error handling and migration support - Added comprehensive cleanup tools for duplicate fields Resolves: #170 - YForm field conflicts with yform_field addon
|
Caution Review failedThe pull request is closed. Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Moin! WalkthroughDas PR löst einen Konflikt mit dem yform_field-Addon durch Umbenennung von YForm-Feldtypen (choice_status, datetime_local, domain) in addon-spezifische Namen (neues_choice_status, neues_datetime_local, neues_domain). Versionsbump auf 7.0.0 mit Migration, Cleanup-Scripts und neuer JSON-Feed-API. Changes
Sequence Diagram(s)sequenceDiagram
participant Admin as Admin/Installer
participant Install as install.php
participant Migrate as migrate_v7.php
participant Cleanup as cleanup_v7.php
participant YForm as YForm Manager
participant DB as Datenbank
Admin->>Install: Version 7.0.0 Installation
Install->>Install: Cache löschen (vor Import)
Install->>YForm: Tableset aus JSON importieren
YForm->>DB: Tabellen mit neuen Feldtypen erstellen
Install->>Migrate: v7.0.0-Migration aufrufen
Migrate->>DB: Alte Feldnamen (choice_status, etc.) finden
Migrate->>DB: type_name in neues_* umbenennen
Migrate->>YForm: Tablenklassen regenerieren
Install->>Cleanup: Duplikate aufräumen
Cleanup->>DB: Duplikate identifizieren
Cleanup->>DB: Alte Felder löschen/umbenennen
Cleanup->>YForm: Tablenklassen neu laden
Install->>Install: Finale Cache-Bereinigung
Install-->>Admin: Installation abgeschlossen
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Bereiche mit erhöhter Aufmerksamkeit:
Possibly related PRs
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (20)
Warning Tools execution failed with the following error: Failed to run tools: 14 UNAVAILABLE: Connection dropped Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR prepares version 7.0.0 of the neues addon, resolving naming conflicts with the yform_field addon by renaming custom YForm field types with a neues_ prefix. Additionally, it introduces a new JSON Feed API and updates branding from "Aktuelles" to "Neues."
Key changes:
- Renamed three custom YForm field types to avoid conflicts:
choice_status→neues_choice_status,datetime_local→neues_datetime_local,domain→neues_domain - Added JSON Feed 1.1 API support alongside existing RSS feed
- Updated German language strings and documentation from "Aktuelles" to "Neues"
Reviewed Changes
Copilot reviewed 20 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| package.yml | Bumped version to 7.0.0, removed yform_field conflict declaration |
| lib/Field/value/*.php | Renamed field classes and updated template references |
| ytemplates/bootstrap/*.tpl.php | Created new template files for renamed field types |
| install/tableset.json | Updated type_name values to use new field names |
| install.php | Added migration logic for field renaming and cache management |
| install/migrate_v7.php | Migration script for updating existing field definitions |
| install/cleanup_v7.php | Cleanup script for removing duplicate fields |
| cleanup_manual.php | Manual cleanup utility script |
| cleanup_duplicates.sql | SQL script for database cleanup |
| lib/Api/JsonFeed.php | New JSON Feed 1.1 API implementation |
| lib/Api/Rss.php | Enhanced RSS feed with domain filtering |
| docs/*.md | Updated documentation with new naming and JSON Feed API |
| lang/de_de.lang | Changed "Aktuelles" to "Neues" |
| README.md | Updated documentation with JSON Feed API information |
| CHANGELOG.md | Added 7.0.0 release notes |
|
|
||
| use const JSON_PRETTY_PRINT; | ||
| use const JSON_UNESCAPED_UNICODE; | ||
|
|
Copilot
AI
Oct 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The JsonFeed API class is never registered in boot.php. While the class is created and documented, it cannot be called via ?rex-api-call=neues_json without adding rex_api_function::register('neues_json', Api\JsonFeed::class); in boot.php (similar to line 41 for the RSS feed).
| */ | ||
|
|
||
| // REDAXO Bootstrap (passen Sie den Pfad an Ihre Installation an) | ||
| $redaxoPath = __DIR__ . '/../../../../../../../../'; |
Copilot
AI
Oct 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The path uses an excessive number of parent directory references (9 levels). This appears incorrect for a REDAXO addon structure which is typically located at redaxo/src/addons/neues/. A more reasonable path would be __DIR__ . '/../../../' to reach the REDAXO root from the addon directory.
| $redaxoPath = __DIR__ . '/../../../../../../../../'; | |
| $redaxoPath = __DIR__ . '/../../../'; |
|
|
||
| if ($totalCleaned > 0) { | ||
| echo "📄 Lade Tableset neu...\n"; | ||
| rex_yform_manager_table_api::importTablesets(rex_file::get(__DIR__ . '/tableset.json', '[]')); |
Copilot
AI
Oct 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The path __DIR__ . '/tableset.json' is incorrect. Based on the repository structure, the tableset.json file is located at install/tableset.json, so this should be __DIR__ . '/install/tableset.json' to match the pattern used in install.php line 38.
| rex_yform_manager_table_api::importTablesets(rex_file::get(__DIR__ . '/tableset.json', '[]')); | |
| rex_yform_manager_table_api::importTablesets(rex_file::get(__DIR__ . '/install/tableset.json', '[]')); |
| # Changelog | ||
|
|
||
| ## xx-xx-2024 x.x.x (**Breacking Changes ⚠**) | ||
| ## 30-10-2025 7.0.0 (**Breaking Changes ⚠**) |
Copilot
AI
Oct 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CHANGELOG does not mention the new JSON Feed API feature, which is a significant addition documented in docs/08_json_feed.md and mentioned in the README. This should be included in the 'Weitere Änderungen' section.
| $category = Category::get($category_id); | ||
| } | ||
|
|
||
| // Basis-Query für alle Filter |
Copilot
AI
Oct 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Corrected spelling of 'Basis-Query' to 'Basis-Abfrage' for consistency with German comments, or use English 'Base query' for consistency with code.
| // Basis-Query für alle Filter | |
| // Basis-Abfrage für alle Filter |
fixed: #170
BREAKING CHANGES:
NEW FEATURES:
IMPROVEMENTS:
Resolves: #170 - YForm field conflicts with yform_field addon
Summary by CodeRabbit
Release Notes v7.0.0
New Features
Breaking Changes
Dokumentation