DataWedge SET_CONFIG is broken

// Expert user has replied.
S Scott Cooper 1 year 1 month ago
101 2 0

The documentation for the SET_CONFIG intent specifically states "Multiple PLUGIN_CONFIG bundles can be nested within the SET_CONFIG bundle", the examples even show this.

From my testing and searching within this forum, this isn't true. Each plugin has to be configured individually using separate broadcasts, grouping them into one intent means they all get ignored. I've tried using SEND_RESULT here to try and figure out what is going on but the response also seems to be broken as it doesn't tell me whether it succeeded or failed, it's literally just "COMMAND -> com.symbol.datawedge.api.SET_CONFIG"

From searching this forum it appears I'm not the first person to point this out, it would be good if someone could clarify whether the docs are wrong or this api is broken.

Thanks

Please Register or Login to post a reply

2 Replies

D Daniel Neamtu

Hi Scott,

You can nest multiple bundles into one and then fire it up with one Broadcast.

Could you please share what you were trying to do? 

If the tree of how the bundles have been put together with all the parameters is not right meaning is not reflecting then DW will simply ignore the request.

Daniel

S Scott Cooper

Hi Daniel, thanks for the reply. 

I've attached an example of what the bundle in my intent looks like, the intent has an action of com.symbol.datawedge.api.ACTION 

If I separate each plugin into a new intent everything works so that's what I'm doing at the moment. Instead of silently ignoring the request, wouldn't it be better to provide an error via the SEND_RESULT mechanism?

Bundle[
    {
        com.symbol.datawedge.api.SET_CONFIG=Bundle[
            {
                CONFIG_MODE=CREATE_IF_NOT_EXIST,
                PROFILE_NAME=App Name,
                PLUGIN_CONFIG=[
                    Bundle[
                        {
                            PLUGIN_NAME=BARCODE,
                            RESET_CONFIG=true,
                            PARAM_LIST=Bundle[
                                {
                                    configure_all_scanners=true,
                                    scanner_input_enabled=true
                                }
                            ]
                        }
                    ],
                    Bundle[
                        {
                            PLUGIN_NAME=INTENT,
                            RESET_CONFIG=true,
                            PARAM_LIST=Bundle[
                                {
                                    intent_delivery=2,
                                    intent_action=com.app.name.datawedge.ACTION,
                                    intent_output_enabled=true
                                }
                            ]
                        }
                    ],
                    Bundle[
                        {
                            PLUGIN_NAME=KEYSTROKE,
                            RESET_CONFIG=true,
                            PARAM_LIST=Bundle[
                                {
                                    keystroke_output_enabled=false
                                }
                            ]
                        }
                    ]
                ],
                PROFILE_ENABLED=true,
                APP_LIST=[
                    Bundle[
                        {
                            PACKAGE_NAME=com.app.name.staging,
                            ACTIVITY_LIST=[*]
                        }
                    ]
                ]
            }
        ],
        SEND_RESULT=COMPLETE_RESULT
    }
]

 

CONTACT
Can’t find what you’re looking for?