Virtuemart und Joomla 4, Joomla-API

  • Bin mir nicht sicher, wo ich diese Frage thematisch abkippen soll. Hoffe hier passt es und wird auch gefunden/beachtet. Evtl. wäre es auch an der Zeit eine neue Kategorie für "VM unter Joomla 4" zu kreieren.


    Nun zu meinen Fragen:


    Ich soll für das ERP "Xentral" eine Shop-Anbindung realisieren. Als Joomla-Fan und VM-Krieger, möchte ich gern auf dieser HomeBase bleiben. Xentral hat schon einige Importer als Module an Board, um damit die Shopanbindung zu realisieren (Shopware, WooCommerce etc.) - leider nicht für Joomla / VM. Diese Importer-Module nutzen dabei die API's von z.B. Shopware oder WooCommerce. In ähnlicher Weise möchte ich verfahren, um nah am Xentral-Konzept bleiben zu können. Allerdings bietet weder Joomla noch VM eine solche API. Nun habe ich gelesen, dass Joomla4 zumindest eine API an Board haben wird. Ich bin nun geneigt, diese Joomla-API auf VM zu erweitern. Dazu wollte ich gern mal VM unter Joomla4 installieren, um eine entsprechende Spielwiese aufzubauen. Max hatte mir bestätigt, dass es solche laufenden "Installationen/Projekte" schon gibt. Nun, meine Tests ein solches Projekt aufzusetzen scheitern ("Interface 'JObservableInterface' not found on vmtable.php on line 35").


    Frage: Hat jemand schon Erfahrungen diesbezüglich oder ein solches Projekt evtl. als Package?

    Frage: Wie genau ist der Stand VM mit/unter Joomla!4 ? Ich kenne dazu die generellen Aussagen der Core-Entwickler, dass man es da langsam angeht. Ist für mich auch nachvollziehbar.

    Ich rechne bei meinem Projekt eh mit ca. 6 Monaten bis zum Live-Gang. Bis dahin sollte Joomla 4 produktiv eingesetzt werden können und auch VM andocken. Aber irgendwann muss auch VM anfangen.


    Gern suche ich Projektpartner, falls auch für andere das leistungsfähige OS Xentral als ERP-Lösung interressant ist und dafür eine VM-Shopanbindung möchte.

  • Servus,


    ich hatte einen VirtueMart 3.2.14 teilweise unter J 4 Alpha 4 laufen und später noch einmal einen unter Alpha 11, wenn ich mich recht erinnere, allerdings existieren die Installationen nicht mehr.

    Unter J 4 Beta 5 hatte ich angefangen, aber dann fehlte leider die Zeit.

    Einige Notizen dazu könnten helfen, aber die meisten Sachen hatte ich noch nicht aufgeschrieben, weil es noch sehr früh war.


    vmTable

    -------

    class VmTable extends vObject implements JObservableInterface, JTableInterface {

    To:

    class VmTable extends vObject implements \JTableInterface, DispatcherAwareInterface {

    JApplication

    -------------

    isAdmin()

    isSite()

    To:

    isClient('administrator')

    isClient('site')


    Ersteres hab ich zum Observer gefunden, das lief danach auch.

    In den letzten VM-Versionen sind immer wieder einmal ein paar dieser J4-Beobachtungen mit eingeflossen, angefangen hat es also, nur noch nicht im vollen Umfang, dafür war noch zu viel anderes auf dem Plan, insbesondere PHP 8 ist im Moment wichtig. Max hatte aber schon angedeutet, dass der Weg Richtung J 4 jetzt ziemlich weit oben auf der Liste steht.


    Joomla 4 in 6 Monaten ist eine schöne Hoffnung, das wäre natürlich fein.

    Eine einfache API-Anbindung für VM an ERP-Systeme wäre natürlich ebenfalls nicht schlecht.


    Ich hoffe mein IRP lässt es zu, dass ich mich damit bald beschäftigen kann.


    Grüße

    Stefan

  • Hallo Stefan, besten Dank für Dein Feedback.

    Ja, Joomla 4 lässt echt auf sich warten. Schon in 2019 hatte ich Kundenaufträge für J!-Neuprojekte, die ich vertröstet hatte auf die neue Hauptversion - damit nicht kurz nach Launch eines 3er-Projektes gleich wieder Kosten für 'ne Migration anfallen würden. 2 Kunden habe ich verloren, weil die nicht mehr länger warten wollten. Wenn ich nur gewusst hätte, dass die 4er noch so lange brauchen würde von Beta in produktiv... Grrh!


    Ja, Deine o.g. Fehler hatte ich auch gesehen und dann abgebrochen. Ist wohl doch nicht mit ein paar kleinen Anpassungen zu stemmen.


    Ich habe noch keine Erfahrungen bzgl. einer API-Programmierung. Wird jetzt das erste mal sein. Bin mir nicht mal sicher ob es überhaupt Sinn macht, sich da auf die Joomla-API stützen zu wollen, oder ob ich die nicht komplett autark nur für VM mache. Wenn J!4 noch so lange brauchen wird und dann erst noch VM adaptiert werden muss, ist vermutlich auch meine Zielzeit überschritten. Langsam reift der Verdacht, dass es doch sinnvoll ist, unter J!3 zu beginnen.


    Bei der API werde ich mich weitgehend daran halten wie es Xentral und Shopware handhaben. Xentral-seitig werde ich die Class vermutlich zu 100% übernehmen und VM-seitig die API entsprechend passend stricken. In meinem Projektfall bringt das Vorteile für die Updatefähigkeit.

  • Wenn ich Seiten baue, denke ich noch überhaupt nicht an J 4, ich denke an zwei Jahre Support für J 3.10 nach J 4-Veröffentlichung.


    Der Schritt zu J 4 sollte dann fließend über ziemlich normale Erweiterungs-Updates unter J 3.10 beginnen, plus ein wenig einmaliger Zusatzarbeit beim finalen Schritt zu J 4, im Grunde aber fast Teil der normalen Wartung.


    Und wenn das dann in 2 bis 3 Jahren noch einmal 3 bis 10 Stunden mehr kostet, dann sollte das ein gesunder Shop verkraften können.


    Ich hatte übrigens versucht, mir das Xentral einmal anzuschauen, aber das "leistungsfähige Xentral" scheint da eine etwas weniger leistungsfähige Abwicklung beim Download der Open Source Version zu haben. "Seite nicht gefunden."

    Was allerdings gut war, so werde ich jetzt herausfinden, wie gut der Support ist.

  • Nachtrag zu Xentral:


    Der Support scheint zu funktionieren. Heute kam eine Antwort.

    Ein Installer liegt auf Github, der dann die aktuelle Version herunterlädt und installiert. Das ging fix und einfach.

    Eine Suchmaschine findet die genaue Adresse der Software sicher.


    Es sieht so aus, als ob man auch mit CSV arbeiten könnte.

    Soweit sieht das ganz nett aus, aber ziemlich umfangreich, da könnte ich in der ruhigen Zeit zwischen Weihnachten und Neujahr einmal reinschauen.

    Ist ja nicht mehr so lange.


    Grüße

    Stefan

  • Also die Importer-API für VirtueMart als Connector zur Warenwirtschaft Xentral funktioniert jetzt schon mal in eine Richtung hin zum Shop. Man kann den Shop schon über Xentral füttern (Produkte, Kategorien, Bilder, Preise, Sonderpreise ...). Da die Kategorie-Verwaltung in Xentral nur sehr schmächtig war, wurde dafür gleich noch ein ArtikelbaumShop-Modul programmiert um alle VM-Kategorie-Features auch von Xentral aus bedienen zu können (Bilder, Beschreibungen, MetagTags, Sortierung, Parentkategorie). Das dazugehörige Erst-Echtprojekt geht sicher in 1-2 Wochen online. Wenn dann erste Bestellungen reinkommen, werde ich langsam die andere Richtung in die API programmieren, also die Übergabe der Kunden- und Bestelldaten an Xentral zwecks dortiger Auftragsbearbeitung/Versand/Rechung etc.

    Werde hier weiter berichten. Wer Interesse hat an dieser Xentral-2-VM-API sollte sich bei mir melden.

  • Hier mal mein Update zum Thema Xentral-Connector: Das Projekt ist nun seit über einem Jahr online (DIEBEG.de) und der Connector läuft stabil. Leider war der Support von Xentral so grottig und viele dem Kunden von Seiten Xentral-Vertrieb versprochene Funktionen nicht sauber oder noch immer nicht umgesetzt, so dass der Kunde entnervt aufgeben hat. Der Shop basierend auf VM wurde von Xentral abgekoppelt (was ja zum Glück problemlos möglich ist) und quasi stand-alone ohne Wawi betrieben.


    Sollte wider Erwarten jemand Interesse an diesem Xentral-VM-Connector oder meinem dafür angesammeltem KnowHow, stehe ich gern zur Verfügung. In das Projekt ist sehr viel mehr Aufwand reingeflossen, als es der Kunde für mich durchfinanziert hat. Wäre also super, wenn es doch noch genutzt werden würde.

  • Hallo joomlaa,


    aus welchem Grund hast du / habt ihr die Xentral WAWI eingesetzt?

    Gab es Gründe, welche eindeutig für Xentral gesprochen haben?

    Warum z.B. nicht eine JTL WAWI einsetzten? Bzw. wo liegen in JTL und Xentral die Unterschiede?


    Grüße

    SirBoerky

    LiveShop:

    VirtueMart 4.2.4 | Joomla: 3.10.12 | PHP 8.0.30 | JTL - WAWI 1.7 | Template: VP Merchant


    TestShop Umgebung:

    VirtueMart 4.2.6 | Joomla 4.4.2 + Joomla 5.0.2 | PHP 8.1.27 | Template: VP Merchant & VP SMART

    ------------------------------------

    Zusammen gegen Rassismus | gegen Menschenfeindlichkeit | gegen Hass

  • Hi SirBoerky,

    Die Entscheidung für Xentral hat der Kunde vor der Zus.arbeit mit mir allein getroffen, vermutlich nicht mal allein, sondern begleitet durch eine Consultingfirma. Zum einen war es das vollmundig versprochene Leistungsangebot in der Xentral-Werbung und ein potenter Verkäufer. Der Kunde ist vermutlich auch auf die Zugnummer Frank Thelen abgefahren, der das Produkt in höchsten Tönen lobte ... Der Kunde hat ein sehr spezielles Geschäft und spezielle Vorhaben. Es schien so, als ob Xentral mit den vorhandenen Modulen dies am ehesten abbilden konnte.


    Als der Kunde mich zu Hilfe nahm, weil das Projekt festgefahren und der Support sich als schlecht rausstellte, war ich ansich auch mit der Entscheidung für Xental sehr zufrieden. Xentral läuft auf LInux, PHP und MySQL, wo ich mich kompetenzmäßig zu Hause fühle und ich wusste, da kann ich helfen. Außerdem gibt es eine "quasi" OpenSource-Version was mir als Entwickler die Möglichkeit bot die gewünschten Anpassungsprogrammierungen und Erweiterungen (z.B. Shopanbindung, Prozesssteuerung, Kassenanbindung ...) anbinden zu können. Tatsächlich ist das Konzept von Xentral wirklich top.


    Bei Wawi's ist das i.d.R. so, dass alle versprechen viele Module zu haben, was es aber wirklich leistet und wie gut der notwendige Support ist bekommt man erst raus, wenn man bereits seeehr viel Zeit und Geld investiert hat. Dieser Irrweg hat den Kunden fast 25T€ gekostet.


    In einem anderen Post hatte ich schon geschrieben, dass wir gemeinsam die Reißleine gezogen haben und ich den Kunden dann JTL empfohlen habe. (Zum Verständnis: Der Kunde hatte zwei Unternehmen gehabt, beide sollten über Xentral als Mandanten laufen. Die o.g. DIEBEG für die es die VM-Shop-Anbindung gibt, wurde verkauft. Für das andere Unternehmen haben wir uns nun für JTL entschieden.)


    JTL ist extrem solide, sehr stabil, leider keine OS und nicht LAMP baisiert sondern MS-SQL-Server basiert. Es bringt seinen eigenen Webshop mit, der ebenfalls grundsolide ist. In Verbindung mit der Wawi ist diese Lösung auch wirklich besser als VM. Speziell die gesuchte Kassenanbindung ist fantastisch. Der Support funktioniert bei JTL, obwohl man Ihn weit weniger benötigt weil auch die Tutorials, Community und Hilfseiten eine gut gefüllte Wissensquelle sind. Zudem gibt es kostenlose Workshops etc. Von JTL bin ich begeistert.


    Für JTL habe ich mittlerweile für den Kunden eine Anwendung basieren auf Joomla4 entwickelt. Auch wenn Joomla an sich nicht die zu bevorzugende Wahl dafür ist (besser wäre vermutlich eine Framework wie Laravell gewesen) wurde sich trotzdem dafür entschieden, weil diverse Aufgabenstellung die Nähe zu den CMS-Funktionen anstrebte. Programmiert wurde ein Outfit-Manager als Prozesssteuerung, eine Kundenterminverwaltung und eine Transport-/Pick-listenverwaltung. Da JTL eine proprietäre Software ist und man in den Core kaum eigenen Code bekommt, wurde das außerhalb der Wawi als Joomla-Komponente realisiert. Kompliziert war der Datenbank-Connect zw. Joomla und JTL. Es gibt zwar auch für diese Zwecke eine API, aber da muss man dann mit dem vorhandenen Methodenumfang auskommen, was uns nicht reichte.

  • Hallo jooomlaa,

    vielen Dank für deine tiefgehende und umfassende Antwort.


    Ich habe bisher ebenfalls nur gute Erfahrungen mit JTL gesammelt.

    Die Dokumentationen sind einfach Spitze. Zusammen mit dem umfassenden Forum und den Online Schulungen sind die einfach "vorne drann". Hier gibt es, so glaube ich, wenig Konkurrenz in der gleichen Preisklasse.


    Wir setzten mit einem eigenen Inhouse-Server JTL als WAWI ein.

    In unserem Hofladen haben wir eine POS-Softawre von Luwosoft.

    Im Onlinebereich läuft Joomla 3.10 + VM 4.02 - der Connector von Markus Kahn (Pro-Tech) schafft es gut, zwischen VM und WAWI zu synchronisieren.


    Also insgesamt sind wir / bin ich sehr zufrieden mit dieser Lösung. Vor allem fällt mit dem Einsatz von Virtuemart die Einschränkung auf 500 Artikel weg.


    Auf welchen Connector greift ihr zurück? Oder selbst geschrieben?



    Herzliche Grüße

    SirBoerky

    LiveShop:

    VirtueMart 4.2.4 | Joomla: 3.10.12 | PHP 8.0.30 | JTL - WAWI 1.7 | Template: VP Merchant


    TestShop Umgebung:

    VirtueMart 4.2.6 | Joomla 4.4.2 + Joomla 5.0.2 | PHP 8.1.27 | Template: VP Merchant & VP SMART

    ------------------------------------

    Zusammen gegen Rassismus | gegen Menschenfeindlichkeit | gegen Hass

  • Auf welchen Connector greift ihr zurück? Oder selbst geschrieben?

    Ich mache ja aktuell keine Anbindung von JTL zu VM, sondern lediglich von meiner eigens programmierten Joomla-Komponenten "Outfit-Manager" (=OM) zu JTL. Tatsächlich habe ich dafür einen eigenen Connector programmiert.


    Will mal ganz kurz zum Verständnis beschreiben was der OM macht: Mein Kunde ist ein Herrenausstatter mit Maßkonfektion - schneidert also indiv. passende Anzüge. Er brauchte zur Organisation seiner Abläufe die Möglichkeit alle Kundenmaße und die indiv. Kundenwünsche zu erfassen. Diese will er überall remote und mobiltauglich zur Verfügung haben (in allen Filialen, in der Produktion, bei Außeneinsätzen, Einkaufstouren etc.) Die Mitarbeiter sollten bei der Erfassung und Verwaltung der Daten und Aufträge optimal supportet werden - zur Fehlervermeidung etc. Zudem sollten sämtliche Terminketten (Schwerpunkt Fertigstellungstermin/Anproben) durch den OM gemanagt werden (Ampel) inkl. dem rechtzeitigen und vollst. Transport von Waren und Anzugteilen etc. zwischen den Filialen, Produktionsstandorten, Lagern, Lieferanten (Picklisten). Du weißt, einige Dinge davon sind so in JTL nicht möglich. JTL versteht sich als Warenwirtschaft und nicht als vollwertiges ERP (hier war Xentral breiter orientiert). Deshalb ist aktuell keine wirkliche Prozessverwaltung, Terminverwaltung oder flexibles KIS in JTL enthalten. Das leistet spezialisiert nun der OM.


    Wie gesagt, als Connector zw. externen Anwendungen und dem Wawi-System stellt JTL eine API. Aber diese kann nicht alles und lässt sich auch nicht von Externen erweitern, weil es ein Core-Bestandteil ist und nur von JTL gepflegt wird. Damit stellt JTL die Sicherheit und Stabilität des Systems sicher.


    Das Argument mit der Nutzung von VM als Webshop, um die 500 Art.-Beschränkung zu umgehen, ist nachvollziehbar und ich habe ersthaft darüber nachgedacht. Denn für o.g. Kunden soll auch noch ein Webshop entstehen. Jedoch finde ich den JTL-Shop so stark und solide, dass es außer wg. der Kosten keine weiteren Argumente gibt. Evtl. noch der bedauerliche Verzicht auf das Joomla-Framework. Jedoch hat JTL in der neuen Version einen absolut top Composer. Somit ist es nun sehr einfach quasi wie in einem CMS in den Shop weitere Inhalte zu integrieren. In früheren JTL-Versionen war genau diese CMS-Aufgabe immer aufwendig und kompliziert.


    In Anbetracht dessen, dass schon die Wawi kostenlos ist und JTL ein super Produkt bereitstellt, würde ich es schäbig finden noch die moderaten Kosten für den Shop sparen zu wollen und deshalb auf VM auszuweichen. Letztlich bietet JTL extrem gute POS-Features die gut mit dem JTL-Shop zusammenspielen.

  • Hier mal ein Screenshot vom Outfit-Manager, da er als Intranet-Lösung ja nicht öffentlich zugänglich ist. Wie gesagt, basiert auf Joomla 4 und JTL neueste Version inkl. eigenem Connector innerhalb der Komponente.