Entwicklerleitfaden - Auf was muss ich als Entwickler achten?

Editionen: Enterprise, Ultimate, Corporate
Versionen: alle

Bei den Versionen ViMP Enterprise, Enterprise Ultimate und Corporate haben Sie die Möglichkeit und das Recht, den Quellcode zu modifizieren.

Dies ist erforderlich, wenn Sie bestimmte Funktionen individuell anpassen möchten oder neue Funktionen hinzuprogrammieren wollen.

Um die Updatefähigkeit für neue ViMP-Versionen zu erhalten, sind dabei einige Vorgaben einzuhalten, die wir im Folgenden erläutern.

Für die Bearbeitung des Codes setzen wir voraus, dass Sie sich mit dem symfony-Framework auskennen und bereits mit diesem entwickelt haben.

ViMP nutzt aktuell Version 1.4 des symfony Frameworks, als ORM kommt Propel zum Einsatz.

Allgemeine Vorgaben:

  • Code-Einrückungen haben mit Leerzeichen, nicht durch Tabs zu erfolgen (die Tab-Größe pro Einrückung beträgt 2 Leerzeichen)
  • Basis-Klassen (wenn vorhanden) sollten nicht angepasst werden
  • Jede Erweiterung des Frameworks sollte als Symfony-Plugin realisiert werden
  • Texte innerhalb des Codes und in Templates müssen über die I18n-Funktionen übersetzbar sein
  • I18n-Texte gehören in die entsprechenden messages.*.xml-Dateien unter i18n/ im Plugin-Verzeichnis
  • Anpassungen und Erweiterungen des Schemas müssen im Plugin-Verzeichnis unter config/ in den entsprechenden YaML-Dateien erstellt werden
  • Fixtures, die bei der Initialisierung geladen werden sollen, müssen im Plugin-Verzeichnis unter data/fixtures gespeichert werden
  • Dateien, die unter web/ gehören, müssen über SymLinks aus dem Plugin in das Verzeichnis gelinkt werden
  • Neue Berechtigungen können in der permissions.yml unter config/ des Plugin-Verzeichnis erstellt werden
  • Zum Verschicken von E-Mails sollte die stMail-Klasse genutzt werden
  • Eigene Actions und Komponenten gehören in die „normalen“ Actions- und Components-Klassen und auf keinen Fall in die entsprechenden Basis-Klassen
  • Die Prüfung auf Default-Culture sollte nicht direkt auf 'english' erfolgen, sondern immer auf den Parameter sf_default_culture

Allgemeiner Plugin-Aufbau:

config  
YaML-Dateien für Schema, Berechtigungen, etc.
data
 
    fixtures    
Fixtures für die Initialisierung
    sql
SQL-Dateien mit weiteren benötigten SQL-Statements
lib
Klassen für Forms, Widgets, Validatoren, etc. die über das gesamte Plugin benötigt werden
modules
Verzeichnis für Plugin-Module
templates
Verzeichnis für Plugin-Templates
INSTALL
Text-Datei mit Installationshinweisen, bevorzugt in Englisch und Stichpunkten
UPDATE
Text-Datei mit Updatehinweisen bevorzugt in Englisch und Stichpunkten

Verzeichnisse können erst erstellt werden, wenn diese benötigt werden.



Allgemeiner Modul-Aufbau:

actions  
Action- und Komponenten-Klassen
    base
Action- und Komponenten-Basis-Klassen
lib
Klassen für Forms, Widgets, Validatoren, etc.
templates
Template-Dateien für das Modul

Verzeichnisse können erst erstellt werden, wenn diese benötigt werden. 



Model-Klassen:

  • für Status-Felder ist für jeden möglichen Status eine is*()-Funktion zu erstellen
  • für statische Werte für Felder sind sprechende Klassen-Konstanten zu erstellen
  • eine Änderungen des Status-Feldes muss über eine entsprechende Funktion der Klasse durchgeführt werden

Zuletzt aktualisiert am 15.05.2017 von Admin.

Zurück