24 juni 2009

Pijlers onder (genealogische) websites – deel 2

Dit is het tweede deel in een serie wat meer technisch georiënteerde artikels over belangrijke pijlers onder mijn genealogische websites qua software en services.

image Stamboom Forum

Onderstaand figuur geeft de belangrijkste software (linker pijler) en services (rechter pijler) weer waar het Stamboom Forum op is gebaseerd:image

Linux, Apache, MySQL en Perl/PHP (tezamen LAMP), Amazon Cloudfront, Google Feedburner en Google Analytics worden ook bij het Stamboom Forum gebruikt, deze zijn al besproken in deel 1.

classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
width="450"
height="370">

 

imageStamboom Gids 

Onderstaand figuur geeft de belangrijkste software (linker pijler) en services (rechter pijler) weer waar het Stamboom Gids op is gebaseerd:

image

Linux, Apache, MySQL en Perl/PHP (tezamen LAMP), Amazon Cloudfront, Google Feedburner en Google Analytics worden ook bij de Stamboom Gids gebruikt, deze zijn al besproken in deel 1.

  • LINKER is het stuk PHP software dat de basis vormde van de Stamboom Gids; maatwerk toevoegingen zijn de recensies en de integratie met het Stamboom Forum, zoals Mijn favorieten.
  • Kampyle is een gratis service die sinds enige tijd (tijdelijk) op de website wordt gebruik om feedback te krijgen van gebruikers.
  • PageGlimpse is een gratis service die thumbnails (kleine afbeeldingen) van websites maakt, in het begin had ik hier eigen software voor gemaakt, die complex en resource intensief was, PageGlimpse heeft dit overbodig gemaakt, dus minder maatwerk software en minder processing en netwerkbelasting (want PageGlipse maakt èn serveert de plaatjes, niet de Stamboom Gids).

sg

Vorig artikel in deze serie:

  1. Deel 1 - Genealogie Online

18 juni 2009

Stamboomonderzoek met de paplepel erin gieten

De favoriete website van mijn oudste zoon (van 5) is op dit moment SchoolTV. SchoolTV (Teleac) heeft een groot arsenaal van educatieve filmpjes (en is voor mij dus een welkom alternatief voor die Nickelodeon troep op TV) van de publieke omroep gericht op het primair en voortgezet onderwijs.

De inhoud van de filmpjes is zeer divers en tot mijn grote vreugde komt ook de stamboom en het archief langs (klik op de Afspeel knop op de filmpjes te bekijken):

Een stamboom - Heb jij er ook een? (1: 33 minuten)
Voor: Primair Onderwijs, groep 4 – Voortgezet Onderwijs, klas 1

Het archief - Oude boeken op micro-fiche (2:00 minuten)Voor: Primair Onderwijs, groep 4 – Voortgezet Onderwijs, klas 1

 

Docenten die de geschiedenisles met een stamboom beginnen hebben dus mooi materiaal voorhanden. Graag verwijs ik hen ook naar de Onderwijs pagina van het Centraal Bureau Genealogie.

16 juni 2009

Pijlers onder (genealogische) websites - deel 1

Dit keer een serie wat meer technisch georiënteerde artikels over belangrijke pijlers onder mijn genealogische websites qua software en services. Een kijkje achter de schermen… over het gebruik van open source en Internet services, gemaakte architectuurkeuzen en maatwerk programmatuur.

  1. Deel 1 - Genealogie Online

image Genealogie Online

Onderstaand figuur geeft de belangrijkste software (linker pijler) en services (rechter pijler) weer waar Genealogie Online op is gebaseerd:image

Software

In de software pijler (van alle in deze serie besproken diensten) kun je de LAMP solution stack herkennen. Het acroniem LAMP staat voor een bundel van gratis/opensource software oplossingen voor dynamische websites:

  • Linux is het gebruikte (open source) operating systeem voor de server, meer specifiek Debian;
  • Apache “serveert” alle dynamisch content, het is de (open source) webserver die bijvoorbeeld in maart 2009 zo’n 9,2 miljoen bevragingen (hits) kreeg (wat zo’n 41 GB aan netwerk verkeer genereert), het “lichtere” Lighttpd wordt gebruikt als webserver voor een deel van de statische (cachable) content als afbeeldingen, CSS stylesheets en Javascript bestanden (voordat het naar Amazon CloudFront gaat, verderop meer info hierover);
  • MySQL is de (relationele, open source) database die alle data van de websites bevat (de productie data van Genealogie Online alleen al is 1,3 GB groot), wat beheerd wordt met de webapplicatie phpMyAdmin;
  • PHP/Perl – de programmeertalen waarmee de applicaties zijn gemaakt, voor Genealogie Online houdt dit bijvoorbeeld in dat op basis van (maatwerk) Perl programmatuur een GEDCOM wordt verwerkt tot (ruim 7 miljoen, maatwerk) PHP pagina’s. Deze architectuurkeuze (generatie i.p.v. dynamisch vanuit GEDCOM of database) heeft grote voordelen qua schaalbaarheid en performance, maar ook nadelen, bijvoorbeeld qua flexibiliteit. Om de PHP pagina’s sneller te maken wordt er eAccelerator gebruikt (als extensie op Apache).

Een software component dat niet onbenoemd mag blijven is Swish-e. Deze open-source applicatie indexeert alle content op Genealogie Online en maakt deze doorzoekbaar. Waarom niet gewoon op Google vertrouwen? Omdat Google veel tijd nodig heeft om de bijna 7 miljoen pagina’s (die ook nog wel eens wijzigen) te indexeren, als de Google-spiders alle content al ophalen (geen garanties!). Alternatief om de websites doorzoeken te maken op (familie)naam heeft als nadeel dat er dan een groot deel van de rijke inhoud (denk aan notities) niet doorzocht wordt.

Componenten

Enkele kleinere software delen, ook wel componenten of widgets genoemd, die noemenswaardig zijn:

Services

Waar software op de server zelf is geïnstalleerd en draait (en onderhouden moet worden), worden services op servers van andere partijen geboden en door Genealogie Online gebruikt.

  • Amazon CloudFront (en het onderliggende Amazon S3) wordt gebruikt als Content Delivery Network. Statische content (de al eerder genoemde afbeeldingen, CSS stylesheets en Javascript bestanden) wordt hiermee “geserveerd” door een andere server en andere netwerkverbinding, wat meer bandbreedte over laat voor de overige dynamische content (ook al is de domeinnaam gewoon img3.coret.org, css3.coret.org en js3.coret.org!). Deze zeer schaalbare service van Amazon is één van de weinige betaalde services die wordt gebruikt;
  • Scribd (iPaper) is een gratis service waar document kunnen worden gepubliceerd. Deze service wordt door Genealogie Online gebruikt om bijvoorbeeld alle stambomen en kwartierstaten in PDF formaat op te “hosten” (zie voorbeeld). Naast een betere user experience is ook dit een manier om bandbreedte te besparen.
  • Google Feedburner wordt gebruikt voor het beschikbaar stellen van de diverse RSS feeds. Ook hier geldt weer, alle RSS readers en browsers halen de web feeds van Google Feedburner en alleen Google Feedburner haalt de web feeds op van Genealogie Online waardoor er dus weer een boel bandbreedte wordt bespaard.
  • Google Analytics is een gratis dienst van Google die geeft inzicht in het bezoek van de website: hoeveel gebruikers, waar komen ze vandaan (land/website), wat doen ze (en hoe lang) en dit alles in inzichtelijke grafieken. Deze informatie kan gebruikt worden om de website te optimaliseren.
    image
  • Google Translate is (wederom) een gratis dienst van Google die realtime webpagina’s vertaalt in andere talen. Op Genealogie Online zorgt deze voor de automatisch vertaling naar Engels.

Eerste indruk

Met dit eerste kijkje achter de schermen heb ik een indruk willen geven van wat een website als Genealogie Online behelst. Een deel van het werk is het maken (en onderhouden) van programmatuur. Maar een belangrijk deel van de software en services is er al, klaar om gebruikt te worden! Hierbij is het merendeel van de software en services ook nog eens gratis! De “investering” zit ‘m (naast hosting en bandbreedte) vooral in het slim “componeren” van eigen/andermans software en services om een mooie & nuttige website voor (in dit geval) stamboomonderzoekers neer te zetten. Veel aandacht gaat er bij goed lopende websites zitten in performance en schaalbaarheid.

Heeft u specifieke vragen over de software of services, plaats deze dan in de reacties bij dit artikel!

In deel 2 van deze serie zal ik ingaan op de pijlers onder het Stamboom Forum en de Stamboom Gids.