This topic is a collection of project ideas for Google Summer Of Code, should we be accepted.
If you have any idea for a smaller/medium feature that would be “nice to have”, feel free to post it here. A reasonable explanation of the feature is minimum required. If you have a detailed plan/idea even better!
Here is a template for you:
Idea title
A summary of the idea here, what, why, benefits, risks, … the more tangible, the better!
Expected results: Summary of expected outcome
Milestones: A list of intermediate steps to take, if applicable
Skill level: …
Knowledge required: …
Let us know! Also, feel free to get inspired by the previous lists for 2017 and 2016.
Create a flexible dashboard to make this old idea a reallity. This kind of dashboard can a really nice feature for Marketing (analytics). A single Neos instance can have multiple dashboard or per user dashboard. Marketing peoples can monitor page trafic, bouncing rate, form submission, … (integration with external Analytics), Technical people can monitor Neos package version, news feed, …
Our React UI currently uses a mix of different specific APIs, there is a basic implementation of GraphQL for Neos.
The goal of this project would be to extend the implementation on the PHP side and get it working with the backend. Not every single endpoint must be replaced but a solid basis for replacing the old APIs with a common GraphQL API should be created.
Flow has a welcome package that should brushed up in terms of style and functionality. It could include a UI based kickstarter for packages and models.
Expected results: Nicer Welcome package with better introduction, first-steps and maybe UI based kickstarter for packages and models.
Milestones: New Design, additional information for Flow newcomers, introduction, kickstart ui
Skils: PHP, HTML, CSS, easy
Flow does a lot based on code reflection. This currently works based on the PHP language Reflection functionality, which has some drawbacks, most notably that classes need to be loaded for Reflection and hence the compilation step needs to happen in a separate process.
You can’t start a Flow project, without having a database due to core entities such as routing, resources and security account
In the reference post I’ve collected research in the issue and pointed out the issues along with comments from core members that are giving more insigt into the issue.
Expected results: A (minimal) instance of Flow where you can develop a application with no need for local database.
Milestones:
Introduce AccountInterface
Move security into own package
Move routing into own package and introduce a simple routing handler that doesnt require persisting
Move into own package and introduce a resource management that can handle files locally with no need for persisting into a database
Finally, move the whole persistence part into a own package incl. migrations
Backward compatibility
Skill: PHP, Database migrations knowledge
Knowledge required: hard
A word about the task
This task is indeed a hard task and requries quiet some research, test and core knowledge. One important thing, and was discussed with @christianm in Slack, is that each milestone in the list, can be a task itself. That can make it easier to split up in smaller chunk and perhaps between more developers
GUI-Alternative for Neos’ maintenance (beside Command-Line)
Terminal commands are powerful but also difficult to use for less experienced developers/users.
This would make it easier to get started and thus significantly expand the user base - I guess.
This would almost certainly expand the user base, build up a broader community of developers and positively influence decision makers.
Typo 3 has made it easier thanks to shared host requirements and 1Click-Install solutions.
Flowpack.SimpleSearch is a great base.
But Results are only in node-type-content-snippets-context not in user-friendly Page-context.
ElasticSearch is great, but it is too complex for the average web presence and once again extremely resource-consuming.
(Also here:
All my suggestions are considered with the user’s, integrator’s or decision-makers glasses instead of the developer’s glasses.
Maybe there’s something in, that would be suitable for «Google Summer Of Code 2018» what could make Neos much better known, easier to use and even more successful.)
Perhaps the @stolle (if I remember right) solution has already been implemented. Lost track of it a little bit.
But a simple solution for the user rights on pages, contents also backend views/plug-ins would be very necessary.
Solution to export/import a hole Website or parts of (template/nodeTypes/…)
I guess this would massively increase the attractiveness of Neos.
The high acceptance and wide user base from a CMS is probably directly related to the solutions like:
easy export of a complete page with content and layout
easy import of a complete page with content and layout
easy modification of a web page through different templates
export and import of the entire site layout (without content) as a template for reuse with other content or clean new cms on other server/in other projects
…
I know, the idea (@christianm) is to build from ground particular solution for needed target.
But to have a second more reusable approach could be a break even key-feature looked to most widely used and accepted CMS.
My suggestions do not shine through the finest elaboration or the knowledge of how such huge fields can be tackled at all. Sorry .
But maybe there’s something in there that helps.