Changelog 2019
Auf dieser Seite werden die Änderungen an LISA im Jahr 2019 angezeigt. Um andere Jahre zu sehen, suche bitte nach "Changelog".
27.10.2019 Probleme mit Google Chrome
Mit einem der letzten Updates zwischen 77.0.3865.120 und 78.0.3904.70 (dem aktuellen Stable-Release) hat Google offenbar einen Bug in Chrome eingespielt. In den LISA-Suchergebnissen und in den Bestellungen auf der Kundenseite werden <nobr>-HTML-Tags nicht korrekt dargestellt, was zu ungewollten Textumbrüchen innerhalb von Tabellen führt. In Build 79.0.3945.8, einer Entwickler-Version, ist der Bug bereits behoben. Ich hoffe, dass Google die bereinigte Version von Chrome bald der breiten Öffentlichkeit zur Verfügung stellt.
Wer nicht warten möchte, kann sich die Entwickler-Version hier herunterladen: Google Chrome Dev
20.10.2019 Lieferscheine
Ich habe einige Änderungen vorgenommen, die den Umgang mit Lieferscheinen von Lieferanten betreffen:
- Der Reiter "Lieferscheine" unter Verwaltung -> Artikel-Bestände ist ganz nach links gerutscht.
- Bei einem Klick auf Verwaltung -> Artikel-Bestände wird der Reiter "Lieferscheine" angesteuert.
- Der Container, der es einem erlaubte, unter diesem Reiter sofort einen neuen Lieferschein einzugeben, entfällt. Er wird ersetzt durch eine Auswahl, ob ein Lieferschein eingegeben oder importiert werden soll.
- Der Reiter "Lieferschein-Import" entfällt somit ebenfalls. Es gibt nur noch eine einzige Lieferschein-Übersichtsseite unter dem Reiter "Lieferscheine".
- LISA speichert beim Import von Lieferscheinen den eventuell mitgelieferten empfohlenen Verkaufspreis in der Bestandsbuchung.
- Beim Import von Lieferscheinen gibt es unter dem Posten-Container zwei neue Checkboxen, Die erste gibt an, ob eine Kontrolle der Artikel-Preisdaten erfolgen soll. Unterscheiden sich Einkaufspreise oder empfohlene Verkaufspreise des Lieferscheins von denen in LISA, wird diese Checkbox automatisch angehakt. Die zweite gibt an, ob eine Kontrolle der gelieferten Artikelmengen erfolgen soll. Diese Checkbox ist automatisch aktiviert.
- Auf der Lieferscheine-Übersichtsseite wird bei jedem Lieferschein vor der Postenzahl eines von zwei Symbolen angezeigt: Ein grau-blauer Haken bedeutet, dass der Lieferschein nicht kontrolliert werden soll. Ein schwarz-gelbes Ausrufezeichen signalisiert, dass eine Kontrolle erforderlich ist.
- Durch einen Klick auf die neuen Symbole gelangst du zur Lieferschein-Kontrolle.
Die Lieferschein-Kontrolle ermöglicht es, dass Lieferscheine zunächst ohne weitere Prüfung eingelesen werden können, was eine schnelle Aktualisierung des Bestandes bedeutet. Im Gegensatz zu vorher ist dies nun sozusagen der Königsweg: Zuerst wird der Lieferschein einfach eingelesen. Es muss dabei nichts weiter beachtet werden, so dass Lieferscheine nun auch von unerfahrenen Personen eingelesen werden können. Im zweiten Schritt kann man eine Kontrolle des Lieferscheins vornehmen und Preisdaten sowie gelieferte Stückzahlen korrigieren. Dies kann auch zu einer anderen Zeit oder von einer anderen Person gemacht werden.
Wegen des Umfangs der Änderungen werden sich erfahrungsgemäß vermutlich Fehler eingeschlichen haben. Bitte bei mir melden ;)
07.10.2019 APC
Um die Performance zu verbessern, habe ich am 1. Oktober den APC-UserCache in den LISA-Server integriert. Er ermöglicht es, Daten über verschiedene Abfragen hinweg im Hauptspeicher zu behalten, so dass sie weder von der SSD noch aus der Datenbank geladen werden müssen.
06.10.2019 Performance-Analyse
In den letzten Tagen habe ich mir Tools gebaut, um die Performance des Servers, insbesondere die Auslieferzeit der Seiten, zu analysieren. Warum die Auslastung in den letzten Monaten stetig gestiegen ist, ist noch immer unklar; mein Augenmerk gilt aber nun dem Refactoring. Die folgenden Faktoren bremsen den Server besonders aus:
- Aktualisieren der Bestandsdaten eines Artikels (größtenteils gelöst durch Shadow)
- Die Suche nach Artikelbildern in Datenbank und Ordnerstruktur
- "Intelligente" Artikelsuche
- Anzeige der Anzahl der Artikel pro Artikelflag auf der Artikellisten-Seite (gelöst durch APC)
- Auftragspufferung (teilweise gelöst durch Shadow)
- Zu häufige Aufrufe von Suchmaschinen-Crawlers (gelöst durch frühzeitigen IP-Ban)
Es wird eine Weile dauern, dafür Lösungen zu schaffen, aber immerhin sind jetzt wesentliche Faktoren der Serverauslastung bekannt.
UPDATE: Am 09.10.2019 habe ich eine Ganztages-Analyse gemacht, die folgende Statistik ergeben hat: Zwischen 09:36 Uhr und 21:16 Uhr gab es 31.302 Server-Anfragen der größeren Dienste, also etwa LISA, Webshops und Bitgeist, zum dem auch Fairkabelt gehört, sowie auch die Cron- und Hintergrunddienste. Das liegt etwa in der Größenordnung von einer Anfrage (PageView) pro Sekunde. Die Anzahl der Anfragen, die ich als langsam betrachte - mit einer Antwortzeit ab einer Sekunde - betrug im gemessenen Zeitrahmen 2783. Etwa jede 11. Anfrage wurde somit langsam beantwortet. Im Shop waren dies etwa 1100, in LISA etwa 1.700, abzüglich etwa 950 Anfragen vom Server selbst (Cron und Shadow). LISA lieferte ihren Benutzerinnen und Benutzern 771 von 19.000 Anfragen langsam aus, das sind etwa 4 Prozent. Besonders lahm sind dabei die Verfügbarkeiten, der Import von Lieferscheinen, die Problemseite, seltener die Kundenseite, das Schreiben von Rechnungen und die Suche. Im Webshop sieht es anders aus: Eine Artikelauflistung (jede Anzeige von mehreren Artikeln auf einer Seite) dauert dort nach wie vor aufgrund der Suche nach Bildern in der Datenbank zwischen 2 und 6, um ungünstigsten Fall etwa 8 Sekunden. Ein unzumutbarer Wert, bei dem ich schauen muss, wie er möglichst schnell behoben werden kann. Der Datenbankserver kommt auf eine Abfragerate von etwa 170 pro Sekunde, was ebenfalls verbesserungsbedürftig ist. LISAs Reaktionszeit ist jedoch insgesamt wieder in Ordnung, auch wenn der Server in der letzten Zeit recht viel zu tun hat. Manche Seiten, wie etwa der Lieferschein-Import, werden möglicherweise immer etwas langsamer sein, und man muss auch bedenken, dass die meisten "langsamen" Seiten eine Auslieferzeit von nur etwas über einer Sekunde hatten. Solange die Sekunde nicht zur durchschnittlichen Reaktionszeit wird, ist alles in Ordnung.
01.10.2019 Performance-Probleme
Seit einiger Zeit ist die Performance von LISA gesunken. Dies liegt an einer Überlastung des Servers, die ich derzeit untersuche.
Da ich aus technischen Gründen nur nach Feierabend an diesem Problem arbeiten kann, sich der Server nach Feierabend aber recht brav verhält, muss ich das Problem tagsüber analysieren und daraus Schlüsse für meine nächtliche Arbeit ziehen, was wegen der Unmöglichkeit zeitnaher Tests allerdings sehr umständlich ist.
UPDATE: Ich habe alle Webserver-Prozesse analysiert. Alles, was der Server macht, ist grundsätzlich in Ordnung, nur eben sehr langsam. Am Mi 02.10.2019 schaut sich ein IT-Dienstleister, der auf derartige Probleme spezialisiert ist, den Server an.
UPDATE2: Ich konnte einen wesentlichen Faktor in der Nacht beheben. Dieser konnte durch Analyse des Webservers und der Datenbank nicht aufgefunden werden und läßt sich absurderweise auf meine vorigen programmiertechnischen Behebungsversuche zurückführen.
23.09.2019 Server nicht erreichbar
Heute morgen war der LISA-Server eine Zeit lang nicht erreichbar. Die Ursache ist noch unbekannt, ich habe den Server (nach etwa 2 Jahren zum ersten Mal) neu gestartet, und es sollte alles wieder laufen.
09.07.2019 Mehrere Artikelbilder in LISA
LISA kann nun auf der Artikelseite mit Hilfe eines Sliders mehrere Artikelbilder anzeigen. Bevor ich diese Funktion auch im Webshop anbiete, möchte ich erst einmal schauen, welche Probleme auftauchen. Die von LISA genutzten Fairkabelt-Bilder lassen sich sehr schwer konsolidieren, so dass es häufig dazu kommt, dass mehrere gleiche Artikelbilder angezeigt werden.
Um mehrere Bilder zu einem Artikel zu hinterlegen, speicherst du zusätzliche Bilder mit dem Dateinamen "artikelnummer_beschreibung.jpg" (zum Beispiel "3050901_rueckseite.jpg") und lädst sie unter Verwaltung -> Dateien hochladen hoch. Anhand des Unterstriches erkennt LISA, zu welchem Artikel die Dateien gehören.
Auf der Artikelseite unter dem Tab "Informationen" kannst du sehen, aus welcher Quelle die Bilder stammen, und sie auch löschen. Key-User können auch Bilder aus Fairkabelt löschen. Die Bilder erscheinen in der Reihenfolge, in der sie auch im Slider angezeigt werden.
Kleiner Tip: Falls du sehen möchtest, wie der Slider aussieht, kannst du beispielsweise die Artikelseite der Mango Monkeys aufrufen ;)
27.06.2019 Caching
Ich habe in der letzten Zeit Caching-Infrastruktur und entsprechende Überwachungsmechanismen aufgebaut, um Caching-Probleme zu minimieren. Das Artikellisten-Caching funktioniert beispielsweise schon viel besser als vorher, vor allem aber kann ich weitere bestehende Probleme zukünftig schneller identifizieren und beheben.
Außerdem gibt es nun die Möglichkeit, LISA verschiedene Dinge unverzüglich im Hintergrund erledigen zu lassen. Ich nenne sie "Shadow". Für die LISAnerinnen und LISAner wird so Zeit gespart, da sie nicht auf die Erledigung der Anweisungen warten müssen, während andererseits auch nicht viel Zeit vergeht, bis die Anweisungen auch tatsächlich ausgeführt werden. Die Lösung stellt also einen sehr guten Kompromiss dar.
Bisher per Shadow umgesetzt:
- Statusänderung eines Artikels (Auswirkungen auf die Auftragsseite und Anzahl der lieferbaren Artikel in Bestellungen)
- Änderung der Artikellisten eines Artikels (Auswirkungen auf Artikelzahlen der Artikellisten)
- Hinzufügen oder Entfernen von Artikeln einer dynamischen Artikelliste zu oder von regulären Artikellisten (Auswirkungen auf Artikelzahlen von Artikellisten)
- Hinzubuchen eines Artikels zu einer Kundenliste (Auswirkungen auf Bestellungen und Aufträge)
25.06.2019 Posten-Informationen auf Rechnungen
Zusätzlich zum Bemerkungsfeld eines Posten gibt es nun auch ein Informationsfeld, welches auf Rechnungen erscheint.
24.06.2019 Lieferanten-Favoriten
Unter Verwaltung -> Lieferanten generiert LISA beim Klick auf das Listen-Icon rechts in der Lieferantenzeile eine Standard-"Favoriten"-Ansicht mit Bestellungen. Falls also Favoriten zur Bestellung genutzt werden, müssen diese nicht mehr von Hand angelegt werden.
14.06.2019 Lieferschein-Definitionen abonnieren
Ab sofort ist nicht mehr zentral festgelegt, welche LISA-Installation welche elektronischen Lieferschein-Formate importieren kann. Unter Verwaltung -> Artikel-Bestände -> Lieferschein importieren gibt es nun einen (eingeklappten) Container, in dem die gewünschten Definitionen "abonniert" werden können. Wenn ein Lizenznehmer beispielsweise künftig bei Nepalaya bestellt, kann er das gewünschte Lieferscheinformat dort abonnieren und ist sofort bereit, entsprechende Lieferscheine zu importieren.
29.05.2019 Konditions-Artikellisten aus Fairkabelt
Beim Import von Artikeln aus Fairkabelt kann LISA bei bestimmten Importeuren (momentan GEPA, zukünftig beispielsweise El Puente) die Konditions-Artikelliste (z.B. "Röstkaffee") automatisch festlegen. Ich habe die GEPA-Artikellisten bei allen Lizenznehmern, die das GEPA-Rabattsystem abbilden, entsprechend vorbereitet.
10.05.2019 DHL-Webservice
Wer das DHL-Geschäftskundenportal verwendet, kann seine DHL-Labels künftig auch mit LISA generieren. Bitte bei Interesse Bescheid sagen, dann richte ich einen Zugang ein.
27.04.2019 Webshop-Downloads-Verwaltung
Ich habe die Verwaltung der Webshop-Downloads komplett neu programmiert. Es ist jetzt auch für "normale" LISAnerinnen und LISAner ohne großen Aufwand möglich, Downloads im Shop und in LISA zur Verfügung zu stellen.
11.03.2019 MwSt-Probleme bei Fairkabelt
Seit Februar kam es durch eine programmiertechnische Unachtsamkeit zu falschen MwSt-Zuordnungen bei Fairkabelt. Dieser Fehler sollte nun endgültig behoben sein.
19.02.2019 Passende Artikel
Der Webshop kann Gruppen von Artikeln als passende weitere Artikel darstellen. Hierzu wird eine dynamische Artikelliste angelegt und mit dem Schlüssel "Passend" versehen. In ihr werden alle Artikel gespeichert, die im Webshop als zusammen passende Artikel dargestellt werden sollen. Dies kann beispielsweise eine bestimmte Kollektion sein. Im Webshop werden die weiteren Artikel dieser dynamischen Liste dann unten auf der Artikelseite angezeigt.
Eine weitere Möglichkeit ist es, eine dynamische Artikelliste anzulegen, die mit der Artikelnummer eines Artikels beginnt, gefolgt von einem Leerzeichen und beliebigen anderen Zeichen. Einer solchen Liste wird der Schlüssel "Zubehör" zugeordnet. Auf der Artikelseite aller in einer solchen Liste befindlichen Artikel taucht dann der mit der Artikelnummer definierte Artikel als passender Artikel auf.
01.01.2019 Rechnungen schreiben
Um LISA intuitiver zu gestalten, habe ich ein paar Änderungen vorgenommen:
- Nach dem Erledigen einer Bestellung wird diese fortan Rechnungsgrundlage genannt.
- Sofern eine Rechnungsgrundlage noch nicht fakturiert ist, wird diese vor allen Bestellungen auf der Kundenseite angezeigt.
- Aus der Notification heraus lässt sich keine Rechnung mehr schreiben, sie dient nur als Info.
- Die Notification lässt sich nicht mehr wegklicken.
- Rechnungen lassen sich nur noch aus der Rechnungsgrundlage erstellen.