Funding Request: Neos 9.0

Hello,

as we have the plan to release Neos 9.0 as soon as possible, we want to apply for another funding. This is to ensure that anyone who wants to reserve some time to work dedicated and focused on any Neos 9.0 release-critical issues will be financially backed.

What do we plan to work on?

To focus on the important tasks for the release, we collectively decided on a list of topics, that need to be tackled before a Neos 9.0 release. This is called the list of “Neos 9.0 elephants”.

The funding shall help us to get a big step forward and to finish most of our elephants on the list. Goal is to stabilize the current state and finish the relevant open tasks.

Our main “elephants” are (see also Neos 9.0 elephants):

  • Performance improvements
  • Policies / Security
  • Setup and Migration
  • Documentation and Public API

Also we have a lot of already known bugs we need to tackle before the release.

Who will work on this?

In general anyone is welcome to work on the elephants. Please suggest your project in our core weekly (fridays, 11:15am, #neos-core-dev) so we can coordinate your efforts and align with the team.

The following team members have currently committed to working on these topics:

  • Bastian
  • Bernhard
  • Christian
  • Denny
  • Marc Henry
  • Sebastian H

What do we need?

We would like to apply for a common funding of 30.000 €.

As it’s hard to put the remaining work into packages, assigned to a person, as we do the funding requests usually, we decided to request a common budget for the team and to distribute that internally, based on the tracked working time.

We will track our efforts in a dedicated spreadsheet to keep an overview of the budget and a later billing. Also we will align in the core weekly meetings (fridays, 11:15am CET, #neos-core-dev).

If we need less than the expected amount, we would give the left over budget back into the funding budget at the end of this year.

Please add your vote in the voting below and feel free to ask questions or give feedback in the thread.

Thank you very much!

  • Yes
  • No
0 voters

EDIT: The voting closes on friday 19.07.2024 at 11:00am.

3 Likes

Neos 9.0 Funding Report

In July 2024, we requested funding to support dedicated and focused work on Neos 9.0, with the goal of advancing toward a stable release. This report provides an overview of our achievements and a breakdown of how the budget was spent.

We also want to thank all our sponsors for the financial support that allowed us to achieve these results within this limited timeframe. :clap:

Beta releases

Over the funding period, we released multiple beta versions, each introducing new features, bug fixes, and enhancements to stability, performance, and overall quality. Detailed information about each release can be found in the release notes and changelogs.

Topics we worked on

To provide a more detailed insight, what we reached with the given funding, we want to provide a list of topics we where working on. For more details, please refer to the linked issues and pull requests. This list represents only a portion of the team’s work on Neos 9 over the past months, as many contributions from volunteers were not connected to this funding request. Additionally, while not every topic on the list was fully funded, each received at least partial support from the provided funding.

Workspace/Publishing improvements #4726

  • Make all commands refer to their target “workspace” instead of “contentStream”
  • Fix initial workspace creation after login
  • Don’t rebase the user workspace on login if not required
  • Extract workspace metadata and user-assignment to Neos
  • New Workspace module (WIP)

AssetUsage Overhaul #4808

  • Rewrite of the AssetUsage to address known bugs
  • Improve performance
  • Reduce storage usage

CR Privileges #3732

  • Introduce concept of an AuthProvider with a Neos implementation that
    • controls read/edit access to nodes
    • controls access to workspaces
  • Documentation (WIP)

Overhaul ContentCacheFlusher #5175

  • Rewrite of the ContentCache Flusher to address known bugs and improve performance

Extract Content Subgraph caching #5243

  • Extract Content Subgraph in-memory caching to stabilize the system and remove complexity for better testing and debugging

Workspace ContentStreamMapping #5096

  • Move workspace contentstream mapping into the contentgraph projection

Rework Publishing #5301

  • Stabilization of the publishing to fix known bugs and improve performance and storage usage

Refactoring ContentStreamPruner #5297

  • Stabilize ContentStreamPruner and cleanup

Performance improvements for ES CR DBAL Adapter #4818

  • Debugging hierarchy relation and general tree UI performance and improve performance on ChildNode Queries (WIP)

Rework CatchUp mechanism #4746

  • Rework CatchUp mechanism into a subscription engine to stabilize events catchup (WIP)

Site import/export #4448

  • Adds the feature to import and export a all sites of a CR
  • Improve UX when migration “legacy” sites

Beside the bigger topics we worked on lot of bugfixes and improvements:

  • Stabalize Cut & paste in different dimensions and add test coverage. WIP #4614
  • Serializable i.e. low level commands #5353
  • Consider entry node when filtering in reference editor #5195
  • Bugfixing implementation and improving the documentation for the configuration of dimension in the new CR. #4984
  • Improve stability of contentstream status on errors during publishing and covered with parallel running tests. #5342 #5344
  • Copy node respect tethered nodes correctly WIP #5350
  • Improve performance on find*Aggregates #5269
  • Migrating old cr data with additional root nodes and their children #4895
  • Remove old NodeAddress #4564
  • Stabilize base workspace change #5331
  • Make single-field Value Objects stringable #5239
  • References on creation and copy #5148
  • Translation layer for Node read-model in Fusion to restore 8.3 syntax WIP #5022
  • Removal of magic underscore access for internal node properties #5015
  • Standalone ContentRepository.Core #4227
  • Structure adjustments “repaired” orphaned Nodes which is not replayable WIP #5352
  • CopyNodesRecursively WIP #5351
  • Cleanup projection catch-up trigger extensibility #5288
  • Bug removed content streams on partial replay WIP #5333
  • Introduce Workspace::hasPublishableChanges #5332
  • Fix workspace role assignment after migration, import and site creation #5283
  • Deprecate WorkspaceFinder and introduce new API #5279
  • Introduce first level content repository projection #5272
  • Restore Neos.Neos:NodeUri, neos:link.node and LinkingService #4886
  • Make ContentRepositoryServiceFactoryInterface internal, and remove usages in Neos.Neos #4634
  • Remove default value for subtreetags to fix MySQL support #5253
  • “internal” node properties in Fusion/UI #4208
  • Remove deprecations of beta 14 #5295
  • Improve test suite WIP #5346 #5284
  • Added rector migrations #85 #86 #87 #88 #89 #91, #92, #93
  • Update and bugfix Neos Demo
  • Upgrade Neos Form.Builder
  • Writing documentation

A lot more than this has been done. Please check out the merged PRs for Neos 9 in the funding period: Pull requests · neos/neos-development-collection · GitHub

4 Likes