Top danke! Der Titel hat nicht gematched
Posts by Tobias
-
-
Gibt es eine Möglichkeit die Ticketregeln zu debuggen? Aktuell funktionieren die erstellten Regeln nicht.
-
ich habe mir deinen Framework-Vorschlag mal kurz angeschaut. Grundsätzlich finde ich die Anpassungen echt top – moderner Techstack mit NestJS, Next.js, Prisma und Co. sieht sehr solide aus und adressiert viele der aktuellen Pain Points.
Was mir sofort aufgefallen ist: Die Node.js-Versionen (seit 2023/2024) und die Postgres-Version (ebenfalls seit 2023) sind End-of-Life. Das sollten wir definitiv auf die neuesten LTS-Versionen updaten, um Security und Support zu gewährleisten.
Besonders positiv: Die Möglichkeit für individuelle Anpassungen ohne ständige Upstream-Konflikte. Persönlich sind mir Updates aus dem Upstream (egal ob Frontend, Funktionalität oder DB) immer die Hölle wegen der lokalen Mods – eine saubere Trennung davon wäre super hilfreich und würde viel Frust sparen.
-
schau dir auch meinen PR an für den Upgrader, das macht es leichter die einzelnen branches zu wechseln um änderungen zu testen
Umfangreicher PR
Ich würde die Themen gerne segmentieren und mich hier auf das Thema Docker Workflow konzentrieren -
OpenXE Docker – Neues Setup verfügbar
Problem
Der aktuelle Docker-Build im OpenXE-Repo funktioniert nicht mehr, und es fehlt eine einfache Möglichkeit, Forks oder Branches in einer sauberen Umgebung zu testen.
Lösung
Ich habe ein neues Docker-Setup entwickelt, das jetzt als Pull Request #226 vorliegt: https://github.com/OpenXE-org/OpenXE/pull/226
Hauptfeatures
Multi-Repository Support
- Teste beliebige Forks und Branches per Umgebungsvariable
- Lokale Entwicklung mit gemounteten Code
- Beispiel:
export REPO_URL=https://github.com/user/OpenXE.git && export BRANCH=feature-xyz
Automatisches Upgrade-System
- Nutzt OpenXEs eigenes
upgrade.phpfür DB-Initialisierung - Automatische Updates bei jedem Container-Start
Komfort
- Optional: Beispieldaten-Import
- Konfigurierbares Admin-Passwort
- Persistente Daten (userdata + DB)
Schnellstart
Code# Lokale Entwicklung docker-compose up -d # Fork testen export REPO_URL=https://github.com/Avatarsia/OpenXE.git export BRANCH=api-doc-2 docker-compose up -d --buildBisherige Ansätze
Es gibt bereits mehrere Docker-Lösungen:
- Repo docker-compose.yml – funktioniert nicht mehr
- tsgoff/docker-openxe – nächtliche Builds, externes Repo
- getthemax/OpenXE-docker – lokaler Build, externes Repo
- cherrymint – Alpine-basiert, kein vollständiger Stack
Motivation
Konkreter Auslöser war die API-Dokumentation (PR von Avatarsia) – ich wollte den Branch schnell in einer frischen Umgebung testen. Dabei ist mir aufgefallen, dass das aktuelle Docker-Setup kaputt ist und es keinen einheitlichen Workflow gibt.
Ausblick
Langfristig wäre ein Base-Image mit regelmäßigen Builds (GitHub Actions) sinnvoll um lokale Redundanzen zu sparen. Dieser PR ist ein erster Schritt zur Vereinheitlichung.
Feedback erwünscht
Schaut euch den PR an und gebt gerne Feedback! Ziel ist es, einen wartbaren, flexiblen Docker-Workflow für alle zu schaffen – sowohl für Entwicklung als auch Testing und falls möglich im produktiven Einsatz.
Pull Request: https://github.com/OpenXE-org/OpenXE/pull/226
-
Hi Alex,
bei cbc:id ist vermutlich die USt-Id des Rechnungsempfängers gemeint, oder?
Kann man die Felder wie z.B. Absender und Empfänger E-Mail Adresse und USt-Id nicht mit einer Variable aus den Stammdaten füllen?z.B.: $rechnung.kopf.ustid
Code<cbc:EndpointID schemeID="EM">info@musterfirma.de</cbc:EndpointID> <!-- HIER MANUELL MAILADRESSE EINTRAGEN --> <cbc:Telephone>0123567890</cbc:Telephone> <!-- HIER MANUELL TELEFONNUMMER EINTRAGEN --> <cbc:ElectronicMail>info@musterfirma.de</cbc:ElectronicMail> <!-- HIER MANUELL MAILADRESSE EINTRAGEN --> <cbc:ID>DE12345678</cbc:ID> <!-- HIER MANUELL IBAN EINTRAGEN -->Aktiviert man xml-rechnung verschwindet rechts oben das PDF Symbol und der Vorschau Reiter für die PDF. Ist das ein Bug oder ein Feature?

-
KI ist kein Entwickler den man einschaltet
KI ist ein Werkzeug das vom Entwickler genutzt wird. Wie Timo schon geschrieben hat wird es genutzt 
-
Nimmt man einem User das Recht die Einkaufspreise einzusehen verschiebt sich die Tabelle so, dass Aktionen wie z.B. Positionen zu verschieben nicht mehr möglich sind. Anbei zwei Screenshots mit eingeblendeter und ausgeblendeten Einkaufspreisen
-
Ich kann in einem Ticket keinen Verantwortlichen setzen. Der Zieluser hat die Rechte auf das Ticketsystem. Ebenfalls der Ticketersteller.
Was übersehe ich?
-
Danke für den Hint mit dem dms!

Das alte System hatte im DMS den Ordner k194**3_xentral_firmenname
Die neue Installation legt im DMS den Ordner openxe_system_firmenname an.
Ich habe einen Symlink von openxe_system_firmenname auf den alten Ordner erstellt.
Damit kann ich PDF Dateien wieder herunterladen.
-
Normale Dateien die vom Xentral bzw. Xentral generiert wurden kann man normal herunterladen.
Uploads z.B. PDFs die in ein Angebot hochgeladen wurden kann man nicht mehr herunterladen. Die werden schon in userdata abgelegt, oder?
-
Ich habe das userdata aus der Xentral Instanz übernommen und das Ghostscript aus PDF Bearbeitung für die Kompatibilität aus dem Import von Xentral 24.xx ausgeführt.
Die File Permissions im Userdata passen und gehören dem richtigen User.
Jedoch wenn ich z.B. ein PDF herunterladen will bekomme ich die Datei mit 0 Byte.
Im Apache Log sehe ich für den Download den Statuscode 200
[31/Dec/2024:14:25:26 +0100] "GET /index.php?module=dateien&action=send&id=1122 HTTP/1.1" 200 434 "https://********.*********.de/index.php?module=angebot&action=dateien&id=490" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
Wie kann ich den Fehler weiter debuggen? -
Bei dem Versuch Xentral auf OpenXE umzuziehen bekomme bei dem Upgrade mit ./upgrade.sh -db -v -do -drop_keys die Meldung, dass die Tabelle belegegesamt bereits existiert. Das Upgrade Script versucht einen View mit dem gleichen Namen zu erstellen. Hattet ihr das Problem schon mal?
Upgrade step 2306 of 2309...
CREATE VIEW `belegegesamt` AS select `rechnung`
PHP Fatal error: Uncaught mysqli_sql_exception: Table 'belegegesamt' already exists in /var/www/openxe/upgrade/data/upgrade.php:478
-
Aktuell läuft das Update über das Update Script
Lokale Anpassungen oder Erweiterungen würden mit dem Vorgehen überschrieben werden.--------------- OpenXE upgrade ---------------
--------------- 2024-02-07 14:40:13 ---------------
There are modified files:
../www/pages/verkaufszahlen.php
../www/themes/new/css/color3.css
../www/themes/new/css/styles.css
../www/themes/new/images/favicon/favicon-16x16.png
../www/themes/new/images/favicon/favicon-32x32.png
Gibt es eine Best Bractice um wie man mit lokalen Änderungen im Filesystem und der Datenbank umgeht?
Mögliches Vorgehen wäre ein eigener git branch mit OpenXE als Upstream repo den man dann jeweils merged und zusammen auf dem Zielserver deployed.
Ist die Implementierung eines Modulsystems geplant, um OpenXE um zusätzliche Module erweitern zu können, ohne die Kernkomponenten zu beeinträchtigen?
-
Bei Xentral Opensource V 20.1 gab es noch die Funktion Belegevorlagen. Damit konnten in Angeboten, Aufträgen, Rechnungen, etc. Vorlagen gespeichert und geladen werden und z.B. eine einheitliche Angebotsstruktur vorzugeben. Die Funktion ist in den späteren Xentral Opensource Versionen nicht mehr vorhanden und daher auch in OpenXE nicht. Sollte aber ohne größeren Aufwand wieder implementiert werden können.
-
Ich erstelle per cron einen nächtlichen mysqldump und zeitgleich einen Snapshot der Dateien (komplette Installation mit Anpassungen und Userdata) an einem anderen Standort.
Der lokale Mirror wird dann mit BorgBackup mit einer Retention von 90 Tagen für die monatlichen Backups und 7 täglichen gesichert.
-
-
Ich glaube in dem aktuellen upgrade Script ist ein Syntax Error.
Sieht so aus als würde die Klammer nicht geschlossen werden in den Cases
Wir könnten für so Kleinigkeiten mal einen Slack Space einrichten

-
Aktuell sind es für den Installer lediglich 15 Spalten die es betrifft.
Das größte davon ist "Customer Supplied". Da wäre vchar doch kein Problem, oder?
Code
Display More< SET innodb_strict_mode = OFF; 10414c10413 < `upspfad` text NOT NULL DEFAULT '0', --- > `upspfad` text NOT NULL DEFAULT '', 10428c10427 < `intraship_country` text NOT NULL DEFAULT 'germany', --- > `intraship_country` text NOT NULL DEFAULT '', 10497,10498c10496,10497 < `kasse_text_bemerkung` text NOT NULL DEFAULT 'Interne Bemerkung', < `kasse_text_freitext` text NOT NULL DEFAULT 'Text auf Beleg', --- > `kasse_text_bemerkung` text NOT NULL DEFAULT '', > `kasse_text_freitext` text NOT NULL DEFAULT '', 10522c10521 < `kasse_vorauswahl_anrede` text NOT NULL DEFAULT 'herr', --- > `kasse_vorauswahl_anrede` text NOT NULL DEFAULT '', 10528,10529c10527,10528 < `dpdendung` text NOT NULL DEFAULT '.csv', < `dhlendung` text NOT NULL DEFAULT '.csv', --- > `dpdendung` text NOT NULL DEFAULT '', > `dhlendung` text NOT NULL DEFAULT '', 10562c10561 < `status` text NOT NULL DEFAULT 'gestartet', --- > `status` text NOT NULL DEFAULT '', 10566c10565 < `kasse_bon_zeile1` text NOT NULL DEFAULT 'Xentral Store', --- > `kasse_bon_zeile1` text NOT NULL DEFAULT '', 10582c10581 < `intraship_partnerid` text NOT NULL DEFAULT '01', --- > `intraship_partnerid` text NOT NULL DEFAULT '', 10665,10669c10664,10668 < `ups_ausgabe` text NOT NULL DEFAULT 'GIF', < `ups_package_code` text NOT NULL DEFAULT '02', < `ups_package_description` text NOT NULL DEFAULT 'Customer Supplied', < `ups_service_code` text NOT NULL DEFAULT '11', < `ups_service_description` text NOT NULL DEFAULT 'UPS Standard', --- > `ups_ausgabe` text NOT NULL DEFAULT '', > `ups_package_code` text NOT NULL DEFAULT '', > `ups_package_description` text NOT NULL DEFAULT '', > `ups_service_code` text NOT NULL DEFAULT '', > `ups_service_description` text NOT NULL DEFAULT '', -
Damit funktioniert die Installation soweit. Für den Live Betrieb aber nicht optimal.
Unter Controlling-> Verkaufszahlen bekomme ich noch folgenden Fehler. Kannst du dir da einen Reim darauf machen?