188 lines
14 KiB
Org Mode
188 lines
14 KiB
Org Mode
#+title: Projektantrag
|
|
:preamble:
|
|
#+setupfile: ~/nextcloud/03_documents/org/settings/html_theme/setup/theme-readtheorg.setup
|
|
#+author: Andreas Zweili
|
|
#+latex_class: article
|
|
#+latex_class_options: [a4paper,11pt]
|
|
#+latex_header: \input{general/style}
|
|
#+otions: H:5 todo:f
|
|
#+language: de
|
|
#+startup: align
|
|
#+bibliography: general/bibliography.bib
|
|
:end:
|
|
|
|
* DONE Zweck des Dokuments
|
|
CLOSED: [2018-07-09 Mo 20:55]
|
|
|
|
Im Rahmen einer Diplomarbeit an den IBZ-Schulen soll die Grundlage für ein neues
|
|
Open-Source-Projekt geschaffen werden, sowie die Entwicklung der dazugehörigen
|
|
Backup-Applikation gestartet werden. Die Applikation soll es normalen Usern
|
|
ermöglichen mit der Backup Software BorgBackup zu interagieren.
|
|
|
|
Das Dokument dient als Grundlage für die Freigabe der Diplomarbeit.
|
|
|
|
* DONE Ausgangslage
|
|
CLOSED: [2018-07-09 Mo 21:16]
|
|
|
|
Das Open-Source-Projekt BorgBackup footcite:borgbackup entwickelt eine
|
|
Backup-Software welche es einem ermöglicht Backups auf ein externes Laufwerk
|
|
oder einen externen Server zu machen. Für externe Server die man nicht selber
|
|
kontrolliert unterstützt BorgBackup auch eine starke Verschlüsselung. Als
|
|
weiteres wichtiges Feature unterstützt BorgBackup auch Deduplikation auf Block
|
|
Ebene was es einem erlaubt sehr viele Snapshots zu haben ohne das der Speicher
|
|
allzu fest wächst. Des Weiteren erlaubt die Deduplikation von BorgBackup dem
|
|
User grosse Dateien zu bearbeiten ohne das bei einem weiteren Backup die ganze
|
|
Datei erneut gespeichert werden muss. Es werden dann nur die effektiv
|
|
veränderten Blöcke gespeichert.
|
|
|
|
Als freie Software und aufgrund der interessanten Features wäre BorgBackup auch
|
|
für weniger erfahrene User sehr nützlich. Leider gibt es für BorgBackup zurzeit
|
|
kein klassisches grafisches User Interface mit dem ein User interagieren kann.
|
|
BorgBackup wird komplett über die Kommando-Zeile gesteuert.
|
|
|
|
Aus diesem Grund soll der Student im Rahmen der Projektarbeit eine grafische
|
|
Oberfläche für BorgBackup entwickeln.
|
|
|
|
BorgBackup stell keine direkte API im Python Code für externe Applikationen zur
|
|
Verfügung. Allerdings gibt es einen Kommandozeilen-Parameter, mit welchem der
|
|
Output im JSON Format zurückgegeben wird. Die Entwickler raten dazu, BorgBackup
|
|
direkt über die Kommandozeilen Befehle anzusteuern und anschliessend den JSON
|
|
Output zu parsen. footcite:jsonapi
|
|
|
|
* Projektrahmenbedingungen
|
|
|
|
Das Projekt ist im Rahmen einer Diplomarbeit an den IBZ-Schulen zu realisieren.
|
|
Daraus ergeben sich Ansprüche an:
|
|
|
|
1. Komplexität des Vorhabens
|
|
2. Umfang des Vorhabens (250 Stunden)
|
|
|
|
Die Begleitung der Diplomarbeit ist durch die IBZ sichergestellt.
|
|
|
|
Als nebenläufiges Ziel soll mit dieser Arbeit auch die Verbreitung von freier
|
|
Software gefördert werden. Dies wird insbesondere dadurch erreicht, dass die
|
|
Software selbst unter der GNU Public License Version 3 footcite:gplv3
|
|
veröffentlicht wird. Wenn möglich sollen während der Entwicklung auch
|
|
hauptsächlich freie Software verwendet werden. Die gesamte Arbeit wird zudem zu
|
|
jedem Zeitpunkt öffentlich einsehbar sein. Der Quelltext der Dokumentation ist
|
|
bereits unter diesem Link erreichbar: https://git.2li.ch/Nebucatnetzer/thesis
|
|
|
|
Das Repository für den Code der Applikation wird während der Umsetzung erstellt.
|
|
Die Dokumentation und der Code werden in getrennten Repositorys veröffentlicht,
|
|
da das Projekt auch nach der Abgabe weiter existieren soll.
|
|
|
|
Die Entwicklung wird hauptsächlich auf einem Linux System stattfinden. Da
|
|
BorgBackup einerseits hauptsächlich auf Unix Systeme ausgelegt ist und
|
|
anderseits die Hauptzielgruppe des Projektes auch auf Linux Usern liegt.
|
|
Trotzdem sollen im Projekt Cross-Plattform fähige Technologien eingesetzt werden
|
|
damit es in der Zukunft möglich ist das Projekt auf andere Plattformen
|
|
auszuweiten.
|
|
|
|
Bugs von BorgBackup welche während der Dauer der Diplomarbeit vom Studenten
|
|
entdeckt werden, wird dieser dem Projekt melden jedoch nicht selber beheben.
|
|
|
|
* DONE Zielsetzung
|
|
CLOSED: [2018-07-16 Mo 21:10]
|
|
|
|
#+CAPTION: Projektziele
|
|
#+ATTR_LATEX: :environment longtable :align |p{9cm}|p{1.5cm}|p{2cm}|
|
|
#+NAME: tab:projektziele
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| *Zielsetzung*\cellcolor[HTML]{C0C0C0} | *Muss*\cellcolor[HTML]{C0C0C0} | *Wunsch*\newline (1-5, 5=sehr wichtig)\cellcolor[HTML]{C0C0C0} |
|
|
| <100> | <10> | <10> |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung setzt auf Cross-Plattform (Linux, Windows, OSX) fähige Technologien. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung steht unter der GPLv3 der Öffentlichkeit zur Verfügung. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann mit weniger als 3 Klicks ein Backup ausführen. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann ein Archiv mit 3 Klicks löschen. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann unter Linux ein Archiv mit zwei Klicks "read-only" als Laufwerk mounten. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann ein Archiv wieder herstellen. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann den zu sichernden Pfad manuell in der Anwendung definieren. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Applikation holt ihre Konfiguration aus einer Plain-Text Datei. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann sein Repository auf einer Harddisk ablegen. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung exkludiert für einen Linux Computer sinnvolle Pfade bereits zu Beginn. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Archivliste wird nach einer Aktion automatisch aktualisiert. | x | |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann sein Repository auf einem über SSH erreichbaren Server ablegen. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann den Namen eines Archives selbst bestimmen. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung meldet transparent, wenn das Repository nicht erreichbar ist. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung meldet dem User, wenn noch ein Hypervisor am Laufen ist. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung leitet Meldungen von BorgBackup transparent weiter. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung zeigt transparent an das BorgBackup im Hintergrund bereits läuft. | | 5 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Das Repository wird nach jedem Backup bereinigt. | | 4 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann automatische Hintergrundbackups in der Anwendung konfigurieren. | | 4 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung gibt dem User die Möglichkeit ein passendes Repository zu erstellen, wenn keines gefunden wird, die Anwendung jedoch bereits konfiguriert ist. | | 4 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Applikation verwendet, wann immer möglich allgemeingültige Umgebungsvariablen. | | 4 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung cached/speichert (evtl. zusätzliche) Informationen in einer Datenbank. | | 3 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung zeigt beim ersten Starten einen Setup Wizard. | | 3 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann sich mit 3 Klicks das Log eines Archives anschauen. Nur möglich mit einer zusätzlichen DB. | | 3 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung kann Systembenachrichtigungen auslösen. | | 3 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann die Anwendung grafisch konfigurieren. | | 3 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann entscheiden ob, ein gemountetes Archiv nach dem Schliessen der Applikation noch weiter verfügbar ist. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann das Repository wechseln. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann ein Archiv nach einer Datei oder einem Ordner durchsuchen. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Der User kann die "Retention Policy" konfigurieren. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Anwendung kann mit allen Features von BargBackup umgehen. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
| Die Applikation prüft, ob sie sich im richtigen Netzwerk befindet bevor sie eine Verbindung zum Server aufbaut. | | 2 |
|
|
|------------------------------------------------------------------------------------------------------+------------+------------|
|
|
#+LATEX:\newpage
|
|
* DONE Mittelbedarf
|
|
CLOSED: [2018-07-09 Mo 21:37]
|
|
|
|
Für die Arbeit sind, ausser den 250h des Diplomanden, keine weiteren Mittel
|
|
notwendig.
|
|
|
|
* Planung
|
|
|
|
Die Arbeit ist innert 14 Wochen (Vorgabe IBZ-Schulen) abzuwickeln. Die
|
|
Verteilung der anstehenden Arbeiten auf die 14 Wochen ist durch den Diplomanden
|
|
vor dem Start der Phase Voranalyse zu erledigen.
|
|
|
|
Der Student wird die Projektmethodik, "Wasserfall" einsetzen.
|
|
|
|
* DONE Wirtschaftlichkeit
|
|
CLOSED: [2018-07-09 Mo 20:55]
|
|
|
|
Die Wirtschaftlichkeit ist für dieses Projekt nicht relevant.
|
|
|
|
* DONE Konsequenzen
|
|
CLOSED: [2018-07-09 Mo 20:55]
|
|
|
|
Keine speziellen Konsequenzen in dem Vorhaben bekannt.
|
|
|
|
* DONE Antrag
|
|
CLOSED: [2018-07-09 Mo 20:55]
|
|
|
|
Der Diplomand beantragt die Freigabe der Phase Voranalyse, diese startet mit dem
|
|
Kick-off vom 10.12.2018.
|