To jest stara wersja strony!


Opis

Sebastian Pracuch, sebastian@pracuch.pl

Wiki_Sync

:!: 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/

Spotkania

20090409

  • beta + spec
  • page sync?
  • namespace sync? FIXME

20090312

  • rozpracowane api do diff w wiki
  • specyfikacja scenriuszy

20090225

Projekt

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.).

Instalacja

Instalacja lokalna

  1. Instalacja:
    • DokuWiki,
    • unisona,
    • expect.
  2. Przekopiowanie pluginu sync do katalogu z pluginami (dokuwiki/lib/plugins).
  3. 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.

Instalacja na serwerze

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

Sprawozdanie

Prezentacja

Materiały

Unison

DokuWiki

pl/miw/2009/miw09_wiki_sync.1239030105.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (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