2014. október 10., péntek

Webshop körkép

Mostanában sokan keresnek, akiknek egy már meglévő webshopból kellene valamit kihozni, fejleszteni, összekötni számlázóval, és így tovább...

Az esetek többségében valamilyen open-source rendszeren működik a shop, többségében Joomla-VM, Prestashop rendszereklől van szó, és többségében valamiféle egyedi dolgot kell hozzátenni.

Nos nézzük az általános problémákat, főleg joomla-vm, wordpress tekintetben.

1. Jelenleg semmit nem tudni sem a joomla sem a virtuemart jövőjéről, a korábbi ígéretek nem teljesültek a rendszerekkel kapcsolatban, a joomla a korábbi LTS kiadású verziókat elhagyta, a Virtuemart még nem érte utol magát, tehát első körben új shopot rábízni nem ajánlott erre a rendszerre.

2. Amikor valami egyedivel egészítjük ki a meglévő rendszert, akkor félő, hogy arra kihatással lesz a rendszermag frissítése, így az egyedi fejlesztésünk sem ér véget soha, amit az ügyfél nem feltétlen ért meg, vagy fogad el.

3. Gyakran hallom megrendelők részéről, hogy azért wordpress, joomla, presta, stb..., mert ahhoz sokan értenek, így ha a korábban elkészült oldalával az eredeti készítő nem tud foglalkozni, akkor könnyen talál rá mást. Ez így marhaság ahogy van...
A tapasztalat két fő indokot mutat, amiért a készítő elhagyja az elkészített munkája támogatását (amennyiben készítő nem szomszéd Pistike):
 - a megrendelő fizetési hajlandósága a szolgáltatásért ... hogy is mondjam... nincs.
 - a készítő tovább lépett a wordpresses világon, komolyabb munkákkal foglalkozik, így átadja a stafétát másnak.

4. Amikor valami egyedire van szükség a rendszeren belül, amit nem találunk meg a sok tízezer ingyenes plugin között, akkor azt bizony le kell fejlesztetni, amire a kivitelezők többségének (tisztelet a kivételnek) nincs képessége, így a végén a megrendelő kénytelen kompromiszzumokat kötni az elvárt működéshez képest.

Opció még újonnan induló shopoknál valamelyik szolgáltató által elérhetővé tett webshop bérlési konstrukció igénybe vétele.
Ezek a shopok jó ár-érték aránnyal kecsegtetnek, szintén addig, amíg nem jelentkezik olyan igény, amit nem tudnak kielégíteni az alap szolgáltatásban (legyen az csak egy eltérő megjelenés).

A fentiek figyelembe vételével levonhatjuk a tanulságot, hogy aki komolyan gondolja a webes értékesítést, az utána jár ezen dolgoknak, és egy egyedi megoldást fog választani a saját igényeire szabva, megbízható partnertől, üzemeltetési/karbantartási szerződéssel karöltve, így nem igazolódnak be azok a félelmek, amikkel nagy ráhatást gyakorolnak a kezdőkre, és egy nem kielégítő virtuemart vagy wordpress alapú webshopba terelik őket.


2013. január 13., vasárnap

VirtueMart képek tömeges feltöltése

Többször volt már szó a különféle webáruházak és ügyviteli rendszerek kapcsolatáról, ahol a termékek létrehozása és módosítása automatikusan történik az ügyviteli rendszert követve. De egy webshopban legalább ilyen jelentőséggel bírnak az egyes termékek képei. Az ügyviteli rendszerek általában nincsenek felkészítve arra, hogy a termékek képeit is tárolják, ezért azokat még mindig kézzel kell elhelyeznünk a webáruházban. Ez több ezres termékszám mellett igen munkaigényes feladat.

Ennek a feladatnak a könnyítésére készült egy két részből álló program, amely megoldja a termékképek feltöltését. Természetesen az előkészítő munkát nem lehet megúszni, tehát a termékképeket szét kell válogatnunk, de ezt a feladatot mindenképpen el kellene végeznünk.

A program, mint említettem két részből áll. Egy webes programrészből, melyet a VirtueMart webáruház mellé kell telepíteni, és egy PC-s kliensprogramból, amely a weben lévő programnak továbbítja a szétválogatott képeket. Ilyen módon egy gombnyomásra feltölthetünk több ezer termékképet, és csak attól függ az ideje, hogy mekkora internet csomagunk van :)

Első lépésben létre kell hoznunk egy könyvtárstruktúrát, amelyben a termékeink képeit fogjuk elhelyezni.
A könyvtár nevének meg kell egyezni a VirtueMartban lévő termék cikkszámával (product sku).

Könyvtárstruktúra létrehozása
Ezután a program kiolvassa a könyvtárak tartalmát, ez bármennyi kép lehet, és feltölti a webáruházba.

Képfeltöltő program indítása
Végül a feltöltés elindítása után meg kell várnunk amíg a program elvégzi a dolgát.
Képek feltöltése


A feltöltést követően a pc-n a képek átkerülnek egy másik mappába, ugyanilyen struktúrában, így visszakövethető, hogy egy adott termékhez milyen képeket töltöttünk fel korábban. Továbbá bármikor hozzáadhatóak egy-egy termékhez újabb képek, csak annyi a dolgunk, hogy a megadott mappába bemásoljuk az új képeket, és ismét elindítsuk a feltöltést.

Remélem hasznos segítség lesz ez a kis program sok VirtueMart webshopot üzemeltető kollégának.


2013. január 7., hétfő

VirtueMart és Ügyviteli rendszer videóval!

A prestashopos kommunikációhoz hasonlóan a virtuemartról is készült videó. Más az ügyviteli rendszer, más a webshop motor, és ugyanaz a működési elv. :)

A termékek nagyon egyszerűen, egy gombnyomásra felkerülnek az üres webshopba, ha pedig már léteznek, akkor szükség esetén frissülnek a készletek és árak, és ugyanilyen egyszerűen, egy gombnyomással bekerülnek a megrendelések az ügyviteli rendszerbe, ahol azonnal számla készíthető belőlük.

Valójában a gombnyomásra sem volna szükség, de így szemléletesebb a videó. :)

Természetesen ez a fajta kommunikáció nem csak a videóban bemutatott ügyviteli rendszerrel kivitelezhető, hanem általában az ehhez hasonló rendszerek többségével.

2012. november 12., hétfő

PrestaShop és Számlázó - második felvonás

És ismét témánál vagyunk...

A támogató fórumokat olvasva sokszor látni olyan fórum témákat, melyek arról szólnak, hogy hogyan is kell a CSV-t helyesen megszerkeszteni, hogy azt a webshop import funkciója gond nélkül beolvassa. Nem is beszélve arról, hogy több ezres termékszámnál egyéb hibára is futhat a dolog, például a feldolgozási idő túl hosszú, ezért aztán csak az első pár száz termék kerül be. Ezek a problémák előkerülnek VirtueMart-al és PrestaShop-al egyaránt. Továbbá ezek a kézi szerkesztések és importálások - exportálások innen oda, onnan ide, rengeteg időt is felemésztenek, amit hasznosabban is el lehetne tölteni, és nem mellesleg igényelnek némi figyelmet, hiszen ha valamit elrontunk, akkor aztán kezdhetjük elölről az egészet.

Az alábbi videóban megkísérlem bemutatni, hogyan is érdemes ezt csinálni. Az alany egy frissen telepített "csupasz" PrestaShop 1.4.8.2-es verzióban és egy számlázó készletnyilvántartó program (aminek a nevét nem írom le :) )  letölthető demó verzióban, előre rögzített adatokkal.
Látható, hogy a webshop kezdetben nem tartalmaz adatokat, ellenben a számlázóval, majd egy adat feltöltés után megjelennek a termékek a webshopban is.

Meg kell említenem, hogy a módszer természetesen nem csak PrestaShoppal és nem csak a videóban látható számlázóval működik.

És akkor most következzen a film:



2012. október 28., vasárnap

PrestaShop és Számlázó

Egyre nagyobb az érdeklődés a piacon a számlázó rendszerek és online értékesítés felületek összekapcsolása iránt, amit mint már kiderült nem csak a sokmilliós ERP rendszerekkel lehet kivitelezni.

Így most beszámolhatok egy PrestaShop és egy számlázó program összekapcsolásáról.
A számlázó program nevét ismét direkt hagyom ki, de egy kicsit kitérünk rá, és a képességeire.

Tehát a számlázó program egy úgynevezett desktop program, ráadásul a régebbi fajtából, vagyis semmi különös, és ráadásul viszonylag elavultnak mondható adatbázis motort használ, aminek a legfrissebb kiadása 2007-ből származik. A programunk egy kiegészítő segítségével képes adatokat exportálni CSV file-okba. Hagyományosan úgy szokták megoldani ezeket az összekapcsolásokat, hogy a webshop adatbázisába valamilyen módon megkísérlik ezeknek a CSV file-oknak a tartalmát betuszkolni. De ugye ez nem túl kifinomult módszer és legtöbbször csak próbálkozás szintjén marad.

A megoldás ebben az esetben a következő két lépésből áll:
1. Készült egy program windowsra, amely kiolvassa a számlázó adatbázisából a megfelelő adatokat, és azt elküldi a webshop mellett futó webservice-nak.
2. A webservice fogja a kapott adatokat és elhelyezi a webshop adatbázisának megfelelő tábláiba.

Ezzel kész is volnánk...
Nem kell CSV file-okat készítenünk, és azokat valahogy beolvastatni a webshoppal, akár naponta többször, és legfőképpen nem kell kézzel adminisztrálnunk a webshopban is az offline értékesítések során végbement készletváltozásokat, vagy az esetleges áremeléseket. A program futása továbbá automatizálható, így akár időzítve futtathatjuk akár 5-10 percenként, így még pontosabb szinkronban tartva az online és offline készleteket, árakat.

Fontos megjegyeznem, hogy ebben az esetben hozzáférhető volt a számlázó program adatbázisa, így az futásidőben, emberi beavatkozás nélkül szinkronizálható a webshoppal.
Ez további lehetőségeket nyit. A webshop rendelései és akár a vásárlói is automatikusan bekerülhetnek a számlázó adatbázisába, így ezen a téren is rengeteg adminisztratív munka spórolható meg.

2012. augusztus 31., péntek

Termékképek automatikus feltöltése VirtueMart webáruházba

Előző bejegyzésem arról szólt, hogy hogyan is sikerült a számlázó-készletnyilvántartó programot egy kis trükközéssel összekötni a webáruházzal.

Most következik a folytatás, ugyanis ezzel nincs vége a történetnek, elvégre mit ér egy webáruház termékképek nélkül.

Ugye a problémát az okozta, hogy nagy mennyiségű terméket kellett feltölteni, ami kézzel igen csak sokáig tartana. Képekből viszont még több van, ugyanis egy-egy termékhez az esetek többségében több képet is szeretnénk feltölteni.

Ennek a megoldására egy újabb windows program és egy újabb webservice készült, amelyek segítségével leegyszerűsödik és felgyorsul a képek beillesztése a webáruházba.

No nem kell egy gombnyomásos varázslatra gondolni, az előkészítő munka itt is az emberre hárul. A képeket szét kell válogatni és egy megfelelő könyvtár struktúrában elhelyezni, vagyis a cikkszámot viselő könyvtárba belemásolni a termék képeit. De ez nem annyira megterhelő, hiszen a képeket amúgy is szét kellene válogatni termékenként, ha eleve nem így volnának. A program pedig ezeket a könyvtárakat végigjárva a képeket elküldi a webservice-nak, amely szépen a megfelelő termékhez párosítja azokat.

Felmerül a kérdés, hogy ennek mi haszna, hiszen a termékek képeit fel lehet tölteni egyesével is, és ha már úgyis hozzányúlunk, hogy szétválogassuk őket, akkor akár egyúttal fel is tölthetjük a termék adatlapra.
És valóban.
Csakhogy a VirtueMart termékeinek kezelése egyáltalán nem kényelmes és gyors, így egy termékhez feltölteni akár csak három képet sokkal tovább tart, mint a saját gépünkön például Total Commander segítségével szeparálni azokat.
Több ezer termék esetén pedig ez a művelet egyenesen rémálom.

Mindezek ellenére a megoldásnak gyakorlati haszna valóban csak akkor van, ha egyszerre kell sok képpel dolgoznunk, például amikor indítjuk a webáruházat és feltöltjük termékekkel. Később, amikor csak egy-egy újabb termékünk van, ahhoz a képeket természetesen nem megterhelő kézzel feltölteni.

2012. augusztus 29., szerda

VirtueMart és számlázó

A minap kaptam egy érdekes feladatot, amely arról szólt, hogy a népszerű Joomla! és VirtueMart alapokon nyugvó webshopot kellett egy számlázó-készletnyilvántartó programmal egybe gyúrni. A számlázó programot direkt nem említem név szerint, ugyanis ez nem a reklám helye.

A feladat kezdetben egyszerűnek tűnt, ugyanis a számlázó elméletileg tud kommunikálni webshoppal, olyan módon, hogy egy megadott URL-re HTTP POST metódussal feltölt egy XML file-t. Ezt a tulajdonságot kihasználva elkészült a termék feltöltés és frissítés első változata, ami tökéletesen működött is az én teszt programomban lévő 18 darab termékkel. De élesben több mint 3000 terméket kellett feltölteni, amivel a számlázó program sajnos nem boldogult. Egyszerűen megjelent a homokóra (valójában karika, mert win7-ről beszélünk) és nem történt semmi, majd ezt kb 30 perc múlva meguntam, szíves elnézését kértem az ügyfélnek, és elvonultam újra dolgozni.

Gyanakodtam a webszerver nem megfelelő beállítására, de amint a logokból kiderült, a kérés hozzá már el sem jutott, valószínűleg már a számlázó program nem tudott mit kezdeni egy kb 5 MB-os HTTP POST összerakásával.

Szerencsére a számlázóban nem csak ilyen formán van lehetőség az adatokat kinyerni, hanem lementhetjük helyi lemezre is XML formában. Ez volt a következő megoldás alapja. A webszerveren el kellett készítenem a bedolgozó automatizmus SOAP webservice változatát, amely a terméket létrehozza a VirtueMart adatbázisában, illetve ha már létezik, akkor frissíti az adatait, pl árat vagy raktárkészletet, ugyanis a számlázó programból állíthatnak ki számlát a webshoptól függetlenül is, ami ugyanúgy fogyasztja a készletet, illetve lehet egy áremelés, aminek szintén meg kell jelennie a webshopban.

Ezután el kellett készítenem egy windows programot, amely beolvassa az XML-t és elküldi a webservice-nak. Így sajnos a termékek kommunikációja egy lépéssel több lett az eredetileg tervezettnél, de még mindig lényegesen kényelmesebb, mint kézzel létrehozni minden egyes terméket a VirtueMart-ban is.

Ezzel a technikával a termékek kb 30-40 másodperc alatt felkerültek a webshopba és szépen meg is jelentek.

A vissza felé irányuló kommunikáció már nem volt ennyire macerás, elvégre nincs több ezer megrendelés két kommunikáció között, és így a számlázó a hagyományos módon be tudja olvasni a megrendeléseket, vagyis egy URL-ről, ami XML formában a kimenetre küldi azokat.
Ennek ellenére nem tartom ezt egy jó megoldásnak, hiszen a webszerveren kell megoldani, hogy azokat a megrendeléseket amiket már a számlázó beolvasott ne jelenítsük meg neki a következő kommunikációkor.
Így amit a kimenetre küldtünk egyszer azt már még egyszer nem szabad, ezzel csak annyi a gond, hogy nem ellenőrizhető, hogy azt a számlázó valóban feldolgozta, csak remélhetjük. Bár eddig nem volt hiba, reméljük nem is lesz, de jobban örülnék, ha ezt is meg lehetne oldani webservice alapon.

Az írással arra akartam rámutatni, hogy nem feltétlen kell drága szoftvereket és eszközöket venni ahhoz, hogy az embernek legyen egy integrált rendszere, ahol nincs felesleges dupla vagy akár tripla adminisztráció.
Megfelelő körültekintéssel viszonylag kis költséggel is megoldható az amit mondjuk egy SAP tud.

Éljen a Joomla!, VirtueMart és számlázó együttműködés! :)