Urdu Deutsch
English English Deutsch Deutsch Español Español Français Français Italiano Italiano Nederlands Nederlands Português Português Русский Русский Ελληνικά Ελληνικά
Login



 

Working Copy Joomla! Erweiterung

Demo
Downloads
Joomla! 1.5
Version 1.0.1
Laden Sie
Forum
Lernprogramm
Googlecode

Abstrakt

Dies ist eine Art von Subversion für Joomla! leben vor Ort. GSoC 2009 Projekt-Ideen: Arbeiten Ausgabe von Joomla Live Site

Idee & Benefits

Administratoren in der Regel auf ihrer Live-Arbeit vor Ort direkt und manchmal auch sie Fehler machen wie alle Menschen tun. Infolgedessen wird die Live-Site nach Erweiterung der Installation / Deinstallation und Re-Konfiguration durcheinander. Die Idee ist, eine Arbeitskopie von der Live-Website haben und Änderungen vornehmen, auf sie, dann, wenn alles okay ist nach einigen Tests, können Sie Änderungen genehmigen und das Werkzeug wird sie in Ihrer Live-Website beantragen.

Ich möchte auch, einige grundlegende Features von Subversion in dieses Projekt umzusetzen zB verpflichten / genehmigen, zu aktualisieren / zu synchronisieren, zurückzukehren, zusammenführen, schaffen Patch, Patch anwenden (SVN Operationen danach).

Mit diesem Tool werden die Menschen weniger Fehler auf der Live-Site zu tun und bekommen weniger nervös!

Meilensteine

Erstellen einer API-Schnittstelle und wird benötigt, um dieses Projekt zu vollenden. Beide werden gleichzeitig entwickelt werden, um in der Lage Tests von der Schnittstelle zu machen. Ich werde die wichtigsten Ideen und Normen Codierung von Joomla! Rahmenprogramm Hoffnung, es wird ein Teil der Joomla! 1.6 in Zukunft.

Bei der Entwicklung gehe ich davon aus, dass die Live-Site (Master oder Elternteil danach) und der Arbeitskopie (Kind danach) auf den gleichen Versionen und Konfigurationen von OS / Apache / MySQL / PHP läuft, und der Server-Konfiguration bleibt intakt ( Dieses Werkzeug kann nur eine Testumgebung für SERVER RE-Konfiguration).

Jetzt werde ich im Allgemeinen beschreiben, was es sein wird und wie einfach es sein wird, mit zu arbeiten. Hier sind einige Schritte Administratoren tun können:

  1. Erstellen Sie so viele Childs vom Master an ihnen zu arbeiten (Admin kann auch ein großartiges Kind zu schaffen)
  2. Ändern Sie das Kind (re-konfigurieren, Hinzufügen / Bearbeiten Inhalte, Installation / Deinstallation / update-Erweiterungen) und test (wir können eine "spy bot" bei Bedarf auf das Kind haben, um Änderungen vorgenommen leicht feststellen)
  3. Er genehmigt Änderungen der Live-Website mit einer dieser Optionen:
    1. Erstellen Sie einen Patch aus dem Kind
    2. Kleben Sie das Pflaster an den Master
    3. Direkt genehmigt Änderungen der Master (allerdings kann es dann tun 3.1 3.2, nur in einem Schritt)
  4. Sehen Sie die Änderungen des Kindes gemacht
  5. Synchronisieren Sie das Kind mit den Eltern (wenn das Kind nicht mehr aktuell ist)
  6. Revert das Kind an den übergeordneten staatlichen
  7. Merge 2 Seiten (Master-Kind-oder Kind-Kind) mit der referenziellen Integrität

Es gibt 2 Möglichkeiten, um Änderungen auf der Joomla! Website, die Datenbank und / oder Dateisystem zu ändern ist. Es wird also 2 Arten von Funktionen in der API, die Änderungen an der Datenbank und das Dateisystem zu machen sein wird.

Arbeiten mit dem Dateisystem ist der einfachste Teil, denn jede Datei hat Datum der letzten Änderung, die einfach zu bestimmen, welche Datei neuer ist.

Arbeiten mit der Datenbank ist viel komplizierter, denn es gibt verschiedene Szenarien sein kann mit Beziehungen.

Mein Ziel ist es eine API, die SVN-Operationen nicht nur auf Kern Tabellen implementieren, sondern auch auf Tischen 3rd Partei, die mit 3rd Party-Erweiterungen kommen kann.

Zukünftige Erweiterungen

Es ist auch möglich, eine History-Tabelle haben (#tablename_history) für jede Tabelle in DB, die Tabellenzeile in Versionen wird es behalten. Es ermöglicht die Versionierung der gesamten Datenbank. Nicht nur der Inhalt, sondern auch Parameter, Modulpositionen, etc. würde versioniert werden. Die andere Sache, die getan werden kann, ist die Sprache Tische haben und halten Tabellenzeile Übersetzungen in ihnen.

Timeline

20 April - Mai 17: Zeit, um mit The MENTOR SPRECHEN
Woche 1 Mai 18 - 22: Interface-und API-Funktionen, ein Kind von Master zu machen. (1)
Woche 2 Mai 25 - 29: Interface-und API-Funktionen, um Änderungen am Kind gemacht zu sehen. (4)
Woche 3 Juni 1 - 5: Interface-und API-Funktionen, um das Kind zurück. (6)
Woche 4 Juni 8 - 12: Interface-und API-Funktionen, um das Kind zu synchronisieren. (5)
Woche 5 Juni 15 - 19: Interface-und API-Funktionen, um einen Patch zu erstellen. (3.1)
Woche 6 Juni 22 - 26: Interface-und API-Funktionen, um den Patch anwenden. (3.2, 3.3)
Woche 7 29 Juni - Juli 3: FÜR DIE HALBZEITBEWERTUNG PREPARE
Woche 8 Juli 6 - 10: EINREICHUNG DES HALBZEITBEWERTUNG
Woche 9 Juli 13 - 17: Interface-und API-Funktionen zu 2 Seiten zusammenzuführen. (7)
Woche 10 Juli 20 - 24: Reservierte Zeit
Woche 11 Juli 27 - 31: Reservierte Zeit
Woche 12 August 3 - 7: VORBEREITUNG für die abschließende Bewertung, setzen alles auf ihren Plätzen
Woche 13 August 10 - 14: Bleistifte DOWN, ZUSAMMENFASSENDE ERGEBNISSE, Dokumentationen schreiben
Woche 14 August 17 - 21: Vorlage des endgültigen BEWERTUNG
August 22 - 25: ZEIT FÜR LAST MINUTE ENTSCHEIDUNGEN

Webinar

Klicken, um markierten Text zu hören!