this is an umbrella post for a funding round for Neos 9 and the new Content Repository.
As one of the release managers for Neos 9 I supported the decision to move the release to next year wholeheartedly. Neos 9 is amazing already as is, the amount of conceptual thought and new ideas that went into it by the small team working on the new Content Repository is stunning. Yet in practical application we do see a few problems we want to iron out before releasing to the world, so everyone gets a good start with it and is confident selling it to their customers or editors.
If you want to check it out, we already release betas (another one coming this week) and will continue to do so throughout the process of finishing the release.
To that end and to not delay the release for too long we would like to request funding for several topics to allow the team more focus on doing these rather annoying last 10% in a short amount of time. Given the complexity of the topic we need time and energy from specific people right now and to make the application process a bit easier with the Foundation will split applications per person with specific topics attached. Therefore this post will be an umbrella to keep track of the separate applications of everyone involved. Topics on our radar but not limited to include:
event sourced Content Repository Core adjustments
not fully implemented features
workspace handling
editor experience
performance
upgrade process (documentation, guides, preparing possible other support)
Once we have an overall idea of individual applications I will update this post with summaries and a total sum (despite them being separate and separatedly accepted/rejected).
I (@lubitz) would like to tackle the following topics, to get known features of Neos <9 also into Neos 9.
Re-implement timable node visibility
Allow user to enable or disable a node on a predefined date and time. Also I’d try to provide an upgrade path from Neos 8.3.
Budget 2.400 €
ContentCache Flushing
Improve current content cache flushing and make it dependend on content repository and workspace/contentstream.
Budget 1.200 €
AssetUsage
The AssetUsage already implemented, but needs some changes to work with Neos 9 as before. At the moment it returns neither for the media module, nor for the content cache flush the right results.
Budget 1.200 €
The budgets above are educated guesses, based on current information I have. As there is not for all topics a final decision on implementation, the actual effort may still vary.
Neos NodeTemplates
The Neos’ FlowPack NodeTemplates might be already considered part of the Neos core feature set, so we should keep the API open to allow this use-case and also rewrite the package to be Neos 9 compatible.
new feature: Reintroduce the possibility to hide (disable) nodes via a template for version 2 (Neos 8) and 3 (Neos 9) which was originally possible in Version 1
To complete the Flowpack.NodeTemplates 9.0 rewrite @Marc is requesting a budget of 4.000€
Site export & import
Enable users to export and import sites including content and additional metadata to make it easier to transfer sites as already known from Neos <9.
Tackling this issue also means to rethink the site entity under the hood.
@Marc is requesting a Budget of 2.400 € for those two tasks.
but in general I would use the time for anything the Release Management team considers important enough to put on our project board
Budget: 4.000 €
Finalize Subtree Tags
In the last weeks and months I have worked on a feature we called Subtree Tags – this will allow for tagging a node and all it’s descendants with a single command.
This will be used by the core to replace the rather expensive “Restriction edges” (i.e. disabled/hidden nodes).
But more importantly this will be the basis for “Node privileges 2.0” and for numerous other features.
I got pretty far already, but the remaining 10-20% turn out to be quite tricky – as usual and I would like to be able to block larger amounts of time to work on this without distraction.
I’d just go for a flat 5000€ focussing on stability bits and stuff necessary for the release and do as much as I can, performance is secondary to all that.