Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:miw:2009:miw09_wiki_sync [2009/04/06 18:06]
jsi08
pl:miw:2009:miw09_wiki_sync [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-Sebastian Pracuch, <​sebastian@pracuch.pl>​ 
  
-==== Wiki_Sync ==== 
-:!: 
-Develop a 
-synchronization ​ 
-[[http://​www.dokuwiki.org/​devel:​plugins|plugin]] 
-for  
-[[http://​www.dokuwiki.org/​|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 [[http://​www.cis.upenn.edu/​~bcpierce/​unison/​|unison]] [[http://​en.wikipedia.org/​wiki/​Rsync|rsync]] 
-last resort? [[http://​en.wikipedia.org/​wiki/​Concurrent_Versions_System|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: 
-  - 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:​ 
-    * test połączenia z serwerem, 
-    * test ścieżki do DokuWiki na serwerze. 
-  - 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:​ 
-    * test połączenia z serwerem, 
-    * test ścieżki do DokuWiki na serwerze. 
-  - 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:​ 
-    * test połączenia z serwerem, 
-    * test ścieżki do DokuWiki na serwerze. 
-  - 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 === 
-  - Instalacja: 
-    * DokuWiki, 
-    * unisona, 
-    * expect. 
-  - Przekopiowanie pluginu ''​sync''​ do katalogu z pluginami (''​dokuwiki/​lib/​plugins''​). 
-  - 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''​. 
-  - Wprowadzenie danych dostępowych do serwera w pliku ''​dokuwiki/​lib/​plugins/​sync/​conf/​defult.php'',​ 
-    ​ 
-=== Instalacja na serwerze === 
-  - Instalacja unisona (w takiej samej wersji jak na lokalnym komputerze). 
- 
-==== Przykłady ==== 
- 
-=== Brak konfliktów === 
- 
-Przed synchronizacją struktura katalogu wyglądała następująco:​ 
- 
-^ Lokalny ​                                               ^ Serwer ​                                             ^ 
-| {{pl:​miw:​2009:​miw09_wiki_sync:​example1_localhost.jpg}} | {{pl:​miw:​2009:​miw09_wiki_sync:​example1_server.jpg}} | 
- 
-Została wybrana strona "​start",​ a następnie z panelu administracyjnego został wybrany plugin synchronizujący. W efekcie otrzymujemy poniższy ekran. 
- 
-{{pl:​miw:​2009:​miw09_wiki_sync:​example1_step1.jpg}} 
- 
-Obserwujemy,​ że test połączenia z serwerem oraz ścieżki do DokuWiki na serwerze przebiegł pomyślnie. Ostatecznie wybieramy synchronizacje całego DokuWiki. Efekt synchronizacji obserwujemy na następnym ekranie: 
- 
-{{pl:​miw:​2009:​miw09_wiki_sync:​example1_step2.jpg}} 
- 
-Ponownie testy zakończyły się sukcesem. Test synchronizacji,​ który określa, czy dana ścieżka może zostać zsynchronizowana,​ również przebiegł pomyślnie. Zostały także wypisane ścieżki, które zostały zsynchronizowane. 
- 
-====== Sprawozdanie ====== 
-====== Prezentacja ====== 
-====== Materiały ====== 
- 
-==== Unison ==== 
-  * [[http://​www.cis.upenn.edu/​~bcpierce/​unison/​]] 
- 
-==== DokuWiki ==== 
-  * [[http://​www.dokuwiki.org/​devel:​admin_plugins]] 
-  * [[http://​www.dokuwiki.org/​devel:​admin_plugin_skeleton]] 
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