Expand my Community achievements bar.

Adobe Summit is live! Tune in to take part in the premier digital experience event.

Change rootPath for the Asset/CF/Content picker programatically in the new CF editor

Avatar

Community Advisor

3/14/25

Request for Feature Enhancement (RFE) Summary: Add an API/extension point that would allow developers to change the rootPath for the Asset/CF/Content picker via a JS plugin: https://developer.adobe.com/uix/docs/services/aem-cf-editor/api/
Use-case: Our AEMaaCS project hosts more than 100 websites, each site has its own dedicated root folders for sites and assets (including subfolders for specific content fragment types). We had a custom, JS-based solution in the old CF editor to change the root paths of the CF/Content picker so that when an author opens the picker, it takes him to the correct location by default. This greatly improves the editorial experience of our 700+ authors that work on multiple sites.
Current/Experienced Behavior: Asset/CF/Content picker always opens the root folder and editors need to navigate manually to their site and the correct folder.
Improved/Expected Behavior: Customization can be enabled to programmatically set the correct root folder via JS, as we cannot do in the generic CF model. This would enable us to improve the editorial experience.
Environment Details (AEM version/service pack, any other specifics if applicable): AEMaaCS, version 2024.10.18311.20241017T104455Z
Customer-name/Organization name: Assa Abloy
Screenshot (if applicable): Screenshot 2025-03-14 at 10.32.13.png
Code package (if applicable):
<story-industries
    jcr:primaryType="nt:unstructured"
    sling:resourceType="dam/cfm/models/editor/components/fragmentreference/multifield"
    allowNew="{Boolean}false"
    fieldLabel="Industry"
    filter="hierarchy"
    fragmentmodelreference="/conf/global/settings/dam/cfm/models/cfm-tag"
    metaType="fragment-reference"
    name="storyIndustries"
    nameSuffix="contentReference"
    renderReadOnly="false"
    showEmptyInReadOnly="true"
    valueType="string/content-fragment[]">
    <field
        jcr:primaryType="nt:unstructured"
        sling:resourceType="dam/cfm/models/editor/components/fragmentreference"
        fragmentmodelreference="/conf/global/settings/dam/cfm/models/cfm-tag"
        name="storyIndustries"
        renderReadOnly="false"
        rootPath="/content/dam">
        <granite:data jcr:primaryType="nt:unstructured"
                      customCFRootPathFolder="tags/industry" />
    </field>
</story-industries>