Patches, Bugs und Contributions

Hier findest du Hinweise und Anleitungen zur Beseitigung von Fehlern und zum Erstellen neuer Features für das Basis-System.

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

powered by webEdition CMS