Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: FEATURE: Refactoring for Neos 9 #66

Draft
wants to merge 35 commits into
base: main
Choose a base branch
from
Draft

WIP: FEATURE: Refactoring for Neos 9 #66

wants to merge 35 commits into from

Conversation

mficzel
Copy link
Member

@mficzel mficzel commented Jun 9, 2023

The flowQuery operations referenceNodes() and backReferenceNodes in combination to search for documents that have similar taxons assigned.

similarDocuments = ${
    q(documentNode)
        .referenceNodes('taxonomyReferences')                  // the taxons the current document references 
        .backReferenceNodes('taxonomyReferences')              // all nodes that reference one of the same taxons
        .filter('[instanceof Neos.Neos:Document]')             // only documents
        .remove(documentNode)                                  // but nut the current one
        .unique()                                              // every document only once
        .get()
    }  

The package now includes the following flowQuery operations:

  • referencedTaxonomies(): the taxons referenced by the documents in flowQuery context
  • referencingTaxonomies(): the documents referencing by the taxons in flowQuery context
  • subTaxonomies() : sub-taxons of taxons in the context
  • withSubTaxonomies(): current taxons in the context plus sub-taxons
similarDocuments = ${
  q(documentNode)
    .referencedTaxonomies()                                // the taxons the current document references
    .withSubTaxonomies()                                   // including all sub taxons
    .referencingTaxonomies()                               // the documents that reference the same taxons
    .remove(documentNode)                                  // but nut the current one
    .get()
  }   

Must have:

  • BE Module create, edit, delete, show Vocabularies
  • BE Module create, edit, delete, show Taxonomies
  • BE Module - Dimension switch
  • BE Module - alphabetical order
  • Command Controller
  • Taxonomy Editor with secondary editor
  • Update Documentation

Nice to have:

  • BE Module - default node comparison
  • BE Module - protect tethered nodes from deletion

For now the following two branches are needed for this to work:

@mficzel mficzel changed the title WIP: FEATURE: Refactioring for neos 9 WIP: FEATURE: Refactoring for Neos 9 Jun 19, 2023
- Adjust route path to be in /neos namesapace to avoid conflicts with frontendlogin
- Adjust SecondaryInspectorController to new code and pass startingPoint and contextPath seperately
- Various cleanups
as soon as the absolute path prs are merged all should become green
…iesAncestors`, `taxonomyDescendants`, `taxonomyChildren`, `taxonomyVocabularies`

For now those operations are working on Nodes ... References support will be added later.
…ncestors`, `taxonomyWithDescendants`, `taxonomyWithAncestors`
ahaeslich and others added 3 commits September 17, 2023 16:03
TASK: Use named create constructor for all commands
- `referencedTaxonomies()`:  the taxons referenced by the documents in flowQuery context
- `referencingTaxonomies()`:  the documents referencing by the taxons in flowQuery context
- `subTaxonomies()` :  sub-taxons of taxons in the context
- `withSubTaxonomies()`:  current taxons in the context plus sub-taxons
@mficzel
Copy link
Member Author

mficzel commented Sep 18, 2023

@ahaeslich i am usure about the names and interfaces of the flowQuery operations

  • referencedTaxonomies(): Better naming and is there a need to specify the reference name and taxon type?
  • referencingTaxonomies(): Better naming and is there a need to specify the reference name and document type?
  • subTaxonomies(): Is there a need to specify the depth taxon type ?
  • withSubTaxonomies(): Os there a need to specify the depth taxon type ?

…ing taxons directly below the vocabulary node
…Name->equals

This is not exactly the same as the new solution includes subtypes but the isOf method requires the nodeTypeManager which is expensive.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants