== 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 link:maint_schema.html[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 link:http://git-scm.com[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 http://asciidoc.org/[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 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. link:cp_proces.html[cp_proces]. == Gitserver == De gitserver is beschreven op link:gitserver.html[gitserver].