Fellow Plonistas: it's time for us to start coming up with GSoC project ideas.
Please respond below with your ideas for a project that could reasonably be expected to be completed within 3-4 months by a student developer, with guidance from one or two mentors.
You do not need to provide a lot of detail. This is just to get things started.
If there is discussion on any suggested project ideas, I will split that out into its own thread.
Your project idea(s) could be something that was proposed in the past but either not started or not fully completed, or it could be a completely new idea for a feature or an improvement to Plone.
Students interested in participating in GSoC: this thread is not really for you. We as a community need to generate project ideas first. Once we see if there is sufficient interest and we have identified a possible mentor, we will open those ideas for wider discussion or Q&A.
More generally: identify a popular online service and build a Plone add-on that integrates it with Plone.
The idea is to have Plone show up when someone is browsing the integrations/plug-ins for a service, so a) they're aware of Plone and b) if they're considering using the service they will also be reassured that Plone works with it.
Thank you @tkimnguyen for bringing the GSoC topic in the discussion
Important reminder: all ideas are welcomed, but our biggest challenge is to find mentors, so ideas coming with a mentor are definitely our favorites
If you’ve never been a mentor before, I encourage you to consider it. It is a very nice experience, and it definitely helps our community to grow. And regarding what it takes, that’s not much:
a mentor must be comfortable enough technically to drive a new comer into Plone development,
a mentor must have a bit of time to review the proposals (and pick one) in April, and to have weekly meetings with the selected candidate during the coding period (2 months long).
So think about it, and let me know if you’re interested
A bio add-on that allows you to add a bio object, and then mark the person in the bio as either a creator of a news item or the presenter of an event.
The bio page would then contain both the author bio, as well as a list of items they’ve authored or presented.
That would be useful because for a lot of sites, authors and presenters aren’t necessarily the Editors/Members of the site, and these bio pages would then be editable by actual Editors of the site.
Create a high-level overview of the content in a given website. Use case: a new developer joins your company and you have to explain everything that has been built on a given Plone powered website.
Create a visualization where you can see:
all your content types
their attached workflows (again visually)
the views attached on them
their available REST API endpoints
the event handlers that will get triggered on modification / workflow changes / creation / deletion
list of adapters
list of utilities
list of viewlets and to which interfaces/content types are they related
list of portlets(?) registered
list of volto blocks available
list of custom control panels
list of custom events
list of custom rules (and where they are used)
list of plugins installed
And that with a fancy UI that allows searching and navigation (i.e. not just a server side rendering huge dump).
Bonus points if that can be exported with docstrings from the classes/functions that implement all of that, so you can read and reference that in a way or another.
define, somewhere, in a control panel, the base URL for your internal documentation
add a way to provide a relative link (rooted to the internal documentation URL) for each field (either z3c.form or volto block) of a given content type field or behavior’s field
show a nice and simple icon next to each field that points the editor to that documentation
provide a way to generate a documentation system that can have stable URLs pointing, so the above URLs work, and editors/developers can explain as much as they need their internal policies/best practices, etc
Example use case: on a News content type, there is the company policy that titles have to be “Like This Because That’s Our Preference”, be certain characters long, have certain tone of voice, etc etc.
Onboarding new editors can be “almost” self-done as every field of every form will have its related icon that points you to the breath of documentation and policies about what to do with that field.
There is an interesting product in the collective: collective.glossary This package could be used as a starting point for providing documentation links, with the benefit that it works on Plone Classic and not just Volto.