Plone
This is here to serve as contents for the atom/rss feed for Plone, also read by planet.plone.org.
Kim Chee Leong - Responsive web design
Presentatie tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Kim Chee Leong werkt bij GW20e.
Tegenwoordig zijn er veel verschillende apparaten met verschillende schermafmetingen die je website kunnen bekijken. Met responsive web design kan je de website aanpassen aan het apparaat.
Plone past zich al gedeeltelijk aan het schermformaat aan, maar dat kan beter.
Met een klant hebben we overlegd hoe we dit gaan aanpakken. Het is goed dat de klant daar ook over nadenkt, dat hij aangeeft wat belangrijk is.
Hoe kan je responsive zijn?
- Gebruik een flexibel grid (fluid layout)
- CSS3 media queries
- Flexibele waardes (fonts in em, margins en dergelijke in percentages, niet in pixels)
- Gebruik geen code op de server om mobiele apparaten te ontdekken. Dat kan een manier zijn, maar het is niet responsive. Let gewoon op de schermgrootte.
De meeste andere CSS3 technieken kan je ook gebruiken. Oudere browsers als IE7 en IE8 ondersteunen geen CSS3, maar die hebben dan de gewone site als fallback. Dat hoeft dus niet erg te zijn, maar let er wel op.
Voorbeeld responsive stylesheet voor Plone: https://gist.github.com/3847700
Zelf beginnen:
- http://mediaqueri.es
- Test een site: http://mattkersley.com/responsive
- Boek Ethan Marcatte: http://www.abookapart.com/
Jean-Paul Ladage - Case Study: Digibib, documentbeheer en ondersteuning van werkprocessen
Presentatie tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Presentatie van Jean-Paul Ladage van Zest software. Zest Software richt zich specifiek op intranetten, maatwerk internetapplicaties en gebruikersintensieve websites (veel gebruikers die weinig doen of weinig gebruikers die veel doen). Hij vertelt over hoe Plone gebruikt wordt voor een intern gedeelte van de website van de Milieu- en Natuurraad van Vlaanderen (Minaraad).
De kerntaak van de Minaraad is advies uitbrengen aan de Vlaamse overheid. De Minaraad telt 24 stemgerechtigde raadsleden: vertegenwoordigers van diverse organisaties en overheidsinstanties. Ze heeft een secretariaat van twaalf medewerkers, in Brussel gevestigd. Zij ondersteunen de voorzitter en het dagelijks bestuur. Ze zorgen voor voorbereiding en opvolging van alle activiteiten van de Minaraad. Ze werken op vijf werkgebieden, op het gebied van duurzaamheid.
In 2006 zijn wij begonnen met een publieke website voor de Minaraad. In eerste instantie werden rapporten per post verstuurd, naar zo'n 2100 leden. Die leden kregen toegang via de website en konden aangeven de rapporten van hun interesse daar te lezen in plaats van het opgestuurd te krijgen.
In de loop der tijd gingen we van Plone 2.1 naar 2.5 en 3 en Plone 4 komt eraan. Login met e-mailadres werd mogelijk gemaakt (dit hebben we later aan Plone 4 zelf bijgedragen). Een eenvoudige social media integratie is erbij gekomen.
In 2011 zijn we gestart met de ontwikkeling van Digibib 2.0 (digitale bibliotheek), het via de website meer ontsluiten van de adviezen en projecten. Een probleem dat speelde, en dat we wilden oplossen, was dat er erg veel e-mailverkeer was met Word-documenten, volledig buiten de website om. Er waren veel verschillende versies van documenten in omloop.
Uit overleg werd duidelijk dat er op de website een dashboard moest komen, met een overzicht van voor een persoon relevante projecten, vergaderingen en een archief. Toegangsrechten worden geregeld middels groepen: een werkproject wordt toegekend aan een groep. De raad zelf kan alles zien.
Alle aan een project gerelateerde informatie staat overzichtelijk op één pagina. Per projectfase wordt het project bijgewerkt. Het project groeit dus mee.
De workflow is strak geregeld, met op gezette tijden e-mails naar de secretaris. Pas als een project loopt, hebben medewerkers van de werkcommissies toegang. Per status in de workflow tonen we een aantal nieuwe velden en verbergen velden die niet meer gewijzigd horen te worden, om het overzichtelijk te houden.
Is een project afgerond, dan wordt een deel automatisch naar de publieke website gekopieerd, met mogelijkheid tot nabewerking.
Vergaderingen waren eerst een Word-document dat rondgemaild werd. Nu is het een pagina in Plone met bijlagen en met registratie van wie is uitgenodigd en wie er aanwezig is en afwezig met of zonder excuus. Aan de agenda worden agendapunten toegevoegd. Je geeft aan wanneer de vergadering begint en hoe lang elk punt duurt. Je kan de punten verslepen en dan worden de tijden automatisch aangepast. Je kan een link leggen van een vergaderpunt naar een project.
Alle bijlagen van alle agendapunten worden automatisch bij elkaar verzameld in één pdf-bestand dat de raadsleden kunnen downloaden.
Zo bieden we dus aan een organisatie die niet zo met ICT gewend was, een online tool die voor hen het overzicht bewaart. Het vergde enige gewenning, maar er worden nu geen documenten meer heen en weer gemaild.
Ik vond het een leuke ervaring om bij zo'n organisatie te kijken naar het proces en te zoeken naar een oplossing die geschikt is voor hun kennisniveau en die goed binnen de organisatie landt. We hadden twee mensen binnen de organisatie die erg betrokken waren bij het nadenken over het systeem. Wij hebben hen ondersteund bij het invoeren van dit systeem binnen de organisatie. Er waren nog een paar vergaderingen nodig. Er kwamen voornamelijk nieuwe ideeën bij en als die breder gedragen werden, dan konden we dat nog implementeren. Er zijn altijd mensen die de hakken in het zand zetten, maar uiteindelijk gaat de organisatie om.
Thijs Jonkman - Wow Factor van een Plone site vormgeven
Presentatie tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Thijs Jonkman werkt bij Pareto.
Javascript is vaak meer bijzaak bij theming, omdat Plone al een goede basis heeft. Meestal kan je de javascript van het CMS ongemoeid laten. De Plone css gebruik je vaak als basis voor de vormgeving.
De html van Plone staat verdeeld over veel bestanden die samen worden gevoegd. Theming betekende vroeger dat je die bestanden aan moest passen, wat lastig is, zeker als je als vormgever Plone niet gewend bent. Migraties worden ook ingewikkelder, omdat je alle aangepaste templates na moet kijken.
Theming nieuwe stijl gebruikt Diazo. Hiermee hoef je geen enkel bestand van Plone te wijzigen om je theme te implementeren. Het staat los van het CMS, zodat dat deel blijft werken.
Voor front-end ontwikkelaars wordt het makkelijker om Plone te themen, omdat de regels vrij veel op css lijken. Als Plone ontwikkelaar wordt het simpeler om een ontwerpbureau standaard html en css te laten aanleveren en daar zelf mee aan de slag te gaan.
Op http://ploud.com (Plone in the Cloud) kan je eenvoudig een Plone Site aanmaken en kiezen uit diverse voorbeeldthemes om te installeren.
Als je iets specifiek voor één pagina, bijvoorbeeld de nieuwspagina, moet veranderen, dan wil ik nog wel eens toch een Plone template overschrijven, omdat de Diazoregels voor de hele Plone site gelden.
Paul Stevens - Case Study: Zero-Downtime Plone Hosting
Presentatie tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Paul Stevens werkt bij NFG.
Voor RIPE hebben we een Plone site gemaakt. Eis was dat deze website nooit down mag. Specifiek: 99,99 procent uptime. De capaciteit om websiteverkeer aan te kunnen moet hoog genoeg zijn, zodat de website snel is. De website moet ook niet tijdelijk onbereikbaar zijn in verband met onderhoud.
Vroeger was een website simpelweg een paar plaatjes en statische html. Dat is makkelijk in de lucht te houden. Plone is een complete applicatieserver. Wat je meestal doet is dat je een webserver hebt (Apache, nginx) die met de Plone applicatieserver praat. Schaling wordt dan lastig, want Plone kan minder verzoeken aan dan een webserver die alleen statische content serveert.
In ieder geval moet je ZEO gebruiken, zodat je de Plone scheidt van de database met de inhoud. Je kan varnish tussen de webserver en Plone zetten, zodat varnish vaak opgevraagde pagina's of onderdelen die vrijwel nooit veranderen, kan onthouden en kan aanbieden zonder via Plone te hoeven gaan. Zo kan je er lagen tussen blijven schuiven. De bottleneck blijft Plone. Zo schaal je verticaal op.
Je kan ook horizontaal opschalen: je zet meerdere Plone instanties naast elkaar. Dan kan je de eerste Plone herstarten met nieuwe code, dan de tweede, enzovoorts. Rolling upgrades noemen we dat. Dan blijft de gebruiker de website zien.
Maar: varnish weet niet dat die eerste Plone eventjes niet beschikbaar is. Dan zet je HA-Proxy erin. Die houdt dat bij en kan helpen bij sticky sessions.
Dan heb je nog steeds een single point of failure, één plek waar het mis kan gaan. Dat is in dit geval vooral de ZODB database. We zijn MySQL gaan gebruiken met RelStorage om de Plone database in op te slaan. MySQL hebben we in een cluster gezet, zodat er meerdere databaseservers zijn. We hebben performancetests gedaan en MySQL kwam er tot onze verbazing beter uit dan PostgreSQL.
Dan moet je nog zorgen dat niet alle verzoeken bij één webserver met zijn achterliggende varnish en HA-Proxy terechtkomen. Dus die opzet verdubbel je. De HA-Proxies kunnen, middels een cloudcomputing opzet van RIPE zelf, bij alle Plone instanties. De twee stacks draaien op verschillende locaties, in Amsterdam en Almere.
Daarboven zit dan een load balancer, maar die is de verantwoordelijkheid van de klant. Daarnaast hebben we ook bewakingssystemen die in de gaten houden of alles nog draait. Je moet ook regelen dat er iemand is die reageert als er problemen zijn, die 24 uur per dag in kan grijpen.
Sindsdien hebben we nooit de site uit de lucht hoeven halen. Er zijn wel storingen geweest, maar dat lag aan hardwareproblemen, zoals harde schijven en netwerkverbindingen.
We hebben het hier over een miljoen unieke bezoekers per maand.
Plone was eerder in beeld geweest bij RIPE, maar een interne Javaclub was er in eerste instantie mee aan de slag gegaan met een eigen systeem. Dat ging niet goed en uiteindelijk is toch weer voor Plone gekozen.
Wietze Helmantel - Case Study: 13 nieuwe websites in één Plone omgeving
Presentatie tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Wietze Helmantel werkt bij GW20e. Hij geeft een case-study over het opzetten van 13 grote websites van Nuffic binnen één Plone omgeving en alles wat hierbij komt kijken.
De hoofdsite is http://nuffic.nl, met veel informatie over studeren in het buitenland en voor buitenlandse studenten in Nederland. De websites waren in Plone 3 en moesten in Plone 4. Het gaat om 13 (sub)sites met gedeelte content en redactie.
De wens was behoud van functionaliteit en geen contentmigratie. Meertaligheid op subsiteniveau is nodig. Uitgebreide zoekfunctionaliteit, middels Apache Solr. SEO was nogid voor behoud van huidige zoekmachineranking. Inloggen met OpenId.
Het design is gedaan door Evident, Utrecht. Externe hosting bij InterMaxx, Rotterdam.
We hebben ontwikkeld volgens de Scrum methodiek. We gebruikten daar de tool ScrumDo voor, waarin we user stories bij hielden, planning poker, een burndown chart voor de vooruitgang. Documentatie gebeurde op Google Docs. We gebruiken Lighthouse voor adaptief en correctief onderhoud. Dat is een online tool voor het bijhouden van issues. OTRS voor support, daar worden verzoeken geregistreerd die via e-mail of telefoon binnenkomen. Vanaf daar kunnen issues naar Lighthouse.
De bedoeling is om zo dicht mogelijk bij Plone te blijven, bij hoe Plone standaard werkt. We hebben Plone 4.1 gebruikt, toen de meest recente stabiele versie. Twee nuffic modules voor content types en het theme. Een aantal modules van Plone hebben we moeten aanpassen. We hebben dit op een 'fork' gedaan, een aparte ontwikkeltak waarvan in dit geval de functionaliteit niet in de standaardmodule terecht zal komen omdat het te specifiek voor deze klant is.
We gebruiken veel standaard Plone functionaliteit: gebruikersbeheer en de 'sharing tab', content rules, content types (nog Archetypes), workflows, het security model.
We hadden voor formulieren voor PloneFormGen kunnen kiezen, maar ze hadden Formdesk al, dus dat hebben we gehouden. Dat gebruiken we via iframes. Verder MailPlus voor nieuwsbrieven.
Voor diverse subsites was extra functionaliteit nodig. We hadden dit in dertien losse sites kunnen doen, maar hebben dit in één site gedaan.