ModuleStudio
Das Modulestudio ist ein Tool zur modellgetriebenen Software Entwicklung (MDSD), mit dem spezifisch Erweiterungen für Zikula entwickelt werden können. Aus einem grafischen Modell wird dabei eine lauffähige Zikula-Anwendung generiert.
- Aktuelle Version: 0.5.4 [VÖ 29.11.2011]
- Plattformen: Windows, Linux, Mac, Solaris, AIX, usw. (Java-fähige)
- Homepage: modulestudio.de
Inhaltsverzeichnis |
Modellgetriebene Software Entwicklung
Die Methode der modellgetriebenen Software Entwicklung will das Problem lösen, dass in verschiedenen Programmiersprachen immer wieder die gleichen Anwendungen geschrieben werden müssen. Stattdessen wird ein Modell der Anwendung erstellt - durch verschiedene Generatoren können aus dem Modell Anwendungen in verschiedenen Programmiersprachen erzeugt werden.
Zum anderen will die modellgetriebene Software Entwicklung durch domänenspezifische Sprachen leichter verständliche Modelle verwenden als zum Beispiel UML-Tools. Statt die universelle Modellierungssprache UML zu benutzen, wird der Wortschatz eines bestimmten Arbeitsfeldes ("Domäne") genutzt: in ModuleStudio ist das eine Sprache, die den Begrifflichkeiten in der Modul-Entwicklung entspricht: Da gibt es zum Beispiel die Controller- oder die Model-Schicht. Und zum Beispiel in letzterer gibt es Tabellen und Tabellenfelder.
So bleiben die Modelle lange verständlich und aus einmal angefertigten Modellen lassen sich ohne Anpassung immer wieder funktionierende Module generieren, auch wenn sich zum Beispiel die Zikula-API ändert. Die Module bleiben leicht wart- und erweiterbar. Durch die Automatisierung lässt sich eine hohe Qualität des Codes gewährleisten.
- Modellgetriebene Softwareentwicklung, wikipedia.de
- Domänenspezifische Sprache, wikipedia.de
Feature-Auszug Version 0.5.4
Support für Zikula 1.3
- Objektorientierte Modulstruktur
- Beinhaltet neuere Core-Erweiterungen
- Core Event Listener
- Neues Hook-System
- Thumbnail-Erstellung mit Imagine
Viele verschiedene Feldtypen
- Boolean, Integer, Decimal, Float
- String, Text, Email, Url
- User, Upload, List
- Array, Object
- Colour, Language, Country
- Datetime, Date, Time
Support für Doctrine 2.1
- Entitäten, Felder
- Locking-Strategien, kombiniert mit dem PageLock-Modul
- Unidirektionale und bidirektionale Assoziationen
- Fetch Types und Kaskadierungsoptionen
- Sortierte und indizierte Assoziationen
- Aggregatsfelder, Composite Keys
- Jede Menge neue Einstellungen in der Datenschicht
Extensions
- Geographical mit HTML5 Geolocation
- Loggable, Sluggable, Sortable, Timestampable
- Translatable
- Tree
- Attribute, Kategorien, Metadaten, Standardfelder
Verschiedene Ausgabeformate
- Normale Templates
- Feeds (RSS und Atom)
- CSV
- XML
- JSON
Integration
- Generischer Block zur Darstellung der Objekte
- Content-Plugin zur Integration der Objekte in das CMS
- mailz-Plugin für Mailings und Newsletter
