pl  |  en

Konkurs – zgłoszenia – tani-mebel

Tani Mebel to takie offowe czasopismo internetowe. Technicznie podchodziliśmy już do niego trzy razy. Od początku w Railsach, ale za pierwszym razem – trzy lata temu – bez wprawy, więc wyszło dziwnie. Za drugim oparliśmy go o Spree, bo miał powstać internetowy market Taniego Mebla (i może jeszcze powstanie), ale wynikły z tego tylko niepotrzebne kłopoty. A za trzecim wyszło już fajnie – teraz TM jest zgrabną aplikacją w Railsach 3.0.cośtam, śmiga bezawaryjnie na megiteamowym VPSie. Redaktorzy mają fajny system wydawniczy automatycznie generujący wersję HTMLową i ekstrahujący z numerów treści (żeby Googlowi było milej). No i jest też system mailingowy, całkiem sprawnie działający. I wszyscy są zadowoleni 🙂

Aplikacja Taniego Mebla jest w gruncie rzeczy dość standardowa – ot parę kontrolerów stworzonych na RESTową modłę, zwykła rejestracja użytkowników (wciąż jeszcze Authlogic), obsługa dwóch formatów danych (flash i html), itd. Ale jest tu też parę trochę bardziej zaawansowanych rozwiązań. Po pierwsze stworzyliśmy specjalny flashowy silnik do dodawania nowych numerów. Tani Mebel powstaje we Flashu, plik SWF z numerem jest podawany dostępnemu w panelu administracyjnym flashowemu narzędziu, które rozkłada go na pojedyncze strony, wyciąga treść, tworzy obrazki dla każdej strony (do wersji HTML) i wszystko wysyła na serwer. Brzmi prosto, ale mieliśmy przy tym spory problem – flashowe cudo za nic nie chciało dzielić sesji z przeglądarką, a co za tym idzie nie pamiętało, czy administrator jest zalogowany czy nie. W końcu problem rozwiązaliśmy przekazując ciasteczka flashowi, który następnie dołączał je do pierwszego żądania jako parametr POST a specjalny Rack middleware znów przepisywał te parametry do Railsowych ciasteczek i tak sesja szczęśliwie trwa dalej.

Tani Mebel ma też własny system mailingowy. Wykorzystaliśmy bardzo fajny gem – delayed_job. Kiedy redakcja wysyła newsletter, każdą wiadomość dodajemy do kolejki a uruchomiony w tle skrypt wysyła je tak długo jak trzeba.

Tani Mebel jest dostępny tu: tanimebel.eu. „My” to nibynic.com.