Patches, Bugs und Contributions
Alle Beiträge (Patches, Feature-Erweiterungen usw.), die in das Basis-System (inkl. Module) einfließen, werden von den jeweiligen Autoren unter die GNU General Public License Version 3 https://www.gnu.de/documents/gpl.de.html gestellt.
Die Quellen des Open Source Projektes webEdition werden auf sourceforge.net unter https://sourceforge.net/projects/webedition gehostet und über das Versions-Control-System Subversion verwaltet.
Zentrale Kommunikationsplattform für alle Fehler und Feature-Erweiterungen des Basis-Systems ist der webEdition Bugtracker https://qa.webedition.de.
Mit Subversion arbeiten
Die Quellen von webEdition finden sich auf SourceForge unter:
https://webedition.svn.sourceforge.net/svnroot/webedition
Jeder ist auch ohne Zugangsdaten in der Lage, eine lokale Kopie der Quellen zu ziehen.
Das genaue Vorgehen hängt dabei vom Betriebssystem ab.
Nur registrierte Entwickler können Änderungen selbst in den Main-Trunk von webEdition aufnehmen. Dies stellt sicher, das nur funktionierende Änderungen aufgenommen werden. Wenn Sie einen Fehler beseitigt oder ein neues Feature implementiert haben, so nutzen Sie bitte den Bugtracker von webEdition unter https://qa.webedition.de.
Patches erstellen
Für die Erstellung von Patches wird immer mit einer Arbeitskopie "workingcopy/" des "trunk/" -Verzeichnisses gearbeitet.
Nachdem dort alle Änderungen erstellt wurden, wird mit Hilfe des Tools diff eine Patchdatei erzeugt:
diff -Naur trunk/ workingcopy/ > myPatchFile.patch
Die Optionen haben dabei folgende Bedeutung:
* N: gibt es eine Datei in nur einem der beiden Verzeichnisse, so wird es behandelt, als gäbe es diese Datei im anderen Verzeichnis als leere Datei.
* a: behandle alle Dateien als Text, auch wenn Sie keine Textdateien sind und Vergleiche Zeile für Zeile
* u: Nutze das sogenannte unified output Format, und zeige jeweils drei Zeilen vor und nach geänderten Zeilen
* r: arbeite Verzeichnisse rekursiv ab.
Die erstellte Patch-Datei enthält alle Änderungen von workingcopy in Bezug auf trunk, inklusive aller Dateien in Unterverzeichnissen.
Um den Patch zu testen, kopiere das Originalverzeichnis in ein Verzeichnis test/:
cp -a trunk test
Dann kopiere die Patch-Datei in das Test-Verzeichnis:
cp myPatchFile.patch test
Wechsel in das neue Verzeichnis:
cd test
Von dort aus einfach folgendes aufrufen:
patch -pl < myPatchFile.patch
Wenn Fehler auftreten, solltest du eine Fehlermeldung erhalten und eine ".rej"-Datei sollte im neuen Verzeichnis erstellt werden.
Wenn alles funktioniert hat, bekommst du eine Erfolgsmeldung von patch. Kopiere das gepatchte Verzeichnis an die entsprechende Stelle in webEdition (bzw. auf einen Test-Webspace) und prüfe, ob die Veränderungen immer noch funktionieren.
Contributions
we:Tags - Namenskonventionen
* Namen von we:Tags bestehen nur aus Buchstaben
* Namen von we:Tags beginnen mit einem Kleinbuchstaben
* Namen von we:Tags mit mehreren Wörtern sehen so aus: ''ifNotFound''
* Attributnamen von we:Tags werden klein geschrieben
* Attributnamen von we:Tags bestehen nur aus Buchstaben
* Attribute mit identischen Funktionalitäten/Bedeutungen haben bei allen we:Tags den gleichen Namen
Eigene Tags in den Tag-Wizard integrieren
Hierzu wird eine Tag-Beschreibungsdatei im Verzeichnis
/webEdition/we/include/weTagWizard/we_tags/custom_tags
erstellt.
Die Datei wird hierbei wie folgt benannt:
we_tw_NameDesTags.inc.php
Beispieltag we:hello
<?php
//this is executed in the context of the constructor of weTagData
$this->NeedsEndTag = false;
$this->Groups[] = 'input_tags';
//$this->Module = '';
$this->Description = "Gibt das Wort hello zusammen mit dem Attribut name aus.";
$this->Attributes =[
new we_tagData_textAttribute('name', true, ''),
];
?>
Von Hooks unterstützte Prozesse
Es werden Prozesse im Basissystem und in Anwendungen unterstützt.
Im Basissystem:
- Speichern
- Veröffentlichen
- Parken
- Löschen
In Anwendungen:
- Speichern
- Löschen