locknet.ro

archive

Jobber.ro, .ro IT Jobs si Apple Widgets

Au trecut deja doua saptamani de cand Filip a lansat Jobber.ro, o alternativa simpla si eficienta de recrutare IT.

Front Side

Dar nu despre Jobber vreau sa iti povestesc, ci despre o noua modalitate de a fi la curent cu ultimile anunturi adaugate. Si asta direct pe dashbord cu ajutorul unui Widget.

Cum este prima mea isprava de acest fel, as vrea sa detaliez putin procesul.

In primul rand, un widget este o combinatie de HTML, CSS si JavaScript unde toate fisierele necesare sunt puse intr-un director al carui nume se termina in .wdgt.

Workflow-ul este destul de simplu, iar pe site-ul Apple sunt destule exemple de widget-uri care preiau stiri sub forma RSS.

In cateva cuvinte, documentul HTML are atasat pe elementul body un eveniment declansat la onload, eveniment ce face un request folosind XmlHTTPRequest pentru a prelua fluxul RSS. Acesta este apoi parsat si introdus in document.

Am ales mootools pentru JavaScript mai mult pentru ca eram curios sa vad cum se misca frameworkul decat pentru efecte sau reqesturi AJAX cross-browser.

Back Side

Singura problema intampinata a fost legata de feed-ul oferit de Jobber.ro din cauza ca acesta este generat in formatul RSS-1.0.

Din cauza namespace-urilor (cred) nu puteam sa selectez din feed titlul si linkul corespunzator fiecarei intrari. Lucru destul de ciudat, pentru ca in Safari aveam rezultatul dorit. Acum, getElementsByTagName('link') mergea in browser dar nu si in dashboard si asa am ajuns la concluzia ca sunt folosite versiuni diferite de WebKit. In dashboard puteam accesa doar descrierea si data unei intrari, titlul si linkul fiind returnate ca un singur element Text.

Dupa cateva ore de lupta cu RSS-ul, am renuntat si am ales sa folosesc API-ul oferit in varianta cu raspuns in format XML. 10 minute mai tarziu aplicatia era gata.

Pe viitor, as vrea sa adaug si o sectiune unde sa iti poti configura diversi parametrii, de exemplu sa poti alege doar anunturile publicate intr-o anumita categorie.

Pana atunci, download de aici.