Happy hacking with Plone

The ability to hack a CMS is a major factor for its adoption by new comers and might be also very appreciable for experienced integrators. Creating a small form to send an email or to store some data, generating an extra information about a page and insert it wherever we want; with Plone that kind of tasks are complex for experts, and almost impossible for beginners. Rapido is a new add-on aiming to implement hackability on top of Plone, not into Plone. It allows any developer having a little knowledge of HTML and a little knowledge of Python to implement custom features and insert them anywhere they want in their Plone site. Its unique interface is the Plone theming tool, implying we can work in the file system or through the theming inline editor.

Building Bridges

Building integrative Publishing solutions with Plone - 
from storages to converters

Full-stack Plone deployment with Ansible

The Plone installer team is maintaining an Ansible-based deployment kit. We'll discuss options and strategies for its use and gather feedback on how it should evolve.

Fulvio Casali from United States

Case Management with Plone Intranet

Combining structured and unstructured workflow to control business with Plone Intranet - how it is done. Also a case study on the first customer Plone Intranet project.

Transforming Safe Html under GSOC'15

It will include how I have worked in GSOC project this summer and developed the whole new safe_html transform of portal_transform using lxml and registering the new add-on and deregistering the old add-on during the add-on installation.

Plone Knowledge for Rescue

Plone has a steep learning curve, but if you work in general web and IT business the skills you learn from Plone is absolutly vital for all of your projects. This Talk will focus on lessons learned from the Zope/Plone ecosystem and the fabulous Plone Community. It will show by some use cases how Plone Knowledge and Tools commonly used by Plone Integrators & Developers save your projects and make your day.

Beyond QA

Following best practices is not that thing that one does whenever s/he is too tired to grab the next bug: it's a methodology in itself. This talk will discuss about best practices, what they mean, how to apply them and keep them in mind. Expect lots of tips, useful distributions to ease your every day's workload and how to do it all without loosing sanity on the way. Everything explained here its been battle tested at der Freitag, a weekly physical and digital newspaper with a website that combines editorial content as well as a community of bloggers.

Developing Single Page Applications on Plone using AngularJS

A short introduction to using the AngularJS framework to simplify development of complex JS powered edit interfaces

High performance maintainable themes

I'm sharing my experience in developing responsive themes that integrate with the default Plone skin

Semantic in Plone: putting meaning in Communities of Practice

The internet is evolving to a broader contextual and meaningful open space. Social collaboration is becoming more widespread and available in an increasingly simple and friendly way. In the field of educational technologies is more and more important such social and collaborative aspect. Our team has been working on learning environments based on social and collaborative learning strategies using constructivist methodologies. In order to build an open space digital habitat to people learn together, we propose a platform of communities of practice. This platform offers a flexible community workspace, that allows groups of people to interact and collaborate effectively within their own area of work, exchanging knowledge and working practices. The CoPPLA (Communities of Practice Platform) is a Plone product that provides a generic platform for building virtual communities of practice. It consists of a set of communication and collaboration tools integrated into a common environment for sharing knowledge, providing features for managing communities from their creation to the maintenance of the content and participants. It delivers a configurable collaborative toolkit that involves the manipulation of collections of all types of documents (texts, videos, images, web pages, links), event scheduling and agenda, discussion forums, collaborative spaces for exchanging experiences (Portfolio), collaborative spaces for learning experiences (Task Space), communication tools (chat, mail notifications) and activity reports. One of the goals of the Semantic Web works stands for a better reusability and interoperability of the Web systems and the standardization of knowledge. Nevertheless, there is a strong limitation in the Semantic Web specific Educational applications and in the community-authored content of current Web. In our field of knowledge and application context, we need to deal with some cross-link content from multiple heterogeneous websites in order to recommend suggest related content and offer richer content relationships, using for instance inference. We need more contextual content representation through semantic pattern markups such as FOAF, Dublin Core, SKOS, RDF, among others. To address this points in our platform, we are proposing an upper ontology for Communities of Practice in an open semantic data management platform. In order to cover with some of these points, we intend to develop a semantic representation for our Plone product, based on an ontological model, the CoP Framework. This model needs to represent the broader concepts and relationships from our platform, such as Community, member, practice, profile, domain, among others. The first step in the construction of a semantic representation of our product was the development of a prototype to semantically represent one of its components: the Collaboration Registers. A Collaboration Register is a set of properties that relate participants, communities and content. They provide a history of the collaborations and interactions that happened across the platform. For instance, which objects were created by who, who’s participating in a given community, who’s commenting in a post associated with a determined domain, etc. The architecture proposed in this prototype relies on semantic technologies. The Collaboration Registers are structured in RDF (Resource Description Framework), being semantically represented as subject-predicate-object relationships. These registers are persisted in a triplestore, a semantic compliant storage, and can be accessed and retrieved through SPARQL queries. The interface between the Plone portal and the triplestore is made using simple Python HTTP requests. These requests are sent and managed by events, through the Plone subscribers system. Our future goal is to represent the entire ontological framework in a semantic way. The proposed architecture is a starting point for a much larger representation. The next steps will be towards our platform interoperability with other semantic systems, always looking at the new features of Plone and semantic technologies.

The Importance of Documentation

Lets stop releasing 'broken' software. This is about why documentation is a important part of your software equal to code. In modern development, good documentation is important 'not only for user' but also for your sales department. We will see why good documentation matters and also how easy it is to include that into your 'daily work routine', like ci testing for documentation, git hooks and lots of other points.

Leading with Lead Images

Like the cobbler's children that have no shoes, here at Jazkarta we have been working on a long overdue redesign of our website. Our new site uses content with lead images to drive various views and interactive features. It is a good example of how the standard Dexterity "Image" field, combined with, can create image-rich content that can be re-purposed in a variety of ways. In this talk I will describe two new add-ons that we have written that take advantage of lead images and search indexes to create pretty grid layouts with fun dynamic content filtering.

Visualizing Statistical Linked Data with Plone

Presentation of a Plone-based tool that can create graphical visualisations of semantic statistical data expressed using the RDF Data Cube Vocabulary and queried using generated SPARQL statements. The tool was developed under a project funded by the European Commission and is publicly available at

Mosaic - The Layout Solution You Always Wanted

What started as "Deco" in 2009 is now finally coming to the big stage. We present the first production-ready implementation of Mosaic allows you to create custom layouts through the web, thus propelling Plone into the sphere of "Desktop Publishing for the Web". Way beyond the options of a richtext-field, you finally have full control over how your content will be presented. We will present the features of Mosaic and what you can achieve with them in live-demos. We'll discuss various use-cases and showcase a real life client-project that makes use of Mosaic to give new levels of control over the layout to the editor.

Patterns: Design-driven web-development through rich interactive prototypes.

Most Javascript developers write software for other Javascript developers. This makes their work inaccessible to people who don't know Javascript, such as designers, integrators or administrators. In this talk I explain how the Patternslib toolkit turns this idea on its head. With Patternslib, the developer writes code so that it is exposed to non-JS people in such a way that they don't have to touch or know any Javascript themselves. It empowers non-JS people to use and benefit from the features and functionality that Javascript can add to a website.

Patternslib and Mockup: breaking up and getting back together again.

At the 2012 Plone conf in Arnhem, Cornelis Colbach and Florian Friesdorf made a presentation of the Patternslib project, which allows people to add Javascript functionality to a webpage by only writing HTML and CSS. At that conference the idea was born to use this concept in Plone as well. Over time, the Plone implementation (called Mockup) was forked and became incompatible with Patternslib. The two projects continued along independently, unable to share code or expertise. In this talk, I'll discuss the background and nature of this split and what I did at the Innsbruck and Munich sprints to get the two projects merged and compatible again. I'll also discuss how this fork affects us today, the challenges we face and how I think we should proceed going forward from here.

Cool and easy way to do logging and monitoring at EEA

How to track Plone with Traceview and Graylog using Docker

Semantic content with Elasticsearch and Node.js shipped with Docker

How we use Elasticsearch with Node.js applications inside Docker containers for searching RDF semantic data imported into Virtuoso.

How you can become an Accessibility Superhero

I will show you why, how, and what tools you can use to save the day.

Divide et impera

Plone as itself is big and hard to evolve, we want to expose some experience we had to reduce the complexity of Plone, some experience on our projects on Plone.

The state of Plone Intranet

A non-technical, business perspective overview of Plone Intranet - Introducing the Plone Intranet Consortium - A comprehensive tour of our 1.0 release "Venus" - Agile methodologies in action - Roadmap and vision

Plone 5 Theming

Barceloneta is the new default theme in Plone 5. It integrates some of the current modern frontend technologies and is architectured thinking in easy extensibility and reuse. The Plone 5 theming story has been updated and now it has a strong focus in through the web customization and a more easy approachability. Diazo has been updated as well to work with the new Resource Registries. The talk will cover the current best practices and how to proceed depending on the more usual use case scenarios.

Bika LIMS, a FOSS LIMS built on top of Plone

Bika LIMS is a web based Open Source Laboratory Information Management System based on Plone 4.3. It's a robust LIMS that can be adapted and implemented in any laboratory, from those of small size to large research and clinic laboratories. Bika LIMS OS Project comprises a family of open source applications that leverages the power, versatility and safety provided by Plone. Each application is aimed at a different laboratory discipline: Bika LIMS (universal LIMS), Bika Health (clinical and health labs), and Interlab (proficiency testing). In this talk, we'll introduce Bika LIMS and derivatives like Bika Health, as well as a provide a functional overview from an end-user point of view. We'll review the classic laboratory workflow and we'll use Bika LIMS to reproduce all the steps and processes involved.

Bika LIMS for developers

Bika LIMS is a web based Open Source Laboratory Information Management System based on Plone 4.3. It's a robust LIMS that can be adapted and implemented in any laboratory, from those of small size to large research and clinic laboratories. Bika LIMS OS Project comprises a family of open source applications that leverages the power, versatility and safety provided by Plone. Each application is aimed at a different laboratory discipline: Bika LIMS (universal LIMS), Bika Health (clinical and health labs), and Interlab (proficiency testing). In this talk, we'll dissect Bika LIMS into its building parts of code and analyse each of them. We will also discuss the advantages and caveats of using Plone as the main framework for the development of a LIMS.

Lost in migration? A flexible approach to content migration in Plone.

Our tool allows developers to export content from Archetypes to Dexterity. The distinguishing feature of the migration tool is that it does not necessitate migration of the entire database. Individual content types or individual folders may be exported instead. While the standard migration procedure with theoretically works well on a Vanilla Plone site, real-life projects are usually tricky because they involve dealing with extended Plone content types or even self-made content types. Our migration tool includes a utility to export any Archetypes content object to Dexterity while maintaining its default views, local roles and other settings. We will include in our talk sample migrations to demonstrate some of the tool’s features. In combination with we will show how the migration tool exports an entire site as well as specific content types like news items. In our experience the migration tool is far more versatile and powerful than standard Plone migration paths, and we believe the tool could be interesting for use in a wide range of migration projects. We will publish the migration tool as open source code prior to the Plone conference.

Jan Mevißen from Germany

Plone Intranet under the hood

A highly technical talk, that helps you understand how the ploneintranet stack is structured, and why it works the way it does. After attending this talk, you should feel confident in deciding whether ploneintranet is a good fit for your client project - or not. As a developer you'll gain insight into some innovative components you might want to re-use in new Plone5 projects, such as personalized data structures, theme switching, async, and context-specific browser layers. The talk will open with a mini-tutorial on code-free frontend interaction design with Patternslib/Mockup and the awesome powers of pat-inject in action.

Full-Stack Reactivity - What is it and what would Plone FSR look like?

(better description coming up) I want to demo a Plone-lookalike I implemented in Meteor, and illustrate a full-stack reactive architecture, and how some of these ideas might be implemented in the Plone stack to create a new UX and developer story.

Fulvio Casali from United States

Adventures in Wonderland - A Plone Developer's Year in iOS

After 15 years of working purely in Python, I was thrown head-first into the world of iOS development. Taking over the management of a mobile app being developed for a Python web application, I've had to deal with managing iOS developers, understanding the iOS ecosystem, and working out Apple's byzantine procedures and processes.
We have used Plone for over 10 years at our University. In many cases Plone itself or combined with some cool add-ons have proved to be highly valuable. In this presentation I will highlight some of the most successful cases of Plone usage, with a hint of agile aspect in the process, but not forgetting the whole product life cycle. As a first case I will bring up Plone Form Gen. There are some thousand forms created with the tool over the years, by regular users. Form Gen itself is a great tool, and it uses Plone metaphors consistently, making it easy to use. I will also will present some of our own Form Gen additions, including Excel integration and payment systems. Other highlighted cases include ePortfolio, Plomino, Portalview and Dexterity Content Types (Sivuaineet), to mention few. Some of the cases have started by just giving the users some add on to test and to use. Sometimes they miss, sometimes they hit, but the overall cost is usually low. Additionally I will discuss about the importance of real user feedback in development. It is vital to be able to show something, anything, for the users early on. This is where Plone very often shines, there is so much available out-of-the-box. It is much easier for the users to communicate about their needs over “preview-sites” rather than vague Excel sheets with rows and rows of made up system requirements. Often the users are able to start creating content while the development of the whole system is in progress. This brings real user needs visible and makes the actual release happen sooner. Then there is product or service life cycle. At a university context, one must think of how the multitude of services are maintained in a sustainable manner. As a secure and mature system, we can trust Plone-based services to run with little maintenance. Also every long running service at some point benefits of an ultra flexible role and permission management. Did someone say Plone? Yeah, I thought so. This presentation is aimed to everyone who is interested in hearing real world use cases for Plone, from mostly a non-technical perspective.

RelStorage - an alternative ZODB backend

Using PostgreSQL (or Oracle or even MySQL) as ZODB storage backend has advantages over the classical ZEO-Server. A short overview about the basics and how to make it perform in a bigger scenario. Room for questions at the end.

5 things that are STILL! TOO! HARD! in Plone 5

We all know how great plone is but what about for those who are brand new to plone? What are long time content editors and themers still being frustrated by? This talk will cover the five biggest issues still present in plone 5.

Kotti CMS 101

A short introduction Kotti CMS, a Pyramid powered CMS developed by Plone developers

Bespoke business applications for small business with Plomino

A firm of Dutch lawyers were using a generic online time tracking application. This proved too inflexible. A replacement was developed using Plomino, implementing their detailed workflow, for a staff with different access rights, court exports in PDF, including databases of clients and cases. Initial development was one developer over three months, collaborating with the client designing forms. Over the following years, many adjustments and new features were added, taking between a few hours to a week. Bespoke software for a bit more than the cost of hosting. Not bad!

The future of Content

Content is just one expression of life – Experience can be the result. What kind of content can we expect and how we will deal with it in the future. Get an insight why every organisation and individual needs a personal Intranet an it should not be in the cloud.

How to upgrade sites to Plone 5

With the release of Plone 5 everone starts thinking about if, how and when they should upgrade existing sites to Plone 5. In this talk I will discuss upgrades in general and especially those from Plone 4 to Plone 5. I will cover the important analysis- and planning-stages of every upgrade, the code-aspect of upgrades and some of the many pitfalls that can befall you during migrating. I will devote special attention to migrations from Archetypes to Dexterity.

Funding: what can we learn from other projects

The last year has seen some alternative models of funding development; the largest and most radical one being the Plone Intranet consortium. In Plone's history we've had some attempts like developing GetPaid, with varying results. In this talk, annex discussion, I want to look at how some other projects are tackling the problem where many organisations have smaller amounts available, especially towards the end of the year, yet each individual organisation does not have enough to have a feature fully developed. The CiviCRM community, for instance, uses their "Make It Happen" campaigns to relative success. What would possible models be, and how could this be run so that it runs not contrary, but complimentary, to the PLIP/Frameworkteam model? This is not a finished proposal, audience brainpower and experience is explicitly invited.

Personalized content delivery with Plone

Plone as a content management system for websites still follows a traditional one-size-fits-all approach: with some exceptions, the same website content is delivered to all website users. By contrast, modern marketing approaches entail at least segmented if not personalized content delivery to users. Why show users a newsletter subscription portlet if they already subscribe to the newsletter? If we already know from analytics data, referral data or CRM data what a user is looking for, what his/her interests are and where he/she is from, why don’t we show him/her the content truly relevant? Other enterprise (open source) CMS have some interesting features for such personalized content delivery. In this session we will only shortly introduce and outline a marketing proposal for Plone as a personalized content delivery platform and then give room for a moderated discussion. Our main goal is to generate interest in this feature and identify partners interested in participating in the development of a set of personalized content delivery tools for Plone. Therefore, we would like to encourage an inspiring discussion session to brain storm the possibilities of personalizing content with Plone.

Johanna Lenhard from Germany

Marcel Liebischer from Germany

Thomas Kastenholz from Germany

ZODB Blogory

​The ZODB Blogory is a hand-crafted directory of zodb related links, curated by a passionate ZODB advocate. @ZODB4 on twitter. ZODB is not just a database, it is a different world view. Applications should be written as graphs of python objects sending messages to each other. If you come to this talk, you are sure to learn something new about the ZODB. And I hope that I learn something from you as well. The talk will include demonstrations of, and And if you find this talk boring, you can always spend your time linking from to your Plone and ZODB related websites.

Top 5* Secrets of Distributed Teams

We will reveal the methods† and tools that have allowed these distributed Plone teams to deliver over the past year: - - Plone 5 Launch - Plone Marketing/Communications We will also cover: - the future of - what happens to the Plone 5 launch team now that Plone has has been released - Plone marketing: is it sustainable, and how? - where to find unicorns † (starting with nagging and ending with cash payments in unmarked bills)

A flexible user profile and authentication system for Plone Intranet

How we combined Prototype-driven design, PAS, dexterity, z3c.form and LDAP to develop out-of-the-box user profiles for Plone Intranet which provide the following: * Authentication * Customisable profile fields * Support for external user data sources (e.g. AD/LDAP)


Gold sponsors
Silver sponsors
Bronze sponsors
Supporting partners
Media partners