Da alles andere irgendwie zu groß oder zu teuer ist, habe ich mir mal was einfaches kleines gebaut. Es braucht zwar einen Client als Service auf dem PC (oder starten mit Admin-Rechten), aber dafür läuft alles über HTTP und der Client-PC muss nicht eingeschaltet sein, sondern prüft wenn er angeht oder jede Stunde einmal.
Momentan gibt es noch keine Unterscheidung der Betriebssysteme und eine gute Server-Umgebung fehlt auch. Aber man kann auch alles ganz plain und primitiv auf dem Server ablegen ohne eine extra Software.
Mal gucken was daraus wird. Aber gerade weil es alles so einfach und klein ist, sehe ich da doch etwas Potential, wenn dann eine Server-Software dafür existiert wird.
Wenn beim Versuch Shopware zu updaten, der Prozess-Dialog ewig läuft und dann irgendwann das Backenend einfach neu lädt, kann es am media/ Verzeichnis liegen. Ich hab, als das Problem bei meinem lokalen Entwickler-Shop auftrat erst einmal alle leeren Verzeichnisse entfernt mit
sudo find media/ -type d -empty -delete
Dann noch mal die Rechte für die Dateien neu gesetzt (wegen über SCP hochgeladene Plugins oder so) und nachdem das Backend zwei mal neugeladen wurde, lief das Update sofort und ohne Probleme an. Hat mich zwar einige Stunden gekostet, bis alles soweit war, aber endlich wieder Updaten zu können ist es auch wert.
Ich hatte viele Texteditor in den letzten 12 Jahren... Der Windows Editor, Phase 5, Textmate, EmEditor, Geany, Atom und Notepad++. Aber am Ende bin ich nur mit Notepad++ glücklich. Einfach schliessen und alles ist wieder da ohne dass man es speichern musste. Hab ich bei Atom nicht hinbekommen. Da klappte es nur immer für den ersten Tab alle anderen gingen verloren.
Jetzt bin ich sogar so weit gegangen und hab mir Notepad++ unter Linux installiert.. ich bin damit sehr viel schneller als mit Geany. Find & Replace funktioniert da irgendwie besser, schneller und einfacher als bei Geany.
Auch wenn die Commits etwas wirr aussehen.. Release 1.1 mit White- und Blacklist ist auf dem Weg und wird noch in den nächsten Tagen, dann im Community Store als neue Version eingereicht.
Wenn man beim Einrichten der Oculus Rift an dem Punkt wo man die Geräte anschließen soll das Problem hat, dass der Rechner einfriert, kann es gut an der HDMI-Verbindung liegen. Die Rift scheint nicht gut mit Displayport auf HDMI Adaptern klar zu kommen. Also einfach das Display mit dem Adapter anschließen und die Rift direkt verbinden. Das hat bei uns das Problem gelöst.
Als ich heute den Ort der Ruhe und Besinnung aufsuchte, kamen mir Gedanken zu einem modernen und auf Effizient ausgelegtes Arbeitszeitmodel. Es geht dabei darum die wirklich produktiven Zeiten eines Mitarbeiter möglich gut zu nutzen und die weniger produktiven Zeiten dafür zu nutzen, neue Energie für die anderen Zeiten zu sammeln.
Ich gehe dabei davon aus, dass ein Mitarbeiter nicht 8h mit voller Produktivität arbeiten kann, und diese Verteilung der produktiven Zeit der 80/20 Regel folgt. Also kann man auf die Zeit mit der 20% Leistung auch verzichten und sie dem Mitarbeiter schenken. Die dadurch gewonnene Zeit wird sich dann hoffentlich in mehr Motivation und Energie in der 80% Zeit niederschlagen.
Arbeitszeit: 7:30 - 18:00
Kernzeit: 10:00 - 15:00
Pausenzeiten: nach Gesetzlichen Regelungen oder länger (nach eigenem Ermessen)
Stunden pro Tag: 6,5h
Mögliche persönliche Überstunden: max 5 x 6,5h (übrige verfallen zum Monatsende)
Angeordnete Überstunden: verfallen nie
Urlaub: Halbe Tage sind möglich (Überlappende Zeiten (wenn man bei einem halben Tag nur 2h eher geht) werden als persönliche Überstunden angerechnet)
Homeoffice: 1 Tag pro Woche oder zusätzliche nach Absprache (wegen Handwerkern, kranken Kindern und so...)
Zeiten werden immer gestempelt und auch die Sekunde genau erfasst. Zeiterfassungen für Projekte erfolgt außerhalb und zusätzlich zur normalen Arbeitszeiterfassung.
Ich glaube es könnte so funktionieren, ohne groß produktive Arbeitszeit einbüßen zu müssen. Dafür dann aber mit mehr Leistung der Mitarbeiter in der kürzeren Zeit.
Der nächste Schritt wäre den Overhead zu minimieren, damit man die kurze Zeit besser ausnutzen kann.
Mein neues Plugin ist online. Es kann warnen, wenn sich der Preis der eines Artikels um mehr als X% in einem bestimmten Zeitraum (letzte Änderung, 1 Tag, 7 Tage, 30 Tage) ändert. Es kann auch eine Email verschicken oder den Artikel direkt deaktivieren.
Auch kann das Plugin mein anderes Plugin ersetzen und auch 0,00-Preise reagieren.
Nächstes Jahr werde ich wirklich mal das Adventskalender-Projekt nach vorne bringen. Mit Shopware Emotion-Element und so. Erstmal stehen jetzt für Ende diesen und Anfang nächsten Jahres folgende Dinge auf meiner Todo-Liste:
- Shopware-Plugin: Warnung bei unnatürlichen Preisänderungen
- Shopware-Plugin: Globale Smarty-Variablen für Kundendaten
- Shopware-Plugin: XML-Order Export für ERP-Integration
Dann kommt noch die Planung/Konzeptionierung für ein Projekt mit RFID Technik in Kombination mit vielleicht Shopware.
Und auch SMS2X soll noch mal verbessert werden, so dass es vielleicht mal zum Einsatz kommen kann.
Auch Zeitmessung ab von RFID wird mich wohl noch mal beschäftigen.
Nach.. öhmm.. 1,2,3.. ganz vielen Jahren habe ich ein Foto bei Fotolia verkauft. Aber ich glaube ich belasse es dabei.. der Freigabe Prozess ist da genau so nervig wie damals bei Firefox OS.. da bleibe ich lieber bei Shopware-Plugins. Die nehmen einen da zur Not an die Hand bei der Freigabe und sind immer nett und helfen wirklich toll.
Ich nehme das jetzt mal als kleines Weihnachtswunder hin :-)
Manchmal möchte man nicht nur PHP-Code erweitern sondern auch den JavaScript-Code. Hier findet man eine wirklich gute und kurze Anleitung, wie man dabei vorgeht.
Sobald ein Plugin neue Models/Entities verwendet oder vorhandene erweitert, sollte das Plugin auch einen Controller für die REST-API mitbringen. Nichts ist nerviger als ein Plugin zu testen und nach 2 Minuten abzubrechen, weil das Plugin keine REST-API hat und man alles im Backend des Shops nachpflegen müsste, was man gerne beim Import der Daten aus dem PIM oder ERP schon gerne direkt mit erledigt hätte. Sets und Bundles sind da so ein Fall.
Was nützt es mir Sets und Bundles aus Artikeln im Backend zusammen bauen zu können wie sie im PIM definiert sind und zwar aus den Artikeln, die aus dem PIM Importiert werden? Wieso nicht direkt gleich mit importieren?
Integration sollte immer an erster Stelle stehen, denn oft diese Integration zu schaffen ist oft teuer und man verzichtet lieber auf ein oder zwei Features, wenn man dann nicht wieder selbst Import- und Exportlösungen zusammen stricken muss, die beim Update des Plugin vielleicht wieder hinfällig werden.