Picasa API i tryby udostępniania galerii

Google Picasa APIPadł pomysł stworzenia galerii zdjęć. Jest sporo gotowych rozwiązań, ale jeżeli ma to być galeria niepowtarzalna i jedyna w swoim rodzaju, powinna być jednak zrobiona według indywidualnego uznania właściciela. Tak więc zabrałem się do pracy. Najpierw rozpoznanie przeciwnika – czyli przegląd tego co dają nam gotowe wtyczki galeriowe do jQuery – żeby było efektownie, efektywnie i przejrzyście. Kolejna sprawa dotyczyła serwera dla galerii. Jako, że sama galeria nie zajmuje zbyt dużo i nie potrzebuje jakoś specjalnie ani bazy danych, ani jakichś dodatkowych bibliotek postanowiłem, że umieszczę ją na swoim hostingu (na tym gdzie stoi ta strona). W tym momencie pojawił się kłopot – gdzie przetrzymywać zdjęcia, jak je tam uploadować i obrabiać. Pierwszy pomysł – dropbox.com/. Niestety nie ma żadnego API, ani niczego z czego można by swobodnie skorzystać. Jeszcze kilka pokrętnych pomysłów, których już teraz do końca nie pamiętam i w końcu doszedłem do Google Picasa.

Picasa Web Albums Data API jest oparte o biblioteki Zend’a i bardzo intuicyjne. Praktycznie wszystkie informacje można wydobyć za pomocą jedynie kilku linijek kodu PHP lub Java. Problem pojawił się w momencie pozyskiwania dostępu do zdjęć. Jeżeli chcemy wyciągnąć informacje o zdjęciach z albumu publicznego, to nic nie stoi nam na przeszkodzie. Po co jednak wyświetlać zdjęcia publicznie dostępne w jednym serwisie również w drugim serwisie? Można więc zmienić sposób wyświetlania albumu na Picasa na ukryty, wtedy jednak musimy mieć do niego dostęp jako zalogowany użytkownik. Login i hasło zapisywane są w kodzie jako zmienne, hasło jest kodowane dopiero podczas wysyłania, ale co jeżeli nasz klient nie chce, aby dostęp do jego konta był komukolwiek znany?

Jest bardzo proste rozwiązanie – tworzymy specjalne konto tylko i wyłącznie na potrzeby naszej galerii. Dane dostępowe do konta umieszczamy w kodzie i już jesteśmy zalogowani. Kolejnym krokiem jest udostępnienie naszemu specjalnemu użytkownikowi galerii, które chcemy wyświetlać. Logujemy sie więc na nasze konto Picasa, wchodzimy do albumu ukrytego, Klikamy udostepnij i wpisujemy adres email naszego specjalnego użytkownika. Wszystko.
Mamy normalny dostęp do galerii, której na Pisaca nie widać, a prezentujemy ją u siebie nie zapychając sobie serwera setką zdjęć.

Wkrótce zapraszam do odwiedzenia galerii przygotowanej właśnie w ten sposób, a także do pobrania skryptu umożliwiającego wyświetlanie zdjęć z Google Picasa w efektowny sposób.

Kilka zmian na stronie

koras.pl Ostatnio wprowadzone zostało kilka zmian i poprawek, ze względów wizualnych oraz użytkowych. Najważniejszą zmianą jest niewielka zmiana adresu. Do tej pory po wejściu na http://koras.pl użytkownik był przenoszony na http://koras.pl/blog/. Rozwiązanie to miało być chwilowe, lecz niestety po zmianie planów tak zostało i dopiero dzisiaj zostało poprawione na prawidłowe.

Dlatego też z góry chciałbym przeprosić wszystkich, którym przysporzy to problemów z dostępem do wpisów.

Uzupełniony treścią został dział “O mnie”, dodane zostały niewielkie motywy graficzne przy wpisach, poprawiony widok komentarzy, uporządkowany kod. Mam nadzieję, że zmiany wyjdą wszystkim na dobre.

Zarządzanie treścią strony

by Thomas AignerWiele serwisów internetowych tworzonych jest przez zespół redakcyjny. Webdeveloper wytwarza stronę internetową, żeby spełniała wszystkie standardy, żeby była jak najlepsza pod względem SEO, żeby przyciągała użytkownika itp. Administrator dba o to, aby strona działała poprawnie 24 godziny na dobę, 7 dni w tygodniu. Po wszystkich możliwych poprawkach, sugestiach i ulepszeniach witryna ukazuje się dla publiczności. Sukces! A właściwie jego pierwsza część, bo kto tak naprawdę w dzisiejszych czasach zagląda na nieaktualizowane strony?

Kolejną ważną fazą jest więc utrzymanie serwisu i dbanie o to, aby był on uaktualniany w miarę regularnie, informacjami związanymi z treścią serwisu i ciekawymi dla odwiedzających. Co jednak zrobić w momencie gdy zespół redaktorów edytujących stronę niszczy ją od wewnątrz? Jednym z możliwych rozwiązań jest podzielenie redaktorów na autorów oraz moderatorów (Joomla! – wydawca). Przy takim podziale moderacją powinny zajmować się osoby znające podstawy HTML’a, budowę oraz politykę newsową serwisu oraz znające język w którym publikuje się informacje. Rozwiązanie można by rzec idealne. Nie do końca jednak. Co w momencie gdy nasz moderator nie ma potrzebnej wiedzy, albo niechętnie ją wykorzystuje? Co w momencie, gdy nagle żaden z moderatorów nie ma czasu, aby opublikować to co napisali autorzy? W tym momencie wkracza administrator serwisu z brzydkim słownictwem na ustach.

Przeczytaj cały wpis »

Obsługa czytnika kart w C#

Obsługa czytnika kart w C#Poszukiwałem odpowiedniego rozwiązania problemu obsługi czytnika kart w C#, w przeciwieństwie niestety do Javy nie mamy do dyspozycji wbudowanej implementacji tego problemu. Na wielu angielskich stronach i blogach znalazłem jakieś kawałki kodu, nawet jakiś framework, ale niestety nic tak do końca nie chciało działać. W końcu z tego wszystkiego udało mi się uzyskać kawałek kodu, który zadziałał i może się komuś przyda. Zasada odczytu danych z karty jest dosyć prosta. Jedyne czego potrzebujemy to czytnik kart (oczywiście pod USB), kartę zbliżeniową bądź kontaktową oraz najważniejsze – specyfikację techniczną karty dzięki której poznamy komendy bitowe pozwalające na operacje na karcie.

Przeczytaj cały wpis »

Wreszcie jest! Nowe RadioSAR.pl

RadioSAR.pl - Studencka Agencja Radiowa_1258697163468Po ponad dwóch miesiącach bardzo wzmożonej pracy, licznych problemach, wdrożeniu dodatkowych systemów wspomagających, w środę wieczorem w końcu pokazała się nowa wersja strony RadioSAR.pl. Nastąpiła całkowita zmiana systemu, począwszy od serwera a na CMS’ie skończywszy. Do tego doszła nowa grafika, nowe standardy prowadzenia strony i nowe funkcjonalności.
Pierwsze, co rzuca się w oczy to, to że strona jest bardziej przejrzysta, troszkę mniej kolorowa, ale za to z większą ilością grafik. Ulepszono główną funkcjonalność strony, czyli newsy i artykuły pisane przez redaktorów.
Z planowanych zadań, wkrótce mają pojawić się podcasty, może jakaś galeria, a w końcu możliwość komentowania i oceny artykułów.

Mam nadzieję na kilka pozytywnych komentarzy ;)

Po co wprowadzać systemy organizacyjne?

Możnaby pokusić się o stwierdzenie, że systemy wspomagające organizację są tylko kolejnym stopniem biurokracji i wydłużają czas realizacji zadań. Z drugiej strony jednak gdy mamy do czynienia z grupą ponad 40 osób, podział pracy na 4 jednostki, krótko i długo okresowe zadania, to zrozumiałe jest wprowadzenie systemu, a nawet systemów do organizacji pracy.

Nawiązując do poprzedniego wpisu, aby zapewnić szybką i łatwą strukturę możemy podzielić nasz system na 3 kategorie:

  1. Komunikacja
  2. Dokumentacja
  3. Podział pracy

W momencie wdrożenia systemu powstaje bardzo duży problem, a mianowicie zmuszenie ludzi do korzystania z niego. Najprostszym rozwiązaniem jest zmodyfikowanie do tej pory istniejących metod zarządzania tak, aby korzystały z przygotowanego przez nas systemu i nie dopuszczanie innych metod dostępu. Przez początkowy okres na pewno napotkacie głosy sprzeciwu i niechęci, ale gdy system jest przygotowany właścwie i dobrze udokumentowany to czas przejścia od momentu wdrożenia do momentu pełnego wykorzystania funkcjonalności skraca się.

Konsekwentnie trzymając sie nowy procedur wykorzystujących zaawansowaną organizację pracy można w krótkim czasie przyspieszyć działania, które do tej pory zajmowały wiele cennego czasu. Dzieje sie to dlatego, że użytkownik sam przejmuje część pracy, która do tej pory wykonywaliśmy sami. Automatycznie zbierana dokumentacja i dokumenty w formie cyfrowej, łatwej do zarchiwizowania i przekazania następnym pokoleniom. Szybka platforma komunikacji pomiędzy poszczególnymi użytkownikami oraz całymi działami. To wszystko składa się na poprawę funkcjonowania organizacji i sprawia, że praca staje się przyjemniejsza :)

JKlocki, czyli pierwszy duży serwis na Joomla cz.1

joomla_logoPoczątkowo budując, a dokładniej testując wszystko co się da na Joomla! nie mogłem odnaleźć się w panelu administracyjnym i strukturze plików. Szybko jednak powróciły wspomnienia z początków nauki PHP, gdzie rozkładałem na czynniki pierwsze takie twory jak PHP-Nuke. Później było już z górki, pozostało jeszcze dobrać odpowiednie komponenty, czyli tytułowe klocki.

Dodatków na Joomla! Extensions jest co nie miara. Podzielone na kategorie, w większości dobrze opisane i okomentowane przez użytkowników. Jednak jak znaleźć w tym gąszczu coś pożytecznego? Uprzejmie służę radą i pomocą…

Na początek komponenty ze stajni GavickPro. Bardzo dobrze wykonane, ze znakomitą dokumentacją. Ze strony GavickPro, po uprzednim zarejestrowaniu się, możemy pobrać ostatnio bardzo popularne PhotoSlider, TabManager czy bardzo ciekawy moduł jakim jest NewsShow.

Godnym polecenia jest też template zaplecza, z możliwością rozszerzenia o specjalne pluginy oraz dodatki – AdminPraise Lite. Można “przebudować” całkowicie wygląd zaplecza na bardziej funkcjonalny przy dużych stronach. Wymaga on jednak lekkiego grzebania w kodzie aby spolszczyć go całkowicie i dostosować do własnych wymagań.

Trójmiejski Serwis Mieszkaniowy

Całkiem niedawno udało mi się skończyć kolejny projekt – Trójmiejski Serwis Mieszkaniowy – tsmonline.pl.
Co do zawartości serwisu – dużo na prawdę przydatnych informacji na temat budowy, kupna remontu domu oraz innych kwestii związanych z domem oraz mieszkaniem. Artykuły oraz porady są naprawdę ciekawe – sam wieczorami często je czytam, bo niedługo zakończy się okresbeztroskich studiów i trzeba będzie pomysleć nad swoim własnym kątem.

Jeżeli chodzi o stronę techniczną, to we wpisie Nowy projekt. Daleka droga… zastanawiałem się nad wyborem odpowiedniego frameworka, wybrałem Code Ignitera dlatego, że jest prosty i szybko mozna na nim zbudować tego typu serwis. Skorzystałem z gotowej biblioteki CRUD’a po niewielkich przeróbkach własnych, która znacznie przyspiesza tworzenie panelu administracyjnego.

W miądzyczasie poznałem, i to dość dogłębnie wydaje mi się, framework Symfony. Jego możliwości oraz budowa według mnie są naprawdę powalające. Sama konstrukcja modelu, jego integracja z Propelem była dla mnie na początku czymś nie do pojęcia, ale po miesiacu pracy nie mogłem sobie wyobrazić nic wspanialszego.
Do tego dorzuciłem nowy edytor (tym razem na licencji darmowej ;)), a jest nim Eclipse, dokładniej PDT – PHP Development Tools. Edytor sprawdza się świetnie, jest intuicyjny i nawet nie przeszkadza brak automatycznej podpowiedzi. Można to co prawda jakoś włączyć, ale wydaje mi się, że bez tego szybciej się pisze… Do tego dochodzi brak konieczności instalacji… po prostu mniód, cud i orzeszki :P

Podsumowując Symfony rządzi dla dużych i średnich projektów, ale dla mniejszych i gdy nie mamy pewności co do serwera – Symfony wymaga bibliotek PEAR – polecam Code Igniter, bo jest dosyć szybki i naprawdę prosty w użyciu.

Nowy projekt. Daleka droga…


Przez ostatnie trzy dni praktycznie 20 godzin na dobę siedzę i koduję stronkę, a właściwie portal już. Tym razem jako engine pod całośc wybrałem framework CodeIgniter. Sam się zdziwiłem jak prosto i szybko można w nim tworzy naprawdę fajne rzeczy. Wcześniej z bardziej popularnych frameworków używałem tylko CakePHP.
Może to, że CI nie jest moim pierwszym zetknięciem z takiego typu rzeczami, a może rzeczywista łatwośc obsługi i prostota sprawiły, że w CI koduje mi się naprawdę szybko, łatwo i przyjemnie. W trzy dni napisałem więcej niż normalnie napisałbym przez tydzień!

CodeIgniter ma bardzo przyjazną (przynajmniej z mojego punktu widzenia) dokumentację – User Guide oraz trochę już zakręcone, ale za to dosyc dobrze uzupełnione – Wiki – jak do tej pory znalazłem wszystko czego potrzebowałem.

W tym projekcie zastosowałem też nową rzecz dla mnie, a mianowicie framework CSS – YAML. Na początku ilośc plików CSS mnie troche przeraziła, ale już po chwili wszystko stało się jasne i stworzenie pełnego layoutu w CSS’ie było faktem.

To tak pokrótce na temat technologii. O samym projekcie na razie wolałbym się jeszcze nie wypowiadac, ponieważ znajduje sie dopiero w bardzo początkowej fazie. Ale jak tylko będę mógł powiedzie coś więcej nie omieszkam się napisac. A myślę, że naprawdę warto śledzic ten projekt.

—————
Sorki za brak c’, ale coś mi klawa padła…