Author Archive for Maciej Litwiniuk

Problemy z asset pipeline pod Apache

Na wypadek, gdyby ktoś jeszcze miał mieć problemy z asset pipeline pod Apache, podzieliliśmy się rozwiązaniem na blogu: TrackingRails – Rails 3.1 and asset pipeline problems with apache

Tracking Rails – nowy blog

Uruchomiliśmy nowy blog – TrackingRails, całkowicie poświęcony Railsom oraz pisany tylko po angielsku. Blog firmowy raczej zmieni swoje przeznaczenie, będzie służył raczej do ogólnego informowania o naszych poczynaniach, a nie jak do tej pory – umieszczania wpisów technologicznych.

Prezentacja Leszka o ExtJS i netzke

Na wczorajszym RuPy Tuesday Leszek opowiedział o naszych doświadczeniach z wykorzystaniem ExtJS i neztke w komercyjnych projektach

Nowe logo

GaldoMedia Logo

Przymierzając się powoli do pewnych zmian, przygotowane zostało nowe logo. Liczymy na to, że spotka się z ciepłym odbiorem i spodoba się wszystkim tak, jak nam.

RailsRumble i eevmee.com

eevmee.comW weekend (16-17.X.2010) wzięliśmy udział w konkursie RailsRumble. Zadaniem było utworzenie w pełni funkcjonalnej aplikacji w RubyOnRails w 48h (16.X 0:00 GMT – 18.X 0:00 GMT). Dzięki Kubie, Leszkowi, Piotrowi i Tomkowi powstała aplikacja eevmee.com. eevmee ma za zadanie ułatwiać organizowanie spotkać i szeroko pojętych eventów (jak np. RuPy Tuesday organizowany przez nas :) ). Pomagamy zarządzać listą gości, śledzić, czy odebrali maila / obejrzeli stronę wydarzenia / zapisali się na wydarzenie, ekportować listę gości do formatu xls, ale również, jako jedyni na rynku – tworzyć własne formularze rejestracyjne. eevmee.com to również organizacja spotkań – jeśli zdarza Ci się organizować spotkania, na które znajomi mają coś kupić, na pewno zdarzyło się, że czegoś było za dużo, czegoś za mało. eevmee ma  temu zapobiec przez tworzenie listy zadań, które znajomi mogą brać na siebie – każdy będzie wiedział, co trzeba załatwić i wybrać rzecz najbardziej mu odpowiadającą.

Wystawianie faktur

W historii działania firmy miałem okazję przetestować kilka różnych programów do wystawiania faktur, żaden nie spełniał jednak w pełni moich oczekiwań (a te są proste, chcę wystawiać FV w języku angielskim), bądź po prostu ilość oferowanych przezeń funkcji była za duża. Przez dwa lata, zmuszony brakiem alternatyw, używałem oprogramowania z firmy Rafsoft (która swoją drogą groziła sądem za publiczne wytknięcie jej żenujących błędów w sofcie), od stycznia przesiadłem się na Centrum Faktur, które to po ponad półrocznym używaniu mogę z czystym sumieniem polecić. Oferuje wszystko to, czego sam potrzebuję, jest proste i szybkie w działaniu – lubię, gdy wystawienie faktury klientowi trwa mniej niż 30 sekund. Chłopakom z Miruumee Software szczerze gratuluję dobrego produktu. Pozostaje mi tylko liczyć, że obsługa 23-procentowej stawki VAT pojawi się kilka minut po północy 1 stycznia. Patrys – potraktuj to jako wyzwanie :)

O kupowaniu domen słów kilka

Przychodzący do nas klienci często mają już w głowię ideę serwisu (co jest raczej jasne), jego nazwę oraz pakiet zarezerwowanych domen z całą plejadą końcówek TLD. Staramy się wszystkim powtarzać, że liczy się tak na prawdę tylko końcówka .pl, ewentualnie .com (jeśli ważne jest istnienie serwisu na rynku globalnym) oraz ewentualnie .eu, jeśli ważny jest rynek europejski. Pozostałe końcówki raczej nie mają większego znaczenia, jeśli nie ma ryzyka, że konkurencja od razu zaatakuje od razu i zarejestruje domeny podobne, by (oby tylko) zgarniać ruch, bądź uruchomić “konkurencyjny” serwis.

Ważne jest natomiast kupno domen z polskimi literami (jeśli takie występują w nazwie), tym bardziej, jeśli występują w logotypie. Przykład: tubyliśmy.pl automagicznie przenosi użytkownika na adres tubylismy.pl. Warto to zrobić, zwłaszcza, że ewentualny koszt jest niewielki w stosunku do potencjalnych strat.

Błąd z niewykupieniem odpowiedniej nazwy i promowaniem adresu z literką “ł” w środku popełnił ostatnio poznański Głos Wielkopolski, który promuje nowy serwis dla kibiców Lecha – bułgarska.pl. Problem w tym, że właściwy serwis znajduje sie pod adresem bulgarska.pl, a domena bułgarska.pl jest zaparkowana – najprawdopodobniej została przez kogoś podkupiona. Z ciekawości kupiliśmy domenę bugarska.pl – o dziwo nawet tam jest ruch. Spokojnie można zatem przyjąć, że błąd z niewykupieniem na czas odpowiedniej domeny bardzo się na tym przypadku będzie mścił, zabierając wiele cennych odwiedzin. Szkoda tylko, że Głos ciągle usilnie prezentuje logo z literą “ł” w środku, zwłaszcza, że są już świadomi wpadki (zdarzają się reklamy z logiem oraz prawidłowym adresem).

Edit 10.09.2010

Najwyraźniej Głos dogadał się z właścicielem domeny i bułgarska.pl przekierowuje już poprawnie.

devise i testy funkcjonalne

Właśnie spędziłem zdecydowanie za dużo czasu próbując dojść, czemu właściwie nie chcą mi przechodzić testy funkcjonalne dla kontrolerów wymagających autoryzacji. Problemem było devise, które jakby nie chciało tworzyć pseudo sesji i wszystko przestawało działać. Dopiero po dłuuuższej chwili walczenia przypomniało mi się, że model, który próbowałem autoryzować miał dodaną flagę :confirmable. W ramach rozwiązania wystarczyło do fixtures dodać dwie kolumny: confirmed_at i confirmation_sent_at (nawet nie jestem pewien, czy ta druga jest konieczna…). Poniżej przykład działający.

1
2
3
4
5
tas:
  username: tas
  email: tas@zrobimydobrze.com
  confirmed_at: <%= 1.days.ago.to_s :db %>
  confirmation_sent_at: <%= 2.days.ago.to_s :db %>

tiny_mce i setContent

tiny_mce niewątpliwie dobrym edytorem jest. Ale jak każdy co bardziej skomplikowany kawałek i zlepek kodu, potrafi sprawiać problemy. Ostatnio mieliśmy kłopot z funkcją setContent wstawiającą do edytora określoną treść. Poniższy fragment kody, który działał dobrze w każdej właściwej przeglądarce, odmawiał posłuszeństwa w tej właściwszej (czyt IE).

?View Code JAVASCRIPT
1
tinyMCE.activeEditor.selection.setContent(tresc);

Problem polega na tym, że w IE powyższe wstawia daną treść na górze strony, zamiast w aktywnym miejscu edytora. Rozwiązanie, choć proste, nie jest jasno wskazane na wiki tiny_mce:

?View Code JAVASCRIPT
1
tinyMCE.activeEditor.execCommand("mceInsertContent", false, tresc);

I magii stało się zadość :)

Rails, TinyMCE i zarządzanie obrazkami

Edycja stron statycznych i dowolne osadzanie w nich obrazków zawsze było swego rodzaju problemem – do edytora graficznego trzeba było dodawać różnego rodzaju sztuczne pluginy, które i tak nigdy nie działały w pełni poprawnie. Dlatego przygotowaliśmy plugin do Railsów, który powoduje, że zarządzanie plikami z poziomu edytora staje się banalne. Oto specjalnie dla Państwa TinyMCE FileManager. Instrukcja instalacji i przykładowe użycie już na GitHubie.

Przy okazji wielkie dzięki dla Leszka za kawał dobrej roboty.