Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

How to bind custom servlet in asset metadata schema for dynamic dropdown??

Anoop_Garg
Level 3
Level 3

Anyone bind custom servlet in asset metadata schema for dynamic dropdown? We are able to fetch the dynamic values from JSON file, but not sure how it work with servlet.

http://blogs.adobe.com/contentmanagement/2018/01/03/using-a-json-file-with-the-dropdown-widget-on-th...

I am getting the same response mention in the blog from servlet but not getting what need to pass in JSON PATH field of metadata schema to call servlet

7 Replies
navinkaushal
Level 4
Level 4

If I understand correctly you want servlet to provide the metadata instead of JSON file (as mentioned in blog)?

Anoop_Garg
Level 3
Level 3

Yes Navin. If you see the image available in blog has one property JSON PATH which is pointing to one .json file which is avaible in aem and providing yuu response . Instead of that i want to give servlet path which will provide the response

Anoop_Garg
Level 3
Level 3

I am not sure how to provide that path of servlet to get the response . Even you will see the blog comments, someone have asket the same quetion. I had tried to give the servlet path eg: /bin/dummyservlet.json  or /bin/dummyservlet.options.json or /bin/dummyservlet, but noting work for me. i am getting response servlet in below format

{"options":[{"value":"US","text":"United States"},{"value":"UK","text":"United Kingdom"}]}

navinkaushal
Level 4
Level 4

You need to give servlet path and it should return the JSON data.

Also please make sure your content-type header should be set as application/json data type while returning the output.

ektaa69139387
Level 2
Level 2

Hi, I am replying on an old thread. But I had the similar problem and not found any solution so tried some custom approach and able to achieve this.

Solution:

1. overlay/customise default  metadataschema using metadataschema editor.(http://www.sgaemsolutions.com/2017/02/overrideoverlay-dam-asset-metadata-in.html )

2. Add custom dropdown field using datasource object to populate dropdown.

https://helpx.adobe.com/experience-manager/using/aem65_coral_resourcetypes.html#UseaDataSourceObject... 

 

For Example: I have added below dropdown in my metadataschema dialog xml to dynamically populate dropdown from my servlet

 <_x0031_612365521559
                                        jcr:primaryType="nt:unstructured"
                                        sling:resourceType="dam/gui/components/admin/schemafield"
                                        emptyText="Select Option"
                                        fieldLabel="Collections"
                                        name="./jcr:content/metadata/test"
                                        resourceType="granite/ui/components/coral/foundation/form/select">
                                    <granite:data
                                            jcr:primaryType="nt:unstructured"
                                            choicesCascading="default"
                                            cq-msm-lockable="./metadata/test"
                                            metaType="dropdown"
                                            requiredCascading="default"
                                            visibilityCascading="default"/>
                                    <datasource
                                            jcr:primaryType="nt:unstructured"
                                            sling:resourceType="<servlet resourceType>"
                                            addNone="{Boolean}true"/>
                                    <cascadeitems
                                            jcr:primaryType="nt:unstructured"
                                            sling:resourceType="dam/gui/coral/components/admin/schemaforms/formbuilder/cascadeitems"/>
                                </_x0031_612365521559>