Jogger → Wordpress. Poradnik emigranta

Obecnie inkryminowany serwis posiada już możliwość eksportu wpisów, przez co poniższa instrukcja trochę się zdezaktualizowała. Być może jednak komuś się jeszcze przyda.


Jak wiadomo, od wersji 2 serwis blogowy Jogger nie jest już wolnym oprogramowaniem. Przez to jego użytkownicy są zdani na łaskę lub niełaskę (zwykle niełaskę) administratora i jedynego dewelopera systemu - Sparrowa. Nie jest to sytuacja ani komfortowa, ani bezpieczna, ani efektywna. W poniższym poradniku opisuję, jak można przenieść całą (no, prawie) bazę danych Joggera na Wordpressa. Zakładam korzystanie z jednego z systemów uniksowych. W popularnym systemie operacyjnym też zapewne da się to zrobić, ale nie tak łatwo.

Przede wszystkim potrzebny jest tobie serwer, na którym postawisz swój nowy blog. Możesz wykupić własny hosting lub skorzystać z darmowego serwisu, jak Wordpress.com. Jeśli zdecydowałeś się na pierwsze rozwiązanie, zainstaluj Wordpressa, a następnie pobierz plik obsługi formatu WXR1. Rozpakuj go i wgraj plik wordpress.php do folderu wp-admin/import/.

Teraz zajmiemy się eksportem twojego joggera do pliku WXR. Ponieważ Sparrow nie udostępnił prawie żadnej możliwości eksportu bazy danych, będziemy musieli zrobić to sami. Dobrze jest przeprowadzić eksport w godzinach o niskim natężeniu odwiedzin, jako że w czasie jego trwania niemożliwe będzie czytanie strony z komentarzami.

Upewnij się, że w zakładce „Ogólne” panelu konfiguracyjnego format daty jest ustawiony na Y-m-d, a czasu na H:i:s. Dopilnuj także, żeby rodzaj archiwum był ustawiony na „Podział na ilość wpisów” (być może nie jest to konieczne, ale tak będzie łatwiej). Przejdź do edycji szablonu komentarzy. Zapisz jego kopię w bezpiecznym miejscu, a następnie podmień go na szablon wstępnego eksportu Joggera do WXR.

Możemy przejść do właściwej części kopiowania bazy danych. Otwórz terminal. Utwórz dowolny folder, w którym będą przechowywane pliki danych, np. joggerbackup, i wejdź do niego.

mkdir joggerbackup
cd joggerbackup

Aby nie przeciążać serwera, pobierzemy joggera z dwusekundowymi odstępami między każdą podstroną.

wget -w 2 -r -nd adres_twojego_bloga

Możesz przywrócić stary szablon komentarzy i wcześniejsze ustawienia panelu konfiguracyjnego.

Mamy teraz wiele plików, z których potrzebne nam są tylko strony komentarzy. Otwórz menedżera plików i ustaw sortowanie według daty modyfikacji. Zorientuj się, jaki jest najwcześniejszy plik o nazwie postaci index.html.[jakaś_liczba], którego zawartością jest strona komentarzy, i skasuj wszystkie wcześniejsze od niego, a następnie wszystkie, których nazwa zaczyna się od liczby (będą utworzone najpóźniej). Przejdź z powrotem do terminala.

Połączymy wszystkie dane w jeden plik.

cat * > jogger.xml

Teraz nastąpi najprzyjemniejsza część całości, czyli dostrajanie otrzymanego pliku do formatu WXR za pomocą seda.

sed -i s/"<podpis><a href=\"\(.*\)\">\(.*\)<\/a><\/podpis>"/"<wp:comment_author>\2<\/wp:comment_author>\n\t\t<wp:comment_author_url>\1<\/wp:comment_author_url>"/ jogger.xml
sed -i s/"<podpis>\(.*\)<\/podpis>"/"<wp:comment_author>\1<\/wp:comment_author>"/ jogger.xml

Przejdź do panelu administracyjnego Wordpressa i w zakładce „Import” wybierz opcję „Wordpress”. Zaimportuj plik jogger.xml z folderu joggerbackup.

To już wszystko. Daj znać, że działa.

Komentarzy: 17 do “Jogger → Wordpress. Poradnik emigranta”

Wyświetlanie ostatnich 10 komentarzy (pokaż wszystkie)

  1. Livio
    7. listopad 2008
    17:11

    No to zaczęły się schody. WordPress importuje tylko ostatni wpis z mojego XML-a, już po poprawieniu encji (urwane średniki), a resztę chce zapisać jako załącznik…

  2. Krzysztof Jurewicz
    6. listopad 2008
    16:56

    Kod w sedzie i szablon: poprawione.

  3. Livio
    6. listopad 2008
    16:51

    Działa doskonale, chociaż nie trzymałem się dokładnie opisu :) .

    * W szablonie występuje dwa razy wp:post_date, z czego jedno jest błędne, bo wypełnione datą i godziną.

    * Zamiast patrzeć na daty plików, prościej użyć grepa:

    grep -i html\ xmlns ./*
    grep -i \?xml ./*

    Otrzymamy listę plików w niewygodnej formie. Wolałem nie grzebać, więc w gedicie zaznaczałem wszystko od dwukropka po koniec (Shift + End, Delete), a następnie zamieniłem „\n./” na spację i wykonałem rm z otrzymanym tekstem jako parametr.

    * Zamiast uruchamiać sed -i s/”"/”"/, uruchomiłem sed -i s^”"^”"^, bo się pluł, a manual dopuszcza dowolny znak.

    W każdym razie, uratowałeś mi tyłek.

    Dziękuję :) .

  4. Krzysztof Jurewicz
    6. listopad 2008
    2:42

    Wygląda na to, że Wordpress nieco przerabiał kod w sedzie, który miał wyświetlić (wycinał niektóre antyukośniki). Mam nadzieję, że teraz będzie działać.

  5. Livio
    4. listopad 2008
    21:45

    A mogę dać znać, że sed się pluje, a po próbie zamiany s/”"/”"/ na format „s###” nie zamienia nic?

  6. Michał
    29. wrzesień 2006
    7:45

    Dzięki wielkie. Zastanowię sie nad emigracją. Wordpress nigdy chyba nie będzie miał jednej rzeczy. Mianowicie polskiej społeczności i błyskawicznego powiadamiania o nowych wpisach na Jabbera. Testu w tej chwili usłuchę JabRSS, ale to jest dosyć wolne i są dodawane śmieci:/

  7. Krzysztof Jurewicz
    24. wrzesień 2006
    17:31

    Dane o kategoriach - tak. Dane o tagach - nie, ale to zapewne można łatwo dodać. Problem w tym, że Wordpress domyślnie nie obsługuje tagów i trzeba by je wyeksportować jako pola użytkownika (które działają na zasadzie klucz - wartość). Żeby jednak później zrobić z nich użytek, trzeba by doinstalować do Wordpressa jakąś wtyczkę obsługującą tagi i przy eksporcie z Joggera sformatować dane tak, żeby mogły być przez nią obsłużone. Dla konkretnej wtyczki nie powinno to być trudne.

  8. anghan
    24. wrzesień 2006
    15:17

    Witam, chciałem się dowiedzieć czy ten konwerter pozwoli na zachowanie wszystkich danych. To jest czy będę miał zachowane dane o kategoriach i tagach. Proszę o info.

  9. Kermit
    20. wrzesień 2006
    20:50

    przepraszam… to raczej ja nie zrozumiałem dokładnie treści… miałem zamiar się przenieść, muszę tylko dorwać dostęp do jakiegoś linuxa :P

  10. Krzysztof Jurewicz
    20. wrzesień 2006
    20:39

    Nie rozumiem. Przecież o tym właśnie jest ten wpis. O przenoszeniu wpisów i komentarzy z Joggera na Wordpressa.

Skomentuj

XHTML: Dozwolone znaczniki: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>