GSoC 2019 Brainstorming

Lol... A very pleasant call to action. Yes, it wasn't finished. It was around 78% completed. I'm slowly creepingly working on it. However, I don't mind being one of the mentors for it, especially if I'm not going to be able to contribute to its completion entirely. I will write up my proposal for it and post it when I'm done.


Here are my ideas:

  • graphql is still a thing and i'd like to see it in a Plone project, but we have a (semi) fully-powered REST api after years of hard work. I'm afraid that a graphql api should be too big for a gsoc project. Unless we build it on top of plone.restapi.
  • CastleCMS integration could be a great idea.
  • What about modernizing Plone javascript environment, widgets and all the mockup thing? I don't know the status of Johannes's PLIP, but if we move mockup outside Plone, we could refactor it with a more modern technology (react?). It should be great if we could reuse some parts of volto, but i think that it's not gonna be easy.
  • Does webpack themes need some improvements?
  • Tinymce is still the right tool? Can we use a Volto-like editor?
  • Tiles: Volto started building its own tiles engine..could be a good idea choose one of them and use it in both environments?
  • Are there other things that we can stole from side-projects (like Volto) or standardize them also in Plone?
  • Towncrier is where we want to go with our packages? Does some students could convert core packages that are not yet converted?
  • What about finishing addons list/search thing?

These are more than only 2 cents, but i don't care, it's a brainstorming :wink:


My ideas:

  • Volto: Enhance Volto, the ReactJS-based new frontend for Plone, check for ideas. Victor, Rob, and me would be possible mentors.

  • Volto Editor: continue to improve the Volto editor. Build the complex page composition capabilities that we drafted in Toyko. Check for ideas and the current status. Rob, Victor, and me would be possible mentors.

  • GatsbyJS: Embed Volto editor or at least a basic DraftJS editor in Gatsby to allow to edit content. This would continue the work from last years GSoC: Asko, Andrea, Victor, and me would be possible mentors.

  • Plone RESTAPI: Further enhance plone.restapi and make sure it is compliant with the Guillotina API. Check for ideas. Ramon and me would be possible mentors.


My ideas

  • restricted python PDB for production. Use zopes ability to abort transactions to make a simulated pdb session in a browser that doesn't block the zope instance.
  • plone.importexport enhancements. handle flexible criteria for what to export and what to import and how to match what you import. Also a optional mode that uses JS and restapi directly (or smaller zips) so large imports can be handled in a memory efficient by way using multiple transactions.
  • Volto lift and shift. ability to build on a preexisting theme (html+js+css) working volto as the editor rather than customise volto to redo a theme. Not sure this can really be done as GSOC or not.
1 Like

I'm not sure GraphQL would be too difficult and it might provide a lot of value.

I'd be interested in working out an implementation to supplement plone.restapi/guillotina.


2 posts were split to a new topic: add-on listings progress

GatsbyJS is still a thing. After GSOC 2018 we have solid foundation to continue:

  • support for custom image and rich text fields on custom content types (small)
  • support for Volto tiles and or Mosaic tiles (normal, Mosaic requires Python for RESTAPI endpoint)
  • adding search functionality for gatsby-starter-plone
  • instant updates from Plone site for gatsby watch (big, enables "instant previews")

@ajayns probably has more ideas. "Instant updates/preview" would probably alone be a big enough for GSOC.


@ebrehault and I started working on, which would be a showcase for headless Plone. It would include the ability for someone to read all about how to use Plone with its RESTAPI and a frontend like Angular or React, then create an account to provision a small backend Plone site with everything they needed to start building an app (desktop and mobile). It’s not a hardcore programming project but it does involve a lot of coding and setup and integration, plus documentation and UI/UX.

We still need to have a Plone installer for Windows. We have what @kyleArthurs created and @smcmahon may have gotten the unified installer to work on Windows. So it might need some work but will need packaging and documentation and perhaps a long term process for keeping it working even as we continue to release new versions of Plone.

There is a lot of work to do in our documentation, finding and dealing with broken links, integrating discombobulated external docs into our own, figuring out a framework for deciding where to put things (in training vs docs), removing out of date content, identifying missing content.

2 posts were split to a new topic: MEAN stack projects?

Also leave a hint there it'd be a pretty good backend for a native mobile app too. Dexterity is better than Firebase.

Yup, I guess I should have been clearer that "app" means "desktop app and mobile app"! Now clarified in my response above.

So I'm seeing a lot of really good ideas in here. I suggest these next steps:

All y'all who are kicking ideas around, self-organize around one or more that you are enthusiastic about. See if you can write up your idea as a project proposal. What does a proposal need? Take a look at the project ideas for 2018. You'll need a summary, a sketch of the "implementation" needed, a list of the skills a student would want to have to work on the project, a list of one or more mentors willing to work on the project, and a concrete "aim" or outcome to the project.

The application period for organizations begins on the 15th of January (four days from now) and applications are due on February 6th. I will include in our project application any projects that have solid proposals with listed mentors by Feb 1st. That gives me the weekend before the due date to get the projects formatted for listing.

As @polyester noted above, the awarding of slots is determined by the number of projects we list and the available pool of mentors, so the more projects and mentors we have, the more slots we may be awarded. Ideally every project should have three members for the mentoring team. One is the "project owner" who plays the role of stakeholder and reviews work in progress in light of the overall goals of the project. The other two are the primary and backup mentors. We used this organization last year and it was quite successful.

Keep up the great work folks. I'm liking what I'm seeing so far!

1 Like

Thanks to @tkimnguyen, we have a very nice form for submitting Ideas. Please, as you come up with solid ideas, fill out the form and submit it. Please also make sure that there are listed mentors and a stakeholder.


So sorry, perhaps I'm a bit late here, but a cool idea for a GSOC project, is
to integrate the gutenberg editor into plone. Thought there is already an integration
with Drupal, but anyway, is a game changer on the cms land.

Not at all! I think by now four individual devs looked into Gutenberg and if we could adopt it in Plone. Though, it seems it is pretty tightly coupled to Wordpress and the code quality seems to be not very good.

I'd be open to a GSoC project but I wouldn't expect to much from it. Just my 2c...

1 Like

Have you seen this:
I know there are some trade offs on the waty gutenberg is built (they isollate it inside a common react/redux) app, but they provide an "external" API (ala backbone style). For exemple, all async calls are wrapped around a global function on the WP namespace (If i'm not wrong) window.WP.fetch (or something like). On the repos there are more examples, and also a mantained gutenberg.js package.
The only reason I still have an eye on it, is that gutenberg has lot's of resources inside (400 contributors), 9000 commits... this is something that only can be done by a paid team ( with lot's of resources.. There is also a rising ecosystem of "plugins" (ex: To have something like this around something like plone it's really a dream!

I was thinking about the same, we realy need a solit export and import solution for Plone.
Is the code from last years GSoC projects useable already?

I like this idea more and more and should be doable in GSoC. It could also be useful for another project, like a good VS Code integration of Plone. We already have some snippets, but the whole indexing/code intel is far from being great. And a buildout free Plone version could help here too.

I would mentor the VS Code integration and can also help on the buildoutless installation.