feedMART

Az utóbbi napokban a fő projektemmel kapcsolatosan szinte semmi értékelhető ötlet nem jut az eszembe, valószínűleg ez lehet az alkotói válság egyik tünete. Ilyenkor mit tesz a magamfajta hiperaktív-agyú ember, kitalál magának valami mást, amin agyalhat, amit megcsinálhat.

Maradva az ExtJS ágnál, összedobtam egy kereső felületet és hozzá egy indexelő és kereső motort is pihenésképpen – azért, hogy végre egy kis sikerélményhez jussak. :)

A kereső felület szép AJAX-os csoda, dinamikus tartalommal és azonnali keresővel, míg a backend egy PHP script, ami adatbázis nélkül csinál a szabad szöveges keresést lehetővé tevő indexelést.

A feedMART elsősorban bloggerek számára készült, de mindenképpen olyan emberek számára, akik nap mint nap a gépük előtt ülve szinte folyamatosan az Interneten lógnak és elmondható róluk, hogy szinte mindig van eladó holmijuk és ezzel párhuzamosan folyamatosan vennének is tárgyakat. Számukra egy rendkívül egyszerű “bolhapiac” megoldást nyújt a feedMART, hiszen mindössze a blogjukban kell létrehozniuk egy kategóriát, majd ebbe a kategóriába tenni a hirdetéseiket.

A hirdetéseknek – ugyanúgy, mint a hagyományos blog bejegyzéseknek – természetesen lehetnek címkéi (tag-ek), amit a feedMART automatikusan átvesz és feldolgoz, anélkül, hogy új rendszerek használatát kéne megtanulni.

A hirdetések feladása, módosítása és törlése nem igényel több munkát és időt, mint egy saját blog bejegyzés elkészítése, valójában pontosan ugyanannyit igényel…

Amit a rendszer így néhány órai tákolás után tud:
– nincs regisztráció, nem kell személyes adatokat megadni
– feliratkozási lehetőség (Subscribe)
– nagyon gyors kereső (próbaképpen beletettem a beszeljukMac.com friss hirdetéseit is)
– a találatok szabadon rendezhetők (bezárható, áthelyezhető panelek)
– többszavas keresés

Ha segíteni szeretnél tartalommal, akkor a teendő:
– 1. Létrehozol a blog-odban egy “EladoCuccok”, vagy hasonló nevű kategóriát
– 2. A fenti kategóriába beleteszel egy olyan post-ot, aminek a tartalma apróhirdetés
– 3. A kategória RSS feed-jével feliratkozol a keresőre, a “Subscribe Now!” gomb megnyomásával (fontos, hogy a hirdetések számára létrehozott kategória RSS feed-je legyen amivel feliratkozol, mert csak így lehet szűkíteni a találatokat az apróhirdetésekre), ez WordPress esetében valahogy így néz ki: http://yoursite.com/?feed=atom&cat=EladoCuccok

Innentől a kereső periodikusan megnézi, hogy vannak-e a blogodon új post-ok az adott kategóriában, ha vannak letölti azokat és máris kereshetővé válnak.

feedMart_logo

Csatlakozás a feedMART-hoz

A feedMART használatához nincs szükség személyes regisztrációra, mindössze a blogban kialakított kategória RSS vagy Atom feed-jének (XML) linkjét kell megadni, továbbá egy ország, régió és egy nyelv választót kitölteni – mind az eladandó, mind a megszerzendő tárgyak csoportjára.

Ezen adatok ismeretében a feedMART szerver automatikusan figyeli az adott kategória változásait, majd annak megfelelően frissíti a szerveren az apróhirdetéseket.

A feedMART szerver a beállított frissítési periódusokban átveszi az ismert blog rendszertől (pl. WordPress, Movable Type, Blogger, LiveJournal?, Blogspot.com, etc.) a hirdetéshez, illetve annak kategorizálásához szükséges összes adatot, így a bejegyzés (post) címe lesz a hirdetés címe, a tartalma a hirdetés tartalma, míg a bejegyzéshez rendelt címkék (tag-ek) adják az adott hirdetés kategorizálásához tartozó információkat. A címkéken kívül a hirdetés címéből és tartalmából is készül a keresést támogató index adatbázis, de az elsődleges kategorizálásnak minden esetben a címke az alapja.

Ezen adatok összességéből alakul ki a strukturált és kereshető apróhirdetés adatbázis, anélkül, hogy a bloggernek – például adminisztráció miatt – be kéne lépnie a feedMART szerverre.

A rendszer működése nagyon hasonló az RSS olvasó programok működéséhez, azokban is lehet kategorizált adatokat előállítani a feliratkozott RSS hírcsatornákból – ezt a funkcionalitást kibővítve a feedMART egy olyan hír-olvasóvá válik, ahol a hírek tartalma az apróhirdetés oldalak tartalmát jelenti, anélkül, hogy a hirdetés feladójának újabb felületeket kéne ehhez használnia. Mindez érvényes a szöveges adatok szerkesztésére, a képek feltöltésére, rendszerezésére is, hiszen minden adat a saját blogból származik, kizárólag ott kell és lehet szerkeszteni.

A feedMART mint hirdetési oldal

A felhasználók – érdeklődők – számára a feedMART egy hagyományos WEB felületet biztosít, amelyen az egyes blogokból átvett és naprakészen tartott hirdetéseket lehet böngészni, tartalmukban keresni.

A feedMART szerveren tárolt adatokban vannak az aktualizált képi és szöveges tartalmak és természetesen a link is a hirdetés feladójának blogjára, pontosabban annak a hirdetést tartalmazó bejegyzésére. Ezáltal a hirdetéshez tartozó személyes adatoknak – név, e-mail cím, telefonszám – nem is szükséges a hirdetésben szerepelni, hiszen az érdeklődő egy kattintással átjut a hirdetés forrásához, azaz a személyes bloghoz.

Ez a közvetlen kapcsolat egyfajta bizalom-erősítő funkcióval is szolgálhat, hiszen egy semmiből előtűnő üzleti partnernél mindenképpen bizalomgerjesztőbb egy olyan ember, akinek legalább a személyes blogját módunkban áll megnézni mielőtt eladunk neki, vagy veszünk tőle valamit.

A feedMART kereső felülete az Apple Spotlight megoldásához hasonlóan a beütött karakterek után azonnal, betűnként indul a keresés és a találatokat panelek formájában meg is jeleníti. Ezek a panelek tartalmazzák az adott hirdetés címét és tartalmát, a panelek szabadon áthelyezhetők, bezárhatók és kicsinyíthetők.

A kereső motor a felhasználó IP címe alapján határozza meg az elsődleges régiót és a találatokat ennek megfelelően rendezi, azaz a régióhoz közelebb eső találatokat veszi előre.

A feedMART mint a jövő marketing eszköze

A jövőben teljesen új metódusokkal történik majd az adásvétel, hiszen egy ilyen rendszer képes lesz megvalósítani azt is, hogy egy blog bejegyzésben megfogalmazott “Vennék iPhone 3G-t” szövegre válaszként egy megjegyzésben (comment) megjelenhet: “Íme itt van egy eladó iPhone: link”.

Azaz anélkül, hogy ki kellene lépni a saját oldalunkról, vagy végig kellene böngészni számtalan apróhirdetés oldalt, akár másodperceken belül ajánlatot kaphatunk az általunk áhított készülékre, szolgáltatásra!

Innentől egy teljesen új lehetőség nyílik a vásárló megtalálására nem csak a használt cikkek eladói, hanem értékesítéssel és marketinggel foglalkozó cégek számára is… Persze, hogy melyik értékesítő cég ajánlata jut el legelőször a vásárlóhoz, azt az adott cég által fizetett díj mértéke határozza meg, hasonlóan a Google Adwords-höz.

Alfresco Web Script egyszerűen

A Web Script-ek, illetve a Web Script-ekkel megvalósított szolgáltatások az Alfresco rendszer erőforrásainak, elemeinek és tartalmainak egyszerű, HTTP protokoll fölötti publikációjára készültek. Ez a lehetőség a 2.1-es verziótól kezdve használható mind az Enterprise, mind a Community kiadásokban.

Kapcsolódó linkek:

  • Web Script-ek használata
  • Web Script minták
  • FreeMarker az Alfresco-n belül
  • Freemarker template minták
  • Alfresco JavaScript API
  • Alfresco JavaScript API minták
  • Hogyan készítsünk Web Script-et?

    Alapvetően két kötelező elemre lesz szükségünk, az egyik egy XML file, mely leírja és regisztrálhatóvá teszi magát a Web Script-et az Alfresco rendszer számára, míg a másik egy, az outputot előállító FreeMarker (FTL) nyelven leírt űrlap. Összetettebb, programozást is igénylő funkciók esetén használható az Alfresco JavaScript API-ja is, melyet egy harmadik file-ban (JS) lehet elhelyezni.

    Mintánkban egy “mywebscript” lesz a megvalósítandó funkció neve, így az ehhez kapcsolódó, kötelező formátumú elnevezések:

    1. Leíró (XML): mywebscript.get.desc.xml
    2. Output (FTL): mywebscript.get.html.ftl
    3. Program (JS): mywebscript.get.js

    Magyarázatra szorulhat az használt név-konvenció; a szeparátor minden esetben a “.”, az első mező (”mywebscript”) tartalmazza a Web Script nevét, a második a használt HTTP protokollt (”get”, “post”, etc.). Itt érdemes megjegyezni, hogy egy szolgáltatásnak lehet többféle protokollja is, de minden esetben csak azo(ko)n lehet megszólítani, amely(ek)re regisztrálva lett – esetunkben “GET”, az URL-ben átadott paramétereket fogja értelmezni, “POST”-ra hibajelzés fog adni.

    A harmadik Web Script specifikus paraméter (mely csak az XML és az FTL file-oknál szükséges) az XML-nél kötelezően “desc” mint descriptor (leíró). Az FTL file-oknál viszont azt határozza meg, hogy milyen formátumú lesz a válasz. Ezt a formátumot a Web szerver mint content-type fogja közölni a klienssel, azaz “html” esetében más lesz mint “xml”, “atom”, vagy “json” esetében. Ha több válasz típus is létezik az adott szolgáltatáshoz, az XML-ben lehet default értéket adni (a “format” paraméterrel), illetve a kérésben is lehet specifikálni a várt formátumot: “GET /my/mywebscript.json

    Installáció

    A saját készítésű Web Script-eket az Alfresco-n belül a “/Data Dictionary/Web Scripts Extensions/” space alatt kell elhelyezni, célszerűen egy könyvtárba rendezve. Legyen ez esetünkben a “my” könyvtár melyet az Alfresco WEB-es felületén is létrehozhatunk, sőt akár ZIP file-ként ugyanott a teljes csomagot (my/*) importálhatjuk is.

    A Web Script-es fejlesztések egyik legnagyobb előnye, hogy nem igényel deploy-t (eltekintve az első installációtól és regisztrációtól), azaz az FTL vagy a JS file-okat módosítva azonnal érvényre jutnak a változtatások. Ezért érdemes a WebDav, vagy a CIFS felületen keresztül dolgozni, így az editorból közvetlenül szerkeszthető és menthető a kód. Ezáltal az installációt is célszerű így elvégezni, kedvenc Finder-ünk vagy file-kezelő programunk segítségével. A WebDav-os mount-hoz (ezt MacOSX-en a Finder-ben az ALMA+K gombkombináció megnyomása után lehet átadni) a következő URL-t lehet használni: http://localhost:8080/alfresco/webdav

    Installáció után az Alfresco-n belül (repository) a következő struktúrának kell előállnia:

    Könyvtár: /Data Dictionary/Web Scripts Extensions/my/
    File: mywebscript.get.desc.xml
    File: mywebscript.get.html.ftl
    File: mywebscript.get.js

    Hogy az új szolgáltatásunk elérhető is legyen, szükség van még egy Alfresco-n belüli Regisztrációra is.

    Regisztráció

    Ha az Installáción túl vagyunk, az Alfresco rendszer tudtára kell adni, hogy új szolgáltatása lett. Ehhez a beépített Web Script regisztrációt kell használni, mely a következő címen érhető el: http://localhost:8080/alfresco/service/

    A “Refresh List of Web Scripts” gomb által indított folyamat rekurzívan felolvassa a szkriptek tárolására szolgáló helyi és repository-n belüli könyvtárakat, majd az ott található XML-ek alapján frissíti az elérhető Web Script-ek listáját – illetve jelzi, ha valamelyik szkript definíciójával probléma adódott.

    Sikeres regisztráció után a saját szkriptünk is meg fog jelenni a listában, ehhez érdemes a “Browse by Web Script Package” link-en kiválasztani a “my” csomagot. Az itt megjelenő listában összefoglaló látható az adott csomagban található szkriptekről és azok szolgáltatásairól, paramétereiről. Az “Id” sorban megjelenő linkre kattintva megtekinthetők a szkript összetevői és azok forrása is.

    Az elkészített és regisztrált szkriptet a következő címen lehet elérni: http://localhost:8080/alfresco/service/my/mywebscript

    A mywebscript példa forrása

    A fent ismertetett alapismeretekkel a következő szkriptet állítottam össze:

    mywebscript.get.desc.xml

    
    Simple form filling test
    Just a simple form filling test example
    /my/mywebscript
    argument
    user
    required
    
    

    mywebscript.get.html.ftl

    Logged in user: ${person.properties.userName}
    
    Name: Country: ${countryList}

    mywebscript.get.js

    var countryList = '';
    // here is the code to generate country list:
    countryList += '' + '\n';
    countryList += '' + '\n';
    // pass value to FTL
    model.countryList = '";