MIW 2009 WIKI SYNC

**Zrealizował: Sebastian Pracuch (4RI)

:!: Develop a synchronization plugin for Dokuwiki for disconnected work, that allows a developer to work and extend a disconected copy of the wiki, and then a back replication, possibly with merging.

Tools to consider unison rsync last resort? cvs http://kdiff3.sourceforge.net/ http://meld.sourceforge.net/

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:

  1. Wstępne wybranie strony, która zostanie poddana synchronizacji:
    • przejście na wybraną stronę,
    • przejście do panelu administacyjnego,
    • wybranie pluginu odpowiedzialnego za synchronizację.
  2. Sprawdzenie połączenia:
    • test połączenia z serwerem,
    • test ścieżki do DokuWiki na serwerze.
  3. 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.
  4. Ponowne sprawdzenie połączenia:
    • test połączenia z serwerem,
    • test ścieżki do DokuWiki na serwerze.
  5. Sprawdzenie, czy synchronizacja podanej ścieżki może zostać przeprowadzona.
  6. 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).
  7. 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.
  8. Ponowne sprawdzenie połączenia:
    • test połączenia z serwerem,
    • test ścieżki do DokuWiki na serwerze.
  9. Ostateczne rozwiąznie konfliktów (poniższe czynności są wykonywane dla każdego pliku, dla którego wystąpił konflikt):
    • połączenie aktualnej wersji pliku z poprzednią,
    • przegranie pliku na serwer.

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

  1. Instalacja:
    • DokuWiki,
    • unisona,
    • expect.
  2. Przekopiowanie pluginu sync do katalogu z pluginami (dokuwiki/lib/plugins).
  3. Wprowadzenie danych dostępowych do serwera w pliku dokuwiki/lib/plugins/sync/conf/defult.php, (użytkownik musi należeć do grupy www-data).
  4. 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

  1. Instalacja unisona (w takiej samej wersji jak na lokalnym komputerze).

Spotkania

Projekt

Materiały

Unison

DokuWiki

pl/miw/2009/miw09_wiki_sync.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0