Die neue ModuleStudio-Version 0.6.2 basiert auf Eclipse 4.4 (Luna) und enthält eine Reihe von Fehlerkorrekturen. Auch ein paar neue Features haben es in das Release geschafft:
Änderungen an der DSL / Modellierungssprache
- Eine neue Generator-Einstellung erlaubt das Definieren eines Modells als System-Modul (#596).
- Neue Optionen im Model-Editor hinzugefügt, um zusätzliche, in Symfony 2.4.x und 2.5.0 verfügbare Validierungsregeln spezifizieren zu können (#516, #606).
- Neue DSL-Eigenschaft zu Entitäten und Benutzerfeldern hinzugefügt (onAccountDeletion), um zu kontrollieren, wie eine App reagieren soll, wenn Benutzer gelöscht werden (#284).
- Eine neue Eigenschaft dbName für Entity-Felder erlaubt die unterschiedliche Benennung von Feld und Datenbankspalte (#489).
- Array-Felder können für 1.4.0 konfiguriert werden als array, simple array und json array (#488).
- Neue Generator-Einstellung zur Markierung generierter Dateien mit speziellen Dateinamen (
*.generated.*
) hinzugefügt (#497). - Die folgenden obsoleten Eigenschaften wurden aus der DSL entfernt: Application#modelPath, Application#targetCoreVersion, DerivedField#leading.
Änderungen am Generator
- Sämtliche Frontend-Funktionen wurden für Zikula 1.4.0 von Prototype auf jQuery und Bootstrap umgestellt (#238).
- Anwendungen für Zikula 1.4.0 lösen nun eigene Symfony2-Events aus, siehe die generierte FooEvents-Klasse (#568).
- Grundlegende Unterstützung für Cache-Annotationen für 1.4.0 Apps hinzugefügt (#567).
- Die Struktur der Entity-Klassen wurde für 1.4.0 refaktorisiert für einfacheres Überschreiben von außerhalb des Moduls mit Service-Parametern (#565).
- Display- und Delete-Aktionen nutzen die ParamConverter-Annotation zur Objektselektion in 1.4.0 (#563).
- Wenn keine Filter gesetzt sind, wird die aktuelle Seite in Listenansichten in der Session vermerkt (#548).
- Anwendungen für 1.4.0 unterstützen Monolog Logger sowie die Symfony Komponenten Filesystem and Finder (#546).
- Die generierten Event Subscriber wurden an für 1.4.0 angepasst. Support für veraltete Events wurde entfernt, Support für Symfony Kernel-Events wurde aufgenommen (#544).
- Anwendungen für Zikula 1.4.0 nutzen jetzt den Dependency Injection Container von Symfony (#535).
- Das Routing in 1.4.0 Modulen wurde auf Symfony umgestellt unter Nutzung von Annotationen. Dies ersetzt die URL Route Klassen und encodeurl/decodeurl Methoden, die zuvor generiert wurden (#465, #604).
- Die Controller-Struktur wurde reorganisiert: nun existiert ein Controller für jede Entität. Dies wurde als Vorbereitung für die Migration zu Symfony Routing getan, macht aber auch die Controller-Methoden prägnanter und erleichtert Anpassungen durch Overriding (#465).
- In 1.4.0 wird die Symfony Validator-Komponente mit Annotationen an Stelle selbstgeschriebener Validierungsmethoden verwendet (#516).
- ics (iCalendar) Templates für Entities mit Start- und Enddatum hinzugefügt (#509).
- Suchintegration auf neue Helper-Klasse in 1.4.0 umgestellt (#503).
- An passenden Stellen werden Avatare der Benutzer angezeigt (#607).
- Entitäten mit einem anderen Workflow als NONE erlauben die Auswahl von Benutzergruppen für die Moderation auf den generierten Konfigurationsseiten. Benachrichtigungen per E-Mail werden zwischen dem Ersteller und Moderatoren bei Zustandsänderungen versendet (#570).
- In 1.4.0 werden Statusnachrichten nicht mehr mit LogUtil, sondern mit Symfony FlashBags umgesetzt (#512).
- Client-seitiges Geocoding verwendet nun eine Callback-Funktion, um Anpassungen innerhalb der Edit-Templates zu vereinfachen (#507).
- Jede Menge Generator Updates und Bugfixes (für Details zu den meisten Änderungen die geschlossenen Tickets auf Github anschauen).
Es wird empfohlen, so schnell wie möglich auf MOST 0.6.2 zu aktualisieren. Abhängig von der gewünschten Core-Version wird entweder die letzte Git-Version von Zikula 1.4.0 (1.4 Branch) oder Zikula 1.3.8 benötigt.