2018 GSoC Project Brainstorm

@tisto, that does sound like a fun project. Would you click on this link to the form and add that idea to the rapidly growing list?


Would you be able to recommend a mentor for this?

@espenmn seems to me :slight_smile:

I had a brief look at castle.cms yesterday and it is clear that is has some advantages to Plone when it comes to 'usability'. The way media and galleries are added is 'exactly how a 'normal' user would expect it to work'.

PS: I am not negative to mentor things, but I am not really a programmer

1 Like

I don't think you need to be a programmer to be a GSoC mentor.


Mentor: Mentors are people from the community who volunteer to work with a student. Mentors provide guidance such as pointers to useful documentation, code reviews, etc. In addition to providing students with feedback and pointers, a mentor acts as an ambassador to help student contributors integrate into their project’s community. Some organizations choose to assign more than one mentor to each of their students. Many members of the community provide guidance to their project’s GSoC students without mentoring in an “official” capacity, much as they would answer anyone’s questions on the project’s mailing list or IRC channel.

@espenmn, What @tkimnguyen says is exactly right. Having a non-engineer mentor is a great way to ensure that aspects of the project beyond the simple engineering of a solution get attention. If you are up for it, I'd love to have you be part of the team of GSoC mentors we have in the Plone community!

1 Like

This is going well so far. We've got 13 wonderful ideas in our brainstorming session. Let's see how many more we can gather. Keep 'em coming. We gotta get 'em all!


I am a student here, and new to the Plone community, but I am interested in your projects so I thought I'd also chip in. I've just started checking out the Plone projects and found this Experimental PWA (https://github.com/collective/collective.experimental_angular_pwa) pretty interesting, and I feel it could be improved depending on the actual purpose of the app and also could be modified to fit in if the API is upgraded to graphQL. Right now as I am new here, I'm only exploring the APIs and the projects so can't suggest any proper steps but I feel it could do better with a bit of work.

Ajay NS

1 Like

There is a lot of activity on headless Plone including a sprint next week in Bonn :slight_smile: Seems like a good time for us to put all that info in one place but in the meantime search here for “headless” and look at the https://2017.ploneconf.org site talks and slides and training info

I'm not sure of the magnitude of this work but I believe plone.importexport(Gsoc'17 idea) can be projected again with ideas/tasks -

  • Upload from another site. Enter url and do auth and stream content between sites, which would cut down the extra burden of handling and tracking of files.
  • Enhancing the advance tab, UI and the existing Upload pattern (which currently only allows multifile upload).
  • Resolving Open issues which require a few sprints.

Good ideas! There is GSoC 2018 Ideas: Improve Plone's import/export story - may you follow up there?

All GSOC related articles can be found by their tag https://community.plone.org/tags/gsoc

@espenmn I would not upload the images directly but select a Collection as a source for the images.
Or better use the content listing tile with a new gallery template. This is more flxible and has most of it done already.
The only thing we need is a good template and a good lean gallery implementation for the template, that could go into the core.

And to point a) you can do this already with page layouts, the only thing what is missing so far is portlets. But @vangheem was implementing something like portlets (meta tiles) in CastleCMS which could be also a good project of it's own to integrate into Plone core or Mosaic first.

That's the 'slots' concept, in which instead of portlet managers you have areas of the page that are similar to those defined in ContentWellPortlets but instead of containing portlets they contain Mosaic tiles or 'fragments' which can compute what they display, e.g. breadcrumbs.

The portlets can be rendered as a fragment (tile):

Having them as / part of a 'structure tile' might be better (?)

We also could use some energy in the field of bobtemplates.plone / plonecli.
Is this a good project for GSoC?
I mean we have the templates and we have a first alpha version of the plonecli.
A student you add more sub templates and fine tune the exinsting once.
I would like to mentor it and of course invite others to contribute ideas and bugfixes to the templates.

@MrTango, That's a great idea. Can you take on the task of writing up an "official" proposal along the lines of what you see for any proposal here? Basically, it requires a reasonably complete summary of the scope of the idea, some sense of the details of what would be involved in implementing the idea, a list of the skills a student would need, the names or IRC or community nicknames of mentors (yourself included) and a very short description of the goals that would result (be they new packages, additions to existing code, or whatever).

Improve plonecli and bobtemplates.plone

(Python, Plone, Jinja2)


Plone uses mrbob and bobtemplates.plone to generate skeletons for Plone packages. This makes it easy for developer to create new addons and also provides best practices in structure and tests. With the recent development in bobtemplates.plone and the new plonecli, we founded the base for a more modular skeleton ecosystem. But we need to cover more parts of the Plone development and need to improve the existing templates, increase the flexibility and test coverage.

This new generation of plonecli and bobtemplates will improve the quality of Plone packages for the whole community. It will also lower the barrier to start with Plone development, as developers can just create functionalities for Plone and get already code and tests which follows known best practices.

For a GSoC student it's a great way to learn Plone and the best practices.


The objective is to add missing templates to bobtemplates.plone (portlets, tiles, ...) and also to improve existing templates with higher test coverage and more flexibility.


Basic Python development knowledge is mandatory. Knowledge of Plone and Jinja2 templates is useful but can be archived during the project. Knowledge of Python and Plone testing is useful, especially plone.app.testing and plone.app.robotframework will be used.


Maik Dertappen


A new version of bobtemplates.plone and plonecli.
1 Like

A draft of a possible project, no idea if it's enough for a GSoC project.

Improving tabular display of collections

(Python, Plone, HTML, Chameleon, Z3CForm)


Plone currenly provides a collection content type. The collection content type allows a site administrator to create, store and display a custom query for example "All events that are happening after today". One way of displaying such a query is in tabular format (see example screenshot below).

We would like to improve this experience by making easier for site administrators to customise the tabular view.
- Sensible defaults for the table heading titles (There are already mechanisms for ensuring that the field titles 
- Make it possible to override the table heading titles (currently the titles seem to be directly derived from the field names).
- Development of acceptance tests using the Robot Framework 


Still need to fill this out.....
One limitation of the current tabular view is that there is no way to customise the table headings.


Knowledge of Plone, Chameleon templating and Dexterity Behaviours will be needed. Jinja2 templates is useful but can be archived during the project. Knowledge of Python and Plone testing is useful, especially plone.app.testing and plone.app.robotframework will be used.


David Bain


Make the tabular listing view for collections better.

Notice how the table headings for "location" and "start" are lowercase. They seem to be pulled directly from the id of the field (not pretty).

@pigeonflight I think this is well taken care of by the GSOC done last year by @mikkohu on customisable listings in mosaic.

I can't find the video for it now but here is how it solves this usecase.

  1. Use mosaic
  2. Create a repeater tile
  3. Set the query
  4. It will look like a rich content tile. ie tinymce. Create a table with the headings you want. Create an empty row
  5. Drag the tiles into tinymce you want to repeat into the empty row. Generally field tiles, or the special metadata tiles, but could be anything like a video tile. You drag by hovering over the repeater tile which switches to inline tile mode.
  6. Preview will show the row repeating for the current query in the current context.

Thats it. You can do the same with bullet lists, number lists or just sets of paragraphs. It will repeat everything between the first and last inline tile.

All this basically works, it just needs some rough edges worked out by someone who knows Js and tinymce. Volunteers?

Also there was a third part of this GSOC that he ran out of time for which is to use a repeater tile and mosaic to make custom search pages similar to eea.facetednavigation.

1 Like

Plone Foundation Code of Conduct