Lebkowski.info ,,Winning popularity contests since `85''

maciej lebkowski Z zamiłowania tworzę strony internetowe. Moje teksty mają na celu opisanie niektórych fragmentów internetu, którego ta strona jest częścią. Konserwatywny, pewny siebie, niekonwencjonalny - to wady czy zalety? Sprawdź! maciej łebkowski

poprzednia notka
Uczta kinomana
następna notka
Linkujesz?
Adresy
niezmienny adres
komentarze

RSS komentarzy dla Joggera

20 kwietnia 2006

Wstęp

Nie jest nikomu obce, że Jogger rozwija się w tempie wolniejszym niż moje portfolio. Nie wiem, czy taki bieg wydarzeń jakoś pozytywnie na serwis wpływa, ale użytkownicy zaczynają się irytować brakiem podstawowych funkcji. W wyniku tego powszechnego niezadowolenia powstało kolejne, po trackbacku, dzieło joggerowego community, które mam zaszczyt przedstawić: kanał RSS dla komentarzy pod wpisami joggera.


Treść notki

Powstały w sumie tylko dzięki dobremu pomysłowi. Dobremu, czyli stosunkowo łatwemu do wykonania. O ile w ogóle parsowanie strony HTML w celu generowania RSS-a można nazwać zajęciem łatwym.

Więc to działa? Ale jak?

Zacznijmy od zasady działania. Skrypt dzieli się na dwie części: pierwsza pobiera dane komentarzy do bazy, druga generuje XML-a. Aby nie bawić się w parsowanie każdego szablonu osobno, co byłoby syzyfową pracą, nasze skórki muszą zostać lekko zmodyfikowane. Do HTML-a komentarzy dodajemy więc (w dowolnym miejscu):

<!-- <comments>  
   <customSettings><anchor>id</anchor></customSettings>
   <COMMENT_BLOCK><commentItem>
            <author><COMMENT_NICK/></author>
            <desc><COMMENT_CONTENT/></desc>
            <cID>&COMMENT_ID;</cID>
            <dataStr><COMMENT_DATE/> <COMMENT_HOUR/></dataStr>
    </commentItem>
</COMMENT_BLOCK>

</comments> -->

Dzieki temu wszystkie dane dotyczące komentarzy będą teraz poukładane w XML-podobnym formacie. Co ważne, będzie on uniwersalny dla każdego joggera. Całość znajduje się w komentarzu, więc dla odwiedzających będzie niewidoczna.

Druga część to powiadomienie skryptu o chęci zastosowania komentarzy. Na tą okazję trzeba dodać jogger 'trackback' do obserwowanych. Skrypt to sprawdzi i w następnym cyklu zajrzy na Twojego joggera w poszukiwaniu nowych komentarzy.

Po odnalezieniu interesującego bloku na stronie danej notki zostanie włączony parser, który dane ładnie poukłada w komórkach bazy mySQL. Resztą zajmuje się banalny generator RSS.

Na razie jedyną opcją konfiguracji jest pole 'anchor' (domyślnie ustawione na wartość "id"). Tu nalezy wpisać ciąg znaków, który w adresie do danego komentarza pojawi się pomiędzy hashem (#) a numerem komentarza, przykładowo u Riddle będzie to: "http://riddle.jo(...)entarzy/#c494895 - "c". :)

Konkrety, jak tego użyć

Adres kanału jest prosty:

http://delta.lebkowski.info/jogger/rss/login/[permlink]

W miejsce loginu wstawiamy konkretną nazwę joggera, który chcemy śledzić. Opcjonalnie, dodajemy permalink aby wyfiltrować komentarze pod innymi notkami, przykładowo:

http://delta(...)/rss/trackback/2006/04/20/reaktywacja-trackbacka/

Będzie dotyczyło wpisów pod taką notką:

http://trackback.jogger.pl/2006/04/20/reaktywacja-trackbacka/

Zasady?

Skrypt pobiera komentarzez trzech ostatnich notek na danym blogu. Robi to raz na godzinę. Nie będzie robił tego częściej, chyba że ktoś chce mi fundnąć nowe łącze. Jednakże proszę nie przepuszczać kanału przez feedburnera - nie lubię inwigilacji, którą ten system umożliwia.

Czemu nie natywnie?

Od początku marca, kiedy to zapowiadane były nowe funkcje i duże zmiany nie doszło właściwie nic znaczącego do serwisu. Dlatego ciężko liczyć na ruch ze strony joggera.

System to Proof of Concept. Chciałem pokazać developerowi systemu, że stworzenie tak podstawowych funkcji jak trackback oraz RSS dla komentarzy to kwestia kilku godzin - tyle czasu właśnie spędziłem nad pisaniem tych funkcji. Oczywiście większość czasu poświęciłem na klasę obsługującą joggera (logowanie, dodawanie komentarzy, etc), parsowanie danych wejściowych, etc, a samo generowanie RSS-a z siedzących w bazie danych było kwestią kilku minut.

Niestety wątpię, aby postawienie autora joggera w takim świetle cokolwiek zmieniło. Moja prośba o dodanie prostego taga do szablonów spotkała się z odpowiedzią typu: "dodaj do buggera, jestem zajęty, najwcześniej w poniedziałek" (przy czym to zdanie możnaby nazwać wylewnością w kontekście tego, co usłyszałem od sparrowa). A bugger mnie nie lubi, bo mi nie przysłał linka aktywującego konto. Cóż, poradzę sobie inaczej.

Zachęcam jednak do zwerbowania kilku osób, które będą miały więcej zapału wobec joggera.

Problemy?

Pewnie tak. Parser ma wiele niedoskonałości więc mogą występować dziwne objawy, których w warunkach jednostkowych (no dobra, miałem dwóch testerów) nie jestem w stanie sprawdzić. Jednak w razie problemów proszę o kontakt - będę interweniował. :)

Jeśli kanał RSS Ci się nie podoba - pisz co mam zmienić. System zbudowany jes tak, że pozwala na dużą swobodę w personalizacji. Wszelkie zachcianki mają niemałą szanse na spełnienie. :)

Komentarze

Masz coś ciekawego do dodania? Skontaktuj się ze mną prywatnie. Zerknij na metody kontaktu.

Strefa III Rzeczpospolitej – NIE dla Kaczystanu!