From: Joey Hess Date: Fri, 18 Apr 2014 15:40:19 +0000 (-0400) Subject: Merge branch 'master' of ssh://git.ikiwiki.info X-Git-Tag: debian/3.20140613~85 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/5df475c81398b42fa0fa3f710d7268d15ae920ae?hp=1c5d01e7e600646678c32d192ca19b21493410c9 Merge branch 'master' of ssh://git.ikiwiki.info --- diff --git a/doc/rcs/git/wiki_edit_flow.svg b/doc/rcs/git/wiki_edit_flow.svg index 200a3439d..53eae39e3 100644 --- a/doc/rcs/git/wiki_edit_flow.svg +++ b/doc/rcs/git/wiki_edit_flow.svg @@ -9,11 +9,11 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="493.90625" - height="548.64734" + width="493.02975" + height="542.18921" id="svg2" version="1.1" - inkscape:version="0.48.1 r9760" + inkscape:version="0.48.4 r9939" sodipodi:docname="wiki_edit_flow.svg"> @@ -195,18 +195,18 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.0885159" - inkscape:cx="281.26331" - inkscape:cy="219.65103" + inkscape:cx="281.27395" + inkscape:cy="314.69374" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" showguides="true" inkscape:guide-bbox="true" inkscape:snap-global="true" - inkscape:window-width="1280" - inkscape:window-height="995" - inkscape:window-x="1280" - inkscape:window-y="0" + inkscape:window-width="1438" + inkscape:window-height="872" + inkscape:window-x="0" + inkscape:window-y="26" inkscape:window-maximized="1" fit-margin-top="25" fit-margin-left="25" @@ -218,7 +218,9 @@ empspacing="5" visible="true" enabled="true" - snapvisiblegridlinesonly="true" /> + snapvisiblegridlinesonly="true" + originx="0.010641754px" + originy="26px" /> @@ -228,7 +230,7 @@ image/svg+xml - + @@ -236,108 +238,108 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-159.65625,-106.875)"> + transform="translate(-159.64561,-139.33311)"> + y="251.21931" /> working clones repository srcdir destdir + transform="translate(5,51.000003)"> + transform="translate(0,17)"> @@ -469,7 +471,7 @@ + transform="translate(0,17)"> @@ -522,7 +524,7 @@ sodipodi:cy="187.36218" sodipodi:rx="5" sodipodi:ry="5" - d="m 300,187.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z" + d="m 300,187.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z" transform="matrix(1.4,0,0,1.4,-120,-74.944873)" /> @@ -530,17 +532,17 @@ xml:space="preserve" style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" x="265" - y="211.36218" + y="237.36218" id="text5806" sodipodi:linespacing="125%">ikiwiki.cgi @@ -548,157 +550,157 @@ xml:space="preserve" style="font-size:16px;font-style:normal;font-weight:normal;text-align:end;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans" x="351.31982" - y="362.36218" + y="388.36218" id="text6240" sodipodi:linespacing="125%">post-updatehook ikiwiki.cgipush .git + y="342.36218">.git .git + y="618.36218">.git .git + y="617.36218">.git .git + y="618.36218">.git .git + y="482.36218">.git web-sideedit automaticrebuild gitpull gitpush diff --git a/doc/tips/Git_repository_and_web_server_on_different_hosts.mdwn b/doc/tips/Git_repository_and_web_server_on_different_hosts.mdwn index 58940b89f..c1529c7a0 100644 --- a/doc/tips/Git_repository_and_web_server_on_different_hosts.mdwn +++ b/doc/tips/Git_repository_and_web_server_on_different_hosts.mdwn @@ -3,6 +3,8 @@ server located at different hosts. Here's a description for such a setup, using password-less SSH as a way of communication between these two hosts. +[[!img separate-webserver.svg size=490x align=right]] + Git server ========== diff --git a/doc/tips/Git_repository_and_web_server_on_different_hosts/separate-webserver.svg b/doc/tips/Git_repository_and_web_server_on_different_hosts/separate-webserver.svg new file mode 100644 index 000000000..a9a428158 --- /dev/null +++ b/doc/tips/Git_repository_and_web_server_on_different_hosts/separate-webserver.svg @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + working clones + repository + srcdir + destdir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <html> + + + + + + + + + + + + + + + ikiwiki.cgi + + post-updatehook + ikiwiki.cgipush + .git + .git + .git + .git + .git + web-sideedit + automaticrebuild + gitpull + gitpush + + + diff --git a/doc/tips/distributed_wikis.mdwn b/doc/tips/distributed_wikis.mdwn index 29273ada1..4e084b256 100644 --- a/doc/tips/distributed_wikis.mdwn +++ b/doc/tips/distributed_wikis.mdwn @@ -5,6 +5,53 @@ git, let's explore some possibilities for distributed wikis. [[!toc levels=2]] +## Overview + +There are three possible level of decentralisation: + + 0. [[default setup|rcs/git]], no decentralisation + 1. [[a simple HTML mirror|tips/Git_repository_and_web_server_on_different_hosts/]] + 2. separate `srcdir`, still requires a central bare repo - uses [[plugin/pinger]] + 3. completely distinct ikiwiki installs, synchronised with + [[plugin/gitpush]] + +Here's a graphic overview of those: + +### Default setup - one central server + +[[!img rcs/git/wiki-edit-flow.svg size=490x align=center]] + +In the default setup, all the resources are stored on the central +servers. Users can still clone and edit the git repo by hand and +contribute by git, but otherwise all the changes happen on a single +web interface. + +### Separate webserver and git repository + +[[!img tips/Git_repository_and_web_server_on_different_hosts/separate-webserver.svg align=center]] + +In the configuration described in +[[tips/Git_repository_and_web_server_on_different_hosts]], the +webserver is separate from the git repository. The webserver part +hosts the HTML files, the ikiwiki [[cgi]] but everything else is on +the git server. + +### Decentralised pinger setup + +[[!img ping-setup.svg align=center]] + +In this configuration, the mirrors all have their own `srcdir`, but +still need to push and pull from the same central bare git repo. The +[[plugins/pinger]] plugin is used to ping the mirrors from the central +server on edits. + +### Fully decentralised setup + +[[!img .svg align=center]] + +In this configuration, each wiki is fully independent and pushes its +changes to other wikis using the [[plugins/gitpush]] plugin. + ## a wiki mirror The simplest possibility is setting up a mirror. If a wiki exposes its git diff --git a/doc/tips/distributed_wikis/decentralized_wikis.svg b/doc/tips/distributed_wikis/decentralized_wikis.svg new file mode 100644 index 000000000..f74e07023 --- /dev/null +++ b/doc/tips/distributed_wikis/decentralized_wikis.svg @@ -0,0 +1,1511 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + working clones + repository + srcdir + destdir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <html> + + + + + + + + + + + + + + + ikiwiki.cgi + + post-updatehook + ikiwiki.cgipush + .git + .git + .git + .git + .git + web-sideedit + automaticrebuild + gitpull + gitpush + + + gitpushplugin + + + + + + + + working clones + repository + srcdir + destdir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <html> + + + + + + + + + + + + + + + ikiwiki.cgi + + post-updatehook + ikiwiki.cgipush + .git + .git + .git + .git + .git + web-sideedit + automaticrebuild + gitpull + gitpush + + diff --git a/doc/tips/distributed_wikis/ping-setup.svg b/doc/tips/distributed_wikis/ping-setup.svg new file mode 100644 index 000000000..2d971c412 --- /dev/null +++ b/doc/tips/distributed_wikis/ping-setup.svg @@ -0,0 +1,1064 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + working clones + repository + srcdir + destdir + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <html> + + + + + + + + + + + + + + + ikiwiki.cgi + + post-updatehook + ikiwiki.cgipush + .git + .git + .git + .git + .git + web-sideedit + automaticrebuild + gitpull + gitpush + + + + srcdir + destdir + + + + + + + + + + + + + + + + + + + <html> + + + + + + + + + + + + + + + ikiwiki.cgi + + pingee + ikiwiki.cgipush + .git + web-sideedit + automaticrebuild + pinger + +