feat: install user console commands and document Office independence
This commit is contained in:
1 parent
6438558ea3
commit
f447603af4
6 files changed
+179
-10
No files matched your search
@@ -291,3 +291,59 @@ Checkout-Updater nicht.
|
||||
Technische Grundlagen: [pip Versionsauflösung und Installationsbericht](https://pip.pypa.io/en/stable/cli/pip_install/),
|
||||
[Python venv und feste Umgebungspfade](https://docs.python.org/3/library/venv.html).
|
||||
Umgebungen bleiben deshalb an ihrem Erstellungsort; nur der Zeiger wird gewechselt.
|
||||
|
||||
|
||||
## Konsolenbefehle installieren
|
||||
|
||||
Einmal im Checkout `python3 scripts/install_commands.py` ausführen. Der Installer
|
||||
benötigt kein sudo und verlinkt `einvoice` sowie `jr-einvoice` nach `~/.local/bin`.
|
||||
Die verlinkten Starter finden den Checkout auch beim Aufruf aus einem anderen
|
||||
Verzeichnis und verwenden den aktiven Update-/Rollback-Stand. Beide Befehle werden
|
||||
mit `--help` geprüft. Bei Fehlern setzt der Installer seine Änderungen zurück.
|
||||
Vorhandene andere Dateien/Symlinks werden unter `*.before-einvoice-<Zeit-ID>`
|
||||
gesichert; bereits korrekt eingerichtete Links bleiben erhalten.
|
||||
|
||||
```bash
|
||||
# Einmalig:
|
||||
cd /home/johannes/localdev/einvoice
|
||||
python3 scripts/install_commands.py
|
||||
|
||||
# Danach auch außerhalb des Checkouts:
|
||||
einvoice --help
|
||||
einvoice --customers
|
||||
einvoice --update --status
|
||||
einvoice --update --apply
|
||||
einvoice --update --rollback
|
||||
jr-einvoice --help
|
||||
```
|
||||
|
||||
Abweichender Zielordner: `--bin-dir /absoluter/pfad`. Falls dieser Ordner nicht im
|
||||
PATH steht, zeigt der Installer die passende Export-Zeile an; dauerhaft in die eigene
|
||||
Shell-Konfiguration übernehmen. Auf Johannes' Rechner ist `~/.local/bin` bereits im
|
||||
PATH, daher ist keine Änderung der Shell-Konfiguration nötig. Bei einem alten
|
||||
Shell-Cache `rehash` (zsh) oder `hash -r` (bash) verwenden. Eine aktivierte `.venv`
|
||||
kann den alten Einstieg vorziehen; mit `deactivate` die verwalteten Befehle nutzen.
|
||||
Der Checkout muss am Installationsort erhalten bleiben. Nach Verschieben den
|
||||
Installer am neuen Ort erneut ausführen. Die Starter benötigen bash, readlink und
|
||||
Python 3; diese sind auf dem vorgesehenen Linux-System vorhanden.
|
||||
|
||||
## Office-Unabhängigkeit und LibreOffice
|
||||
|
||||
Die Quell-, Vorlagen- und Datenformate der Anwendung sind YAML, HTML/Jinja2, SVG
|
||||
und Markdown. Erzeugt werden PDF/A-3, strukturiertes XML, Prüfberichte, JSON-Manifeste
|
||||
und optional EML. Weder DOC/DOCX, XLS/XLSX, PPT/PPTX noch COM-/Microsoft-Office-APIs
|
||||
werden verwendet. Es gibt keine Abhängigkeit von Word, Excel, Outlook oder einer
|
||||
Microsoft-365-Lizenz. Die Python-Abhängigkeiten und die externen Werkzeuge
|
||||
WeasyPrint/Mustang/Java benötigen keine Office-Installation.
|
||||
|
||||
Für diese Rechnungslösung muss deshalb beim Wechsel zu LibreOffice nichts nach
|
||||
ODT/ODS konvertiert werden. ODF-Import/-Export ist keine Funktion des Tools;
|
||||
Dokumentvorlagen werden weiterhin als HTML/Jinja2 bearbeitet, Daten als YAML.
|
||||
Die versandfertige E-Rechnung ist das validierte PDF mit eingebettetem XML.
|
||||
Dieses Original nicht in Office/LibreOffice bearbeiten oder als neues PDF exportieren,
|
||||
da XML-Einbettung und PDF/A-Eigenschaften dabei verloren gehen können.
|
||||
|
||||
Der optionale EML-Entwurf ist eine Datei ohne Outlook-Automation. Mailprogramm,
|
||||
Mailkonto, Zugang und tatsächlicher Versand liegen außerhalb der Toolchain.
|
||||
Die Prüfung betrifft dieses eInvoice-Projekt; andere persönliche oder betriebliche
|
||||
Office-Dateien und Microsoft-365-Dienste wurden damit nicht geprüft oder migriert.
|
||||
Reference in new issue
Block a user