Site onderhoud
Het website onderhoud is opgezet naar het model van een open source software project.
-
De source is beschikbaar, onder andere in een versie beheer systeem.
-
Met die source kun je en mag je aan de slag.
-
Er is een mailinglist voor discussie.
Het idee is om een laag drempelig project te zijn vooral ter leringe ende vermaecke. De uitnodiging is dan ook om te doen, kom vooral met vragen. Vragen zijn het begin van wijsheid.
Op overzicht onderhoud vind je de korte versie van wat hier beschreven is.
Download
De download van de source kan op twee manieren. Door een tarball op te halen of door middel van versie beheer programma.
Tarball
De URL van de tarball is http://losc.nl/Breda/loscweb.tar.gz Om een download vanaf de command line te doen type je
wget http://losc.nl/Breda/loscweb.tar.gz
Uitpakken van de .tar.gz kan d.m.v.
gunzip loscweb.tar.gz tar xf loscweb.tar
Als je GNU tar hebt, dan kan het in een regel
tar xzf loscweb.tar.gz
Voor een nieuwe versie begin je weer bij wget.
Source Code Management
Met een Source Code Management is het ophalen, uitpakken en up-to-date houden stukken makkelijker. Minst je de software ervoor ge-installeerd hebt. Loscweb maakt gebruik van de software git
Ophalen en uitpakken van de source kan nu in 1 regel:
git clone http://losc.nl/Breda/loscweb/.git
Een nieuwe versie ophalen doe je door in de loscweb directory de volgende commando’s uit te voeren:
git checkout master git pull
Bouw
Om de webpagina’s te genereren ga je in de loscweb directory staan en daar doe je
./configure make
Het resultaat staat in de website/ directory.
Nu
webbrowser website/index.html
Of bijvoorbeeld
firefox /home/karin/loscweb/website/index.html
om het resultaat lokaal te zien.
Source
In website/ vindt je de source files, ze hebben de extensie .txt Die bronbestanden worden met asciidoc omgezet naar html.
Update website
Een update maken, een bijgewerkte versie maken, van de website is een prachtkans om ervaring op te doen met een Open Source project.
Vindt de juiste source file, breng daar jouw gewenste verandering aan. Bouw het project opnieuw ( make ) Controleer het effect van jouw wijziging. Meldt jou verandering aan de mailinglist.
Diezelfde handelingen nog een keer puntsgewijs
-
vindt source file
-
edit
-
make
-
check and double check
-
Communiceer
Vragen m.b.t. aanvullingen, tips en commentaar over de site graag per E-Mail via de losc Breda mailing list zodat iedereen in de gelegenheid is hierop te reageren. Het aanleveren van complete pagina’s mag ook. De .txt file moet dan wel verder verwerkt worden en daar gaat de rest van deze pagina over.
Source Code Management
Het gereedschap wat aan het gebruiken zijn heet Source Code Management. De specifieke die hier gebruikt wordt heet git. Daar is heel veel over te vertellen. Hier gaan we er vlug doorheen.
edit files git diff # wijzigingen tonen edit files git diff # nog een keer wijzigingen tonen git add files git commit # je bent in EDITOR # type in wat je gewijzigd hebt # bewaar ( "save" ) en sluit editor # er volgt nog wat output git format-patch HEAD~1
Er is dan een bestand, 00*.patch, wat er ongeveer zo een inhoud heeft:
commit a39901c8da55b6c6cf5b96f8e9d07e765023784d Author: Will <will@example.com> Date: Mon Nov 3 22:26:59 2014 +0100 Aankondiging bijeenkomst 18 december 2014 diff --git a/website/meetings.txt b/website/meetings.txt index 30021e1..4e12f7e 100644 --- a/website/meetings.txt +++ b/website/meetings.txt @@ -2,8 +2,10 @@ De volgende bijeenkomst: -*Donderdag 23 oktober 2014* -19:30-22:30 uur +IMPORTANT: *Donderdag 18 december 2014* +19:30-22:30 uur + +Dit is dan wel de derde donderdag van de even maand december, + +want de vierde donderdag van die maand is het namelijk de Eerste Kerstdag. En zal gaan over
Dat ging voor een eerste keer met git werken vanaf de command line zeker snel. Op https://openhatch.org/missions/git staat trainingsmateriaal. Of oefen hier verder.
Punt waar je nu moet zijn, is dat er een unified diff van je wijzigingen is. Dus een tekstbestand met daarin --- bestandsnaam, +++ bestandsnaam, @@ regelnummer informatie @@, wat omliggende regels, regels die weggehaald zijn (min-teken aan het begin), regels die toegevoegd zijn (plus-teken aan het begin), wat omliggende regels.
Stuur de unified diff naar de mailinglist.
Op de ML wordt de diff dan beoordeelt. En als ie goedgenoeg is, dan gaat ie de centrale repository in. In de regel is dat het geval, want we weten dat verandering verbetering kan zijn. Vandaar dat we verandering stimuleren om zo verbetering te bereiken.
Commit privilege
Als we wat goede diffs van je gezien hebben dan wordt dat beloond met commit privilege. Dat betekent dat je zelf je wijzigingen aan de centrale repository kunt en mag toevoegen.
Wat je daar voor moet aanleveren is je public ssh key. ( Is te generen m.b.v. ssh-keygen ) Die sleutel wordt op server gelegd. Passen doet de key echter alleen op de SSH poort, de HTTP poort blijft read only.
Git is per repository in te stellen hoe ie moet lezen en hoe te schrijven. Toen je git clone http://losc.nl/Breda/loscweb/.git deed werd lezen reeds op HTTP ingesteld. Blijf dat vooral doen en zeer zeker melden als HTTP read niet werkt.
Instellen van SSH write gebeurd m.b.v.
git config url."cp@november.losc.nl:~/Breda/loscweb".pushInsteadOf \ http://losc.nl/Breda/loscweb/.git
In de file .git/config in je lokale repository van loscweb is dat terug te lezen als
[url "cp@november.losc.nl:~/Breda/loscweb"] pushInsteadOf = "http://losc.nl/Breda/loscweb/.git"
Met git push gaan nu je wijzigingen naar de centrale repository.
De eerste git push over SSH zal vragen of je server november.losc.nl wilt vertrouwen c.q. herkent. Server november is te herken aan de SSH fingerprint
5e:7d:a0:24:e4:fb:f8:4a:99:e2:ac:3b:16:43:41:32.
Daarmee is verder vertrouwen op te bouwen.
Push
Voorbeeld:
$ git push Counting objects: 18, done. Compressing objects: 100% (14/14), done. Writing objects: 100% (14/14), 1.85 KiB, done. Total 14 (delta 6), reused 0 (delta 0) To cp@november.losc.nl:~/Breda/loscweb 315508f..e9c5339 master -> master $
failed to push some refs
Mocht de push niet lukken, dan is het de moeite waard om eerst een pull te doen.
$ git push To cp@november.losc.nl:~/Breda/loscweb ! [rejected] master -> master (non-fast forward) error: failed to push some refs to 'cp@november.losc.nl:~/Breda/loscweb' $ git pull remote: Counting objects: 7, done. remote: Compressing objects: 100% (4/4), done. remote: Total 4 (delta 3), reused 0 (delta 0) Unpacking objects: 100% (4/4), done. From cp@november.losc.nl:~/Breda/loscweb 4c90189..fd5aa51 master -> origin/master Merge made by recursive. scripts/novembercronjob | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) stappers@viggo:/usr/src/loscweb_cp $ git push Counting objects: 10, done. Compressing objects: 100% (6/6), done. Writing objects: 100% (6/6), 799 bytes, done. Total 6 (delta 4), reused 0 (delta 0) To cp@november.losc.nl:~/Breda/loscweb fd5aa51..cdb5e7f master -> master $
Hoe komen nu de wijzigingen op de website te staan. cp_proces.
Gitserver
De gitserver is beschreven op gitserver.