Personal tools
You are here: Home vaen 2007 Eerste zope/plone gebruikersdag

Eerste zope/plone gebruikersdag

De stichting Zope Plone hield 19 september 2007 de eerste zope/plone gebruikersdag, bij deze een verslag daarvan.

Notitie vooraf: Normaliter zou ik dit op m'n weblog zetten, maar daar staat alleen Engelse tekst, vandaar dat het hier staat.

Introductie over de stichting (Jean Paul Ladage)

De stichting Zope Plone was oorspronkelijk ik 2005 opgericht door Amaze en Pareto, maar daar kwam toen niet veel meer van. Een succesvolle plone gebruikers dag in België was de aanleiding om zoiets in Nederland ook te doen: de stichting werd nieuw leven ingeblazen en de meeste Plone bedrijven

Doel:

  • Naamsbekendheid van Zope en Plone in Nederland.
  • Gebruikers bij elkaar brengen. Onder andere via de mailinglijst.

Tja, da's deels commercieel en deels community. De leden van de stichting zijn ook allemaal commerciële bedrijven. Hoe zit dat? Het is belangrijk om Zope en Plone als geheel binnen Nederland te laten groeien. Een afgeleide daarvan is natuurlijk een betere markt voor de individuele bedrijven.

Wat de stichting doet? Promotie op congressen en beurzen; gebruikersdagen; hopelijk een training van de nummer 1 Plone trainings goeroe Joel Burton; een Nederlandse sprint. Er is laatst al een sprint gehouden (bij Pareto) om de Nederlandse vertalingen van plone 3.0 volledig te krijgen.

Vraag uit de zaal: is de stichting alleen voor de leveranciers of ook voor andere bedrijven? Jean Paul zei "ja". Iedereen die de doelen van de stichting mee wil helpen bereiken is welkom.

Plone 3.0 demonstratie (Wichert Akkerman)

Wichert is de release manager van plone 3.0, dus wat er nu uit is gekomen is deels zijn schuld. De release is een half jaartje later dan de planning uitgekomen; er zit dan ook veel nieuws in.

(Wichert gaf een demonstratie van de nieuwigheden, wat niet handig is om op te schrijven.)

Een grote vernieuwing is ook een compleet nieuwe manier van skinnen, van aanpassen van de user interface. Het is in Plone 3.0 mogelijk om wijzigingen aan te brengen die bruikbaar blijven in toekomstige plone versies. Vroeger was je veel meer plone templates aan het overschrijven en aanpassen: elke nieuwe plone versie betekent dan het wederom nalopen van alle templates.

In plone 3.0 heb je daar veel minder last van. NuPlone is een nieuwe skin die illustreert hoe je dat systeem kan gebruiken en die een moderne manier van skinnen laat zien.

De volledige lijst van toevoegingen staat op plone.org.

PloneGov (Nicolas Bossut)

Nicolas werkt bij ZEA partners. ZEA is ook bezig met de promotie van Zope/Plone/Silva (maar dan wereldwijd) en met het opstarten/ondersteunen van grotere projecten, zoals PloneGov.

PloneGov is een combinatie van meerder projecten, de grootste is het Belgische CommunesPlone, een samenwerkingsverband van Belgische gemeentes om gemeenschappelijk Plone software te (laten) maken/gebruiken en om elkaar met het Plone-gebruik te helpen. Het Zwitserse PloneGov.ch is vergelijkbaar, maar veel meer vanuit de aanbieders opgericht. Verder een Baskisch initiatief; het "bungeni" parlement-management-systeem voor een tiental Afrikaanse landen (vanuit de VN); health atlas, Ierland; Tabellio, België Newport News, USA.

PloneGov richt zich op alles van gemeentes en grote steden via provincies tot nationale parlementen. Een karakteristiek van PloneGov [Reinout: in ieder geval bij het Belgische project] is om de gebruikers als potentiële mede-ontwikkelaar te zien. Iedereen die het systeem gebruikt kan kleine of grote dingen verbeteren of toevoegen. Dit zorgt er ook voor dat de gebruikers er zelf ook erg enthousiast over zijn en zelf actief "evangeliseren".

Een paar slotopmerkingen: samenwerking over de grenzen heen; een bottom-up project; het zorgt voor plaatselijke banen; en half in het Frans: "Mutualization".

PloneGov is een van de finalisten van de EU eGov award en een collega van Nicolas is nu in Barcelona om het project aan 27 EU ministers te presenteren. Morgen is de uitslag :-)

Zope schaalbaarheid (Kit Blake)

Volgens Kit kan Zope "spelen met de Big Boys" qua schaalbaarheid. Met de juiste instellingen kan zope heel veel aan. De eerste stap die je sowieso moet doen is "caching".

Belangrijk is taakverdeling. Laat Zope zich met de logica bezighouden en iets anders met het doorpompen van de data. Als een persbericht na twee weken nog steeds hetzelfde is zou Zope er geen werk meer aan moeten hebben. Dat is iets voor de caching server die "voor" zope staat. Gepersonaliseerde pagina's en on-the-fly content, dat is waar de Zope server zich mee zou moeten bezighouden.

Even een paar productnamen: Zope als applicatieserver met Plone als voorbeeld van een applicatie die op zope draait. Apache als webserver. Squid (of Varnish) als caching server. En bijvoorbeeld Pound als software load balancer.

Voor veel kleine sites (zoals de szp site) is zope op zichzelf snel genoeg. Meestal wordt Apache ervoor gezet, vooral ook voor virtual hosting: 1 apache op de server, meerdere domeinnamen die naar meerdere achterliggende sites gaan. Op die manier kan je meerdere zope servers achter 1 apache server hangen. Ook kan Apache voor beveiligde https:// verbindingen zorgen.

Grotere sites hebben vaak Squid tussen Apache en Zope inzitten: als caching server. Bepaalde inhoud, die niet (vaak) wijzigt en wel vaak bekeken wordt, wordt door squid bewaard en aan de gebruiker gegeven zonder Zope ermee lastig te vallen. Squid krijgt hiervoor instructies van Zope ("cache dit wel", "cache dit niet", "cache dit max 10 minuten").

Nog een stap verder. Als de ene zope server het ondanks squid toch te druk heeft, moet er wat aan de Zope kant gebeuren. ZEO is dan de oplossing. Daarmee splits je de zope server op in de daadwerkelijke server en de database. Voor de afgesplitste database kan je dan meerdere zope servers zetten. Het binnenkomende verkeer moet natuurlijk wel over die servers verdeeld worden. Vaak wordt daarvoor een software loadbalancer zoals Pound gebruikt (of squid's ingebouwde loadbalander).

Losse opmerking tijdens een uitleg van een bepaalde setup: Kit probeert de hoeveelheid content types zoveel mogelijk te beperken. Elk eigengebakken content type is bij de volgende upgrade van de site een beheersprobleem.

Release van software: ze hebben de software allemaal in subversion (een versie-controle-systeem). De verschillende zope servers worden opgebouwd met behulp van buildout. Buildout zorgt ervoor dat alle software en benodigdheden netjes worden geïnstalleerd. Zowel goed bruikbaar voor ontwikkelaars als voor het uiteindelijk op de server installeren.

Plone in enterprises (Jean-Paul Ladage)

Jean-Paul vertelde over het (wereldwijde) intranet van Philips Research.

Schaalbaarheid komt ongeveer overeen met het praatje van Kit Blake: een zeo setup met 4 zope servers en squid (ook als loadbalancer) en apache ervoor.

Ze wilden de homepage steeds aan kunnen passen. Daarvoor hebben we CompositePack gebruikt, een systeem om een soort viewlets te kunnen indelen op de homepage. Meerdere nieuwsoverzichten, telefoonboek widget, vrije text viewlets, enz.

De research labs zitten op meerdere (7) locaties. De website moest echter wel 1 website zijn. Daarom wordt er on-the-fly een filter toegepast op alle inhoud in de site. Je kan als gebruiker je lab-locatie aangeven, het filter haalt dan automatisch alle niet-relevante items weg. Dus in Aachen wordt je niet lastig gevallen met het bericht dat de fietsenstalling in Eindhoven tijdelijk verplaatst is.

Nieuwsberichten worden door een aparte afdeling in een ander bestaand systeem beheerd. De website haalt elk kwartier (met feedfeeder) de nieuwe nieuwsberichten als een zogenaamde "atom feed" op. Feedfeeder maakt er normale plone contenttypes van, zodat al de inhoud ook gemakkelijk doorzoekbaar is.

In de loop der tijd waren er binnen Research zo'n 50 losse kleine sites ontstaan. Het gros ervan moet in de loop der tijd overgezet worden naar de plone intranet website. Het lukt nooit om dat in 1 grote klap te doen, dus dat moest geleidelijk. Om dat voor elkaar te krijgen is de uiteindelijke site structuur al aangemaakt en dus zichtbaar in het menu. Maar de hoofdstructuur bestaat uit een apart foldertype ("migratiefolder") met een link naar de oorspronkelijke site en een vinkje "al gemigreerd ja/nee". Normale gebruikers worden (als je in het menu klikken) gewooon naar de al bestaande site gestuurd. Degene die schrijfrechten heeft op de migratiefolder wordt niet doorgestuurd, maar blijft in plone. En kan daar dan langzamerhand de nieuwe site opbouwen. Zodra het klaar is kan het vinkje omgezet worden.

Heel goed was dat de klant expliciet wilde dat er zoveel mogelijk producten als open source uitgebracht werden. Zaken zoals feedfeeder, azlinks, apachepas, ze komen uit dit project.

Leuk is dat verschillende zaken die bij de klant op het verlanglijstje staan al grotendeels door plone 3.0 worden geregeld, dus een upgrade staat op het programma.

PloneFormGen (Jan Murre)

Normaliter worden html formulieren met de hand gemaakt, vooral in het geval van PHP websites. Met Plone kan je daar een programma voor gebruiken die het moeilijke deel van het werk voor je regelt. Vroeger werd PloneFormMailer gebruikt, maar dat had een niet-gebruikersvriendelijke interface. PloneFormGen is de opvolger die de goede onderdelen van PloneFormMailer heeft overgenomen en de rest opnieuw heeft gemaakt - maar nu met een goede interface.

PloneFormMailer kon alleen mailen, dit is dan ook wat meestal gewenst is. PloneFormGen staat ook dataopslag toe, waarbij je na afloop de ingevulde gegevens in bijvoorbeeld een spreadsheet kan importeren.

PloneFormGen werkt keurig met plone 3.0. Jan gaf de demonstratie hiermee.

Case studie: stichting loonwijzer (Huub Bouma)

Loonwijzer is een set websites met informatie over werk en inkomen. Er zijn sites per land en per doelgroep. De Nederlandse site is loonwijzer.nl. Belangrijk onderdeel zijn de enquetes om aan de salarisgegevens te komen. Als lokkertje is er een "salarischeck" waar je je salaris kan vergelijken.

De stichting heeft als doel de transparantie van de arbeidsmarkt. De stichting bestaat uit losse bedrijven die gezamenlijk de loonwijzer een succes willen maken. gw20e zorgt voor het technische deel.

Ze hebben onder andere een enquete engine gemaakt (socrates, GPL). In Java en zoveel mogelijk gebaseerd op de w3c xforms standaard. Maar het is niet super-beheerbaar door de eigenlijke enquetebouwers. Dus hebben ze ook in Plone een "questionnaire management systeem" gebouwd om een mooie interface te bieden (het lijkt een beetje op ploneformgen). Verder gebruiken ze ook een eigengebakken vertaalsysteem in plaats van LinguaPlone, omdat dat niet goed klopte met wat zij nodig hadden (en omdat het niet goed werkte met ruim 14000 vragen). (Voor een kratje Jameson valt er te praten over het open source maken van deze applicatie!)

De vele verschillende websites worden beheerd met een erg eenvoudig archetypes productje waar je in kan stellen welke elementen op de beginpagina moeten komen (en welke niet). Verder kleuren, vormgeving, enz.

Een paar statistieken: 37 plone portalen (maal 3, steeds 2 productie servers en 1 acceptatie/staging server). Loonwijzers in 20 landen. 10 servers (2 india, 4 USA, 4 Nederland). Loonwijzer.nl krijgt ongeveer 380000 bezoekers per maand, ter indicatie.

De sites draaien achter apache en squid in een high availability setup (2 productie servers). Remote installatie met scp en veel automatische quickinstaller aanroepen. Content wordt alleen op het acceptatiesysteem gewijzigd en later gesynchoniseerd met zsyncer. Ze willen in de toekomst naar echte zope HA clustering en load balancing overgaan.

Plone en single sign-on (Duco Dokter)

Single sign-on (SSO) betekent dat je maar 1 keer in hoeft te loggen en dat die gegevens vervolgens door meerdere applicaties gebruikt worden. Je hoeft niet elke keer weer in te loggen. Web-SSO doet dit ook voor webservers.

Het is vooral handig, niet zozeer nodig. Normaliter. Een voordeel is wel dat je al het beveilingsgebeuren op 1 plek centraliseert. Normaliter is er 1 systeem dat het allemaal regelt, de systeembeheerder of de applicatie moet een vertrouwensrelatie instellen ("vertrouw ik dit of niet?"). Hiervoor heb je normaliter een betrouwbaar protocol nodig. (SSO in Plone op basis van NLTM, dus de inloggegevens via windows, valt buiten deze presentatie).

Zij hebben gekozen voor CAS, een server van de Yale universiteit. Randvoorwaarden voor Plone zijn CAS4PAS en PlonePAS (het laatste zit standaard bij Plone).

(De rest van de presentatie was niet makkelijk om op te schrijven).

Document Actions