Budget for Neos 9

Hello everyone,

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).

3 Likes

Merge Workspace Module rewrite into the 9.0 core

@sebobo made a rewrite of the workspace module and added some additional features in GitHub - Sebobo/Shel.Neos.WorkspaceModule: A workspace module alternative for Neos CMS
It was decided to move this improved variant into the core with the help of @ahaeslich .

WIP PR: !!! TASK: Move workspace module to separate package by ahaeslich · Pull Request #4665 · neos/neos-development-collection · GitHub

Benefits:

  • workspace module as separate package (similar to Media.Browser)
  • React UI for managing workspaces
  • AFX for the review templates (new review process is a later milestone)
  • Workspace ACL
  • store creator and last edit dates for each workspace
  • better tooling to remove/rebase workspaces with pending changes etc.

@ahaeslich and @sebobo request 4.000€ to finish the integration.

3 Likes

Neos 9 Feature completion

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.

3 Likes

I could use another 1.000 € on progressing with Refer to `WorkspaceName` instead of `ContentStreamId` in commands · Issue #4694 · neos/neos-development-collection · GitHub this year

2 Likes

Neos 9 Features

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.

This summer @Marc rewrote the package - version 2 - to be easier migrate-able to Neos 9 and additionally some new developer features were added: Release 2.0.0 · Flowpack/Flowpack.NodeTemplates · GitHub

@Marc 's plan is to:

  • refine the Neos Ui API node creation handling api (WIP PR FEATURE: Improve NodeCreationHandlerInterface by mhsdesign · Pull Request #3519 · neos/neos-ui · GitHub)
  • rewrite the Neos 9 rewrite of Flowpack.NodeTemplates with the following benefits
    • support of all features from version 2:
      • the main template usecase (already in work)
      • support for version two’s “flow nodetemplate:validate”
      • support for version two’s “flow nodeTemplate:createFromNodeSubtree ”
    • quality assurance: full set of functional tests for every template usecase and phpstan coverage (already in work)
  • new feature: Possibility to copy (child) nodes from another node for version 2 (Neos 8) and 3 (Neos 9) which was originally possible via a hack in Version 1
  • 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

WIP PR WIP: FEATURE: Neos 9.0 Prototype by mhsdesign · Pull Request #51 · Flowpack/Flowpack.NodeTemplates · GitHub

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.

Thanks for the initiative!

Neos 9.0 fundamentals & DX

I would like to work on some fundamentals to make Neos 9 suitable for large projects and to improve developer experience.
Some of these tasks include:

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.

Budget: 1.600 €

2 Likes

Upgrade documentation / guide

  • document upgrading a Neos 8 site to Neos 9
  • make sure content migration does work as documented (or vice versa…)
  • iron out wrinkles in the connection between setup and migration

I’d spend a few days on that, hoping that is enough to also fix what doesn’t work as expected. If not, spend a few more days…

Budget: 3.200 €

1 Like

Posting this on behalf of @christianm


Performance opimization & stability

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.

Budget: 5.000 €

2 Likes