MIW 2009 WIKI SYNC
Prezentacja
Sprawozdanie
Cel projektu
Celem projektu jest stworzenie pluginu do DokuWiki, który umożliwi synchronizację całego DokuWiki, wybranej przestrzeni nazw lub wybranego pliku. Zadaniem pluginu jest umożliwienie lokalnej pracy z DokuWiki, bez dostępu do internetu. Użytkownik powiniem posiadać możliwość:
pobrania DokuWiki na lokalny komputer,
edycji lokalnej kopii bez dostępu do internetu,
synchronizacji lokalnej kopii z aktualną wersją znajdującą się na serwerze.
Opis działania
Synchroniazacja odbywa się w następujących krokach:
Wstępne wybranie strony, która zostanie poddana synchronizacji:
przejście na wybraną stronę,
przejście do panelu administacyjnego,
wybranie pluginu odpowiedzialnego za synchronizację.
Sprawdzenie połączenia:
Wybranie przestrzeni nazw (pliku), która zostanie poddana synchronizacji:
wyświetlenie drzewa przestrzeni nazw (wstępnie wybrana strona zostaje zaznaczona),
ostateczny wybór przestrzeni nazw (strony), która zostanie zsynchronizowana.
Ponowne sprawdzenie połączenia:
Sprawdzenie, czy synchronizacja podanej ścieżki może zostać przeprowadzona.
Synchronizacja wybranej przestrzeni nazw (ścieżki):
wypisanie wszystkich zsynchronizowanych pomyślnie plików,
wypisanie wszystkich plików, których synchronizacja zakończyła się niepowodzeniem (wystąpiły konflikty).
Rozwiązanie wszystkich konfliktów (poniższe czynności są wykonywane dla każdego pliku, dla którego wystąpił konflikt):
zapisanie lokalnego pliku w REV,
zapisanie pliku znajdującego się na serwerze, jako pliku aktualnego na lokalnym komputerze,
porównanie aktualnej wersji pliku (plik z serwera) z poprzednią (plik z lokalnego komputera),
określenie w jaki sposób pliki zostaną połączone.
Ponowne sprawdzenie połączenia:
Ostateczne rozwiąznie konfliktów (poniższe czynności są wykonywane dla każdego pliku, dla którego wystąpił konflikt):
Ograniczenia
Plugin posiada następujące ograniczenia:
nie można synchronizować przestrzeni nazw (strony), która znajduje się w niezsynchronizowanej przestrzeni nazw,
synchronizowana są tylko aktualne wersje stron (katalog dokuwiki/data/pages), nie są synchronizowane żadne inne dane (rewizje, catch, itp.).
Pobierz
Instalacja
Instalacja lokalna
Instalacja:
DokuWiki,
unisona,
expect.
Przekopiowanie pluginu sync
do katalogu z pluginami (dokuwiki/lib/plugins
).
Wprowadzenie danych dostępowych do serwera w pliku dokuwiki/lib/plugins/sync/conf/defult.php
, (użytkownik musi należeć do grupy www-data).
Ustawienie grupy (www-data) oraz praw dostępu do katalogu (770), jeśli katalog nie istnieje należy go stworzyć:
dokuwiki/lib/plugins/sync/unison
,
dokuwiki/lib/plugins/sync/diff
,
/var/www/.ssh
.
Użytkownik powinien posiadać dostęp do niektórych plików znajdujących się w powyższych katalogu. Aby mieć pewność, że użytkownik będzie posiadać wymagane prawa dostępu najlepiej usunąć zawartość katalogów (o ile istnieje).
Instalacja na serwerze
Instalacja unisona (w takiej samej wersji jak na lokalnym komputerze).
Spotkania
Projekt
Materiały
Unison
DokuWiki