Es ist nun möglich, mit einem Raketask die Clients eines Wettbewerbes oder einer ganzen Saison aus dem System zu exportieren. Dabei wird im Zielverzeichnis ein tar-Archiv mit dem Namen "contest#{contest.subdomain}.tar.gz" bzw. "season#{season.id}.tar.gz" angelegt. Das Zielverzeichnis kann mit dem Argument "destination" (Pfad in Anführungszeichen!) angegeben werden. Standardmäßig wird das Verzeichnis Rails.root/public/system/ als Zielverzeichnis genutzt.
Das exportiere Archiv hat folgendem Inhalt:
- Die Daten aller erstellten Computerspieler als YAML-Export, geordnet nach ID des Wettbewerbs, ID des Teams und ID des Computerspielers. Dazu gehören auch die zugehörigen Kommentare.
- Die hochgeladenen Archive aller Computerspieler, auf dieselbe Weise sortiert, im Unterordner "archive"
- Überordner "clientlogs"
- Alle zum betreffenden Wettbewerb/Saison gehörenden Serverlogs im Überordner "serverlogs".
Der Export einer Saison verhält sich genauso wie der Export der einzelnen zur Saison gehörenden Wettkämpfe mit dem Unterschied, dass diese in einem Archiv zusammengefasst sind.
Durchgeführt wird der Export mit
rake socha:export_clients contest="subdomain" RAILS_ENV="production"
bzw
rake socha:export_clients season="seasonid" RAILS_ENV="production"
Sollen die betreffenden Clients und Logs auch sofort aus dem System gelöscht werden, ist statt
rake socha:export_clients
der Befehl
rake socha:export_and_destroy_clients
zu benutzen.
Theoretisch ist es dann sogar möglich, die Daten aus dem exportierten Archiv auch wieder in die WebApp zu importieren unter der Voraussetzung, dass die entsprechende Saison/Wettbewerbe und Teams noch existieren.