Pedros Bloog

Spik

Zamknięcie serwera - jak przenieść dane

W związku z zamknięciem serwera załączam z forum krótkie info z oficjalnego forum jak pozostać przy Spiku zachowując jednocześnie dane ze starego konta (przygotowane przez twórców Spika)

 

Hej

Szkoda, że muszę do Was pisać w takim konktekście, ale decyzje zostały podjęte i pozostaje to zaakceptować.
Szkoda tym większa, że jestem nie tylko developerem, ale codziennym użytkownikiem tego kumunikatora.

Przejdźmy jednak do meritum. W najbliższym czasie, o ile zdecydujecie się pozostać w świecie jabbera, staniecie przed koniecznością przejścia na inny serwer. Poniżej trochę informacji, w jaki sposób wydostać różne informacje, które mogą się Wam w tym procesie przydać - najpierw w wersji dla zwykłego zjadacza chleba, a potem dla hardcore'owców http://i.wp.pl/a/f/gif/975/icon_smile.gif

http://i.wp.pl/a/f/gif/975/icon_arrow.gif Wersja dla każdego
1. Lista kontaktów
Tutaj najprościej skorzystać z eksportu kontaktów: Menu/Import Eksport kontaktów/Eksport kontaktów.
Po założeniu nowego profilu na innym serwerze powstałą listę można zaimportować.
W przypadku Tlen i GG po skonfigurowaniu Waszych kont można używać kontaktów bez zmian.
W przypadku kontaktów spikowych (na serwerze jabber.wp.pl) konieczna będzie ich autoryzacja nowych u Waszych rozmówców.

2. Archiwum rozmów Spika
Najprościej również skorzystać z eksportu - w oknie archiwum należy kliknąć prawym przyciskiem na wybranym kontakcie bądź grupie i wybrać opcję Eksportuj.
Jeśli będziecie chcieli wczytać rozmowy w innym komunikatorze, to niestety nie będzie to łatwe; trzeba będzie zapewne przetworzyć plik tak, aby mógł być wczytany przez inny program.

http://i.wp.pl/a/f/gif/975/icon_arrow.gif Wersja trudniejsza, dla pozostających przy Spiku
Tak jak pisałem, aby skorzystać z innego serwera konieczne jest założenie nowego profilu. Co zrobić z listą kontaktów Kiedy to zrobicie, możliwe jest przeniesienie danych z poprzedniego profilu, korzystając z następującej procedury:
- eksportujemy kontakty

- zamykamy Spika

- otwieramy folder z profilami Spika, który zależnie od systemu różnie się nazywa, np: C:\Document and Settings\<user>\Dane Aplikacji\Spik\Profiles lub C:\Users\<user>\AppData\Roaming\Spik\Profiles. Ścieżkę można odnaleźć w rejestrze pod kluczem HKCR\Software\Spik\Settings\Profiles\Dir

- wykonujemy kopię wszystkiego co się w nim znajduje, aby w razie problemów móc wszystko odkręcić

- z bieżącego (jabber.wp.pl) profilu kopiujemy do nowo założonego profilu pliki (uwaga, niektóre są ukryte, trzeba odznaczyć odpowiednią opcję w opcjach folderów):
-- key.dat - bardzo ważne, to jest klucz szyfrujący dane archiwum i ustawień
-- a*.dat - archiwa wiadomości, sms, ...
-- *.xme poza contacts.xme - wszelkie ustawienia (plik contacts.xme zawiera listę kontaktów; jego należy usunąć i potem skorzystać z eksportu jak opisano wyżej - przeniesienie kontaktów poprzez kopiowanie pliku nie zadziała)

- uruchamiamy Spika, importujemy kontakty i dostosowujemy ustawienia, jeśli jakieś uległy zmianie

http://i.wp.pl/a/f/gif/975/icon_arrow.gif Wersja dla hardcore'owców
Dla osób, którym nie jest straszny XML/XMPP, przedstawiam poniżej komunikaty pozwalające pobrać różnorakie dane bezpośrednio z serwera. Aby tego dokonać, potrzebujemy komunikatora dysponującego konsolą XML, np. Psi. Można też napisać sobie do tego klienta np. w perlu (jest moduł Net::XMPP) i przetworzyć odebrane dane. W podobny sposób dane można załadować na inny serwer. Zakładam podstawową znajomość protokołu Jabber/XMPP, więc proszę nie pytajcie o jakieś szczegóły lub jeśli coś Wam nie zadziała jak byście się spodziewali. You are on your own.

:

- lista kontaktów (roster)
<iq id="xx" type="get">
  <query xmlns="jabber:iq:roster"/>
</iq>

- rozszerzona lista kontaktów (dane z wizytówki kontaktu w Spiku, kontakty telefoniczne)
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:extcontacts" />
  </query>
</iq>

- lista kontaktów GG
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:extcontacts:Gadu-Gadu" />
  </query>
</iq>

- lista kontaktów Tlen
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:extcontacts:Tlen" />
  </query>
</iq>


- lista ignorowanych
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:ignored" />
  </query>
</iq>

- ustawienia
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:usersettings" />
  </query>
</iq>

- statusy
<iq id="xx" type="get">
  <query xmlns="jabber:iq:private">
    <wpmsg xmlns="wpmsg:custstatus" />
  </query>
</iq>

- archiwum wiadomości na serwerze (tylko jabber - Spik/WebSpik)
Archiwum jest z grubsza zgodne z XEP-0136: http://xmpp.org/extensions/xep-0136.html
Stronicowanie oparte jest o podzbiór XEP-0059: http://xmpp.org/extensions/xep-0059.html
Protokół jest dość niewygodny do ręcznego stosowania, więc przydałby się jakiś prosty klient.

- lista rozmówców
<iq type="get" id="t">
<peers xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
</peers>
</iq>

<iq type="get" id="t">
<peers xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
  <set xmlns="http://jabber.org/protocol/rsm">
   <max>1</max>
  </set>
</peers>
</iq>

<iq type="get" id="t">
<peers xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
  <set xmlns="http://jabber.org/protocol/rsm">
   <after>user@jabber.wp.pl</after>
   <max>1</max>
  </set>
</peers>
</iq>

- lista rozmów
<iq type="get" id="t">
<list xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
</list>
</iq>

<iq type="get" id="t">
<list xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
  <set xmlns="http://jabber.org/protocol/rsm">
   <max>2</max>
  </set>
</list>
</iq>

<iq type="get" id="t">
<list xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns">
  <set xmlns="http://jabber.org/protocol/rsm">
   <after>2008-02-21T15:28:23Z</after>
   <max>2</max>
  </set>
</list>
</iq>

- lista rozmów z wybranym adresatem
<iq type="get" id="t">
<list xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns" with="user@jabber.wp.pl">
</list>
</iq>

- pobranie zapisu wybranej rozmowy
<iq type="get" id="t">
<retrieve xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns"
           with="user@jabber.wp.pl"
           start="2008-02-22T13:55:39Z">
</retrieve>
</iq>

<iq type="get" id="t">
<retrieve xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns"
           with="user@jabber.wp.pl"
           start="2008-02-21T15:28:23Z">
  <set xmlns="http://jabber.org/protocol/rsm">
   <max>1</max>
  </set>
</retrieve>
</iq>

<iq type="get" id="t">
<retrieve xmlns="http://www.xmpp.org/extensions/xep-0136.html#ns"
           with="user@jabber.wp.pl"
           start="2008-02-21T15:28:23Z">
  <set xmlns="http://jabber.org/protocol/rsm">
   <after>0</after>
   <max>1</max>
  </set>
</retrieve>
</iq>



Ok, to chyba tyle...
Jako ostatni pozostały w WP developer Spika dziękuję wszystkim za współtworzenie naszego komunikatora - czy to poprzez zgłaszanie pomysłów, zgłaszanie błędów czy nadsyłanie kupek, czyli zrzutów pamięci po crashu http://i.wp.pl/a/f/gif/975/icon_wink.gif
Trzymajcie się!

 

 

Dodatkowo należy dodać, że oprócz klucza w key.dat używane jest także hasło do profilu (nie do serwera).

Trzeba więc zrobić tak (sprawdzone):
- założyć nowy profil
- zmienić mu hasło do profilu (nie do serwera), na takie jakie było w starym profilu Spika (najczęściej takie samo jak do serwera)
- wyłączyć spika
- przekopiować pliki key.dat oraz a*.dat
- uruchomić spika z profilem nowoutworzonym

Teraz już będzie dobre archiwum i można zmienić z powrotem hasło do profilu na inne http://i.wp.pl/a/f/gif/975/icon_smile.gif