Plone
This is here to serve as contents for the atom/rss feed for Plone, also read by planet.plone.org.
Jan Jongboom - Cloud9 keynote
Keynote during the Plone Conference 2012.
This is a talk from the Plone conference 2012.
Jan Jongboom from Cloud9 talks about Javascript.
In 1995 Livescript appeared, developed by Mozilla. A simple scripting language. They called it Javascript, though it was not really like Java at all. It was more like Scheme.
In 1999 Microsoft wanted to build a web version of Outlook 2000. At that point it was not possible to send data from the client to the server without refreshing your whole page. So the XMLHttpRequest was born. This means you can have asynchronous applications.
So Google wanted to build something cool as well. So they launched Gmail in 2004.
Javascript did not get a lot of love in Plone in the beginning. A problem was that there were lots of difference between the Javascript implementation of browsers. The book 'Javascript, the good parts' is eight times smaller than the definitive Guide to Java.
In 2004 (?) JQuery got launched. Maybe the most popular library ever. The power comes from Sizzle, which allows you to easily select DOM elements on your page.
From about 2010 Javascript got more popular than Java, according to some definitions. People started to care. VMs got faster and embeddable. Ecmascript 5 got introduced.
In 2009 the JSConf was the first conference completely about Javascript. NodeJS was introduced at that conference. It allows you to use Javascript on the server. You could think: "Ah, nice, Google's V8 engine as an executable." But it is more powerful than that. LibUV is in there. It abstracts hardware differences away. You would want code to work asynchronously, and operating systems do not normally work that way: you get a file and once you have the data you continue. With LibUV you get events on files, networking, DNS, etcetera: once data starts flowing in, your method gets called so it can continue its work.
Threads can easily get blocked by IO operations. You have a powerful server but due to this, you may still be limited to 300 concurrent connections (if your thread uses ten MB of memory and you have 3GB of memory), or 300 users logged in to the system. With non-blocking threads you can handle tens of thousands of connections.
nodeJS is the Javascript bindings to LibUV. You use standard libraries in Javascript. This Javascript code is then executed in the V8 engine.
Couldn't you use Twisted, the asynchronous Python framework for this? Why would you choose Javascript over Lua or Python or C++? Most Python code is not build to be used asynchronously. In Javascript it is normal.
So we decided to build Cloud9. For most programming languages there are debugging tools and good syntax highlighting. For Javascript: not so much. Cloud9 is an online tool that can do that. You can download it and install it on your server. We give you a free Linux VM with a real terminal. The coolest feature is collaboration. See your colleague type. Debug together.
In our data center we only have Cloud9 code, our IDE server. In another part of the data center we have the remote VMs. We ship it with Python 2.6.6, but you can compile 2.7 or 3.3 on it. You can run MongoDB or Postgres on it, or whatever you want, like Plone. I had problems with it, but you should be fine.
If the standard VM does not have enough power (OpenShift, 128/512 MB Ram, limited resources), you can bring your own VM. I tried the Plone UnifiedInstaller on an Amazon ec2 machine, which I will demonstrate now, if the wireless connection is working good enough. Otherwise a video will have to do. You will see a collaborative session in two browsers where a Plone instance is started and I get a co-worker to assist me on that same machine in his own browser for editing the logo of the Plone instance.
The Cloud9 IDE gives you code completion in the Ace editor, which makes it easier to edit Javascript (like nodeJS) and in a few months Python should be better.
The code is on github so go ahead and fork it.
See http://c9.io/
We use Concorde for the peer to peer messages. Unfortunately closed source.
Could it be used for online sprints, working on some github code of Plone together, assisting someone on the other side of the world? Yes. For open source it is free to use, for closed source you have one free project, and there are paid plans.
There are a couple of issues with the keyboard in the browser, so if you want to use some editor on the command line. You can override some keys in your browser.
Plone conference 2012 in Arnhem
Welcome to the Plone Conference 2012.
Four Digits is organizing the world wide Plone conference 2012 in Arnhem, the Netherlands. Sjoerd welcomes us on behalf of the team.
Michiel van Wessem gives us an introduction to Arnhem. We are at the Musis Sacrum, a music hall. We are very glad this tenth Plone Conference is in our city.
You may know the John Frost bridge, close by. That is known as the 'bridge too far'. A very special place for Arnhem people. If you have time, you should visit the Airborne Museum in Oosterbeek, here in the neighbourhood.
Arnhem is a very green city. In 2009 we were entitled the greenest city of Europe. Our park Sonsbeek has a big part in that. It is very near. Well, everything is very near in Arnhem. There are even some cows near the city center in that park.
We are a city of fashion. Victor and Rolf started their career here. We have the Fashion Biennale, next year the fifth version.
Make sure to visit the city center, with a big variety of shops, restaurants, pubs, for example at the Korenmarkt, with a free WiFi zone.
When you have some time to spend, there are nice things here in Arnhem. On behalf of the city I wish you a very pleasant conference.
Lightning talks
Korte presentaties tijdens de Nederlandse Plone gebruikersdag, 8 oktober 2012 in Musis Sacrum, Arnhem.
Meer info: Nederlandse Plone gebruikersdag 2012.
Maurits van Rees - Vijf pakketten
In het kort vijf pakketten:
collective.catalogcleanup collective.csv2dict dexterity.membrane smtp2zope, poi.receivemail zest.commentcleanup
https://github.com/mauritsvanrees/talks/blob/master/fivepackages.rst
Thijs Jonkman - ArboUnie
We hebben een implementatie gemaakt waarin een product onder een hoofddomein staat, maar je kan hem ook onder andere domeinen tonen. Ook een cookie popup gemaakt.
Ralph Jacobs - Twitter portlet
Een twitter portlet waarin je tweets toont, van een zoekterm of een account, met diverse opties:
Wietze Helmantel - psd2html
Betaald converteren van PSD naar HTML: http://www.psd2html.com Dit is niet automatisch, maar er zit een support team achter dat in een paar dagen de html en css aanlevert. Wij kunnen het er zelf niet voor doen. Goede kwaliteit. Communicatie is goed. Ze zitten wel in Amerika.
Maarten Kling - Support website voor klanten
We hebben een Plone 3 site met CRM, tracker, etcetera hiervoor, zo'n tien gigabyte aan data. Gemigreerd naar Plone 4. Weer lekker up to date. Nieuwe toolbar erbij. Eigen pakketten, rechten goed geregeld. Ja, dat willen we ooit wel een keer beschikbaar stellen.
Erik, RebelX - Advertenties
Voor advertenties op http://www.harlingenboeit.nl/ hebben we ATSuccessStory gebruikt. Beetje aangepast, zonder dat we zelf echt iets nieuws hoefden te bouwen. Middels CSVReplicata een CSV van de Kamer van Koophandel geïmporteerd om snel data te hebben. Niet betalende adverteerders verschijnen niet, maar ze staan er al wel in. Daarmee heb je meteen een mini Gouden Gids functie. Dus: denk creatief, dan hoef je minder zelf te bouwen.
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.