SpeedUp Neos-Backend?

@christianm Thanks!

It works (I guess):

  • If I don’t change stuff in splitting backend-PartPage => load-time from FrontEnd-Summary-Page is quite speedy.
  • If I change something => longer loading time and changed value in FrontEnd-Summaray-Page.

But looks a bit weard and mess with all the nested flowQueries further down!

Unfortunately, I have to get the particular SmarterContainer otherwise the double Ancestor «[DL]: Nachschlagewerk …» would break the layout in FrontEnd-Summary-Page, on other hand I need this [DL]-tag in Backend for display correctly the reduced list-part.

So I checked the value of indentifier with:

#SmarterCollector.html

{namespace ts=TYPO3\TypoScript\ViewHelpers}
<f:if condition="{blnLinked}">
    <f:debug>{linkedNode.identifier}</f:debug>
<ts:render path="CCRenderer" context="{node: linkedNode}" />
</f:if>

output:

I guess this matched value in linkedNode.identifier (with Identifier-String in Backend) is the right value to use for docu’s entryTags documentNode.Identifier-String-part.


This linkedNode.identifier is the Identifier for «the other page» or in this context «the linked part of split page-part» to speedUp (at least a bit) the Backend-Editing with this splitting in smaller parts.

#SmarterCollector.ts2

### SmarterCollector to use nodeContent in other Neos-places
prototype(Vendor.Site:SmarterCollector) < prototype(TYPO3.Neos:Content) {

    CCRenderer = TYPO3.Neos:ContentCollectionRenderer

    blnLinked = ${q(node).property('internalLink') != NULL && q(node).property('internalLink') != '' ? TRUE : FALSE}
    
    linkedNode = ${q(q(node).property('internalLink')).find('[instanceof Sd.SmarterDesign:SmarterContainer]').get(0)}

    @cache {
        mode = 'cached'

        entryTags {
            # Whenever the linkedSplitPagePart>nodeType SmarterContainer changed => this change/flush the SmarterCollector's cache            
            1 = ${'Node_' + q(q(node).property('internalLink')).find('[instanceof Sd.SmarterDesign:SmarterContainer]').get(0).identifier}
            # Whenever an descendant of the linkedSplitPagePart>nodeType SmarterContainer changed => this change/flush the SmarterCollector's cache             
            2 = ${'DescendantOf_' + q(q(node).property('internalLink')).find('[instanceof Sd.SmarterDesign:SmarterContainer]').get(0).identifier}
        }
    }
}

###Questions:

  • is there an easier way, to get the identifier from the specific nodeType SmarterCollector, defined in yaml as «type: reference»? (without the mess of nested flowQueries)
  • Can anyone show me some storage-solution (like reusable property/variable concept from js/php) for TypoScript, to define the identifier-string once and reuse for property «linkedNode» and also for concat the «entryTag-property» both-times?
  • Did someone knows some Tool/Helper/«f:debug»-solution to check the cache easy and reliable: like this idea?