Omgeving:
- ArcGIS Enterprise versie: 12.1
- Experience Builder versie: 1.20.0
- Browser/OS: Chrome
Samenvatting:Een custom widget geregistreerd als een remote resource (isRemote: true) op Portal werkt correct tijdens het configureren van een Experience, maar na het opslaan van de Experience verandert de widget's context.isRemote naar false en wordt context.folderUrl een onjuiste pad met de letterlijke string undefined, in plaats van de originele remote URL van de widget te behouden.
Stappen om te reproduceren:
- Registreer een custom widget op Portal als een Experience Builder app/widget gehost op een externe server
- Maak een nieuwe Experience aan en sleep de widget naar het canvas
- Op dit punt toont inspectie van this.props.context binnen de widget:
{
"isRemote": true,
"folderUrl": "https://myserver/xwd/customwidget/"
}
- Sla de Experience op
- Na het opslaan (of herladen van de gepubliceerde app) toont dezelfde context:
{
"isRemote": false,
"folderUrl": "https://portalURL/apps/experiencebuilder/experience/../cdn/359/undefined"
}
Verwacht gedrag:context.folderUrl zou moeten blijven wijzen naar de originele remote URL van de widget (of anderszins oplossen naar een geldig, bereikbaar pad), zowel voor als na het opslaan van de Experience.
Werkelijk gedrag:De widget probeert zijn eigen statische bronnen te laden (in ons geval een iframe dat wijst naar ${context.folderUrl}dist/runtime/assets/some.html) vanaf een ongeldige URL:
https://portalURL/portal/apps/experiencebuilder/experience/../cdn/359/undefineddist/runtime/assets/some.html
wat resulteert in een 404-fout en waardoor de widget faalt in het weergeven van zijn inhoud in de gepubliceerde app.
Impact:De custom widget is niet functioneel in de gepubliceerde productie-app, terwijl deze correct werkt tijdens Builder-configuratie/preview.
Deze bug beïnvloedt ook het favicon, dus het resultaat is geen icoon voor de widget.
Relevante code (fragment):
<iframe
id="myWidget"
src={`${this.props.context.folderUrl}dist/runtime/assets/some.html`}
width="100%"
height="90%"
/>