POST
|
Hi all, 4 years ago, we created a production application based on arcgis js cli. During these years, we have created a lot of custom widgets for this app, following esri documentation, and we have migrated from: JS version 4.13 to 4.26, AMD to ESM, webpack 4 to 5, typescript 3.1.1 to 4.7.4, calcite maps 0.0.9 to calcite design 1.0.7 (partially, still on going), ... Everything is working like charm and all the necessary tools to deploy to a production environment were included with the cli e.g. service workers, minification, PWA, etc. It saved us a loot of time! We considered that the cli was the tool to build production custom web applications. We want to start developing a new custom web app. We found out that the arcgis-js-cli is going to be deprecated (with a recommendation to use vite). We have been looking at the repo https://github.com/Esri/jsapi-resources: The custom widget sample has a deprecation flag (with a comment to use the UI component library of our choice (like react? so it is recommended not to use the UI framework of custom widgets? )) We noticed also a strong promotion of vite at most of the samples, instead of webpack. There are not so many typescript samples, even though it is promoted from the documentation here. What we are looking for is, a stable, "building for production", template to give us a boost start. So the question is, if we want to start creating a new custom web app, is there any official best practices/documentation/resources/recommended tools from esri? I know there is no single answer, there are a lot of parameters to make a decision like that, just wondering if there is a consensus in the forum here or something that is already discussed between esri developers 😀 Thank you! @DasaPaddock @AndyGup @ReneRubalcava @BenElan
... View more
02-28-2023
06:51 AM
|
1
|
12
|
1269
|
POST
|
Hi @MarcGraham2 , no luck so far. @JonathanQuinn , please let us know if there is something we haven't foreseen. Could it be any kind of windows configuration that is mandatory to set? So far, we have done everything described here and here (bottom of the page for the second link).
... View more
02-27-2023
01:25 AM
|
1
|
0
|
2194
|
POST
|
Hi all, soo many articles have been written about this issue and yet, in our case, we are not able to solve it 😃. Here is our status: We have an ArcGIS Enterprise installation 10.9.1 (installed on Windows servers) for our test environment. Portal and federated hosting Server are on the same machine, datastore is on a separate one (we added datastore on a later phase). Datastore has relational and tile cache components installed. Portal and Server are behind a external load balancer, web adaptors are installed too, IWA is activated. Our security configuration allows only https protocol. We have installed valid certificates to Portal, Server, Datastore. The windows services for Portal, Server and Datastore, are running with the same Domain administrator account. This account has full access to all the windows folders with the software and configuration. The Server and Datastore machines are added as Trusted Sites (all the names of the machines, fully qualified, DNS names, machine name etc.). All the related ports are open at the firewalls to all the machines and we have made sure that these ports are not used from any other application. We have set the ssl certificates for the couch db too! That means that this couchdb url: https://<ds.fqdn>:29081/_utils/#login has actually a valid certificate! (idea: when we run the Datastore tool updatesslcertificate and a tile cache component is installed, then update the couchdb certificate too). The above couchdb url can be accessed from hosting Server machine. The status of the noSqldatabase in datastore is OK when we validate from hosting Server. When we validate the federated hosting server from the portal, everything is OK. We are able to publish a Vector Tile layer. We created a .slpk package, based on a LAS file, visualizing a point cloud. We can load this layer to ArcGIS Pro without any issues. We try to publish this package either from the Portal directly, by adding an item, or from ArcGIS Pro. In both cases it fails. There are two severe error messages in ArcGIS Server: ERROR 001887: Failed to create couchdb database. Failed to create couchdb database.: Client tried to access password-protected page without proper authorization. (status code 401). Any recommendations would be extremely useful for us 😀
... View more
02-03-2023
03:54 AM
|
0
|
6
|
2348
|
POST
|
Hi all, we have an ArcGIS JS API 4.24 web application. We have an ArcGIS Enterprise 10.9.1 with a map service. One of the sublayers is having symbology with display filters enabled. The active filter is by scale. So in different scales we query the layer and display different polygons (polygons that they overlap with each other, in some cases). We load this specific layer to our JS API web app by instantiate a new MapImageLayer with the specific sublayers. We set properties listMode: hide and visible: false everywhere. There is a custom UI where the user can select what layers to display. When the user selects the specific sublayer then we set the properties listMode to "show" and visible to "true". Everything works fine, except the first time the user performs this action. When the user displays for first time the sublayer and clicks on the polygons to open the popup, then we see popups for all the polygons, even the filtered out ones e.g. 1 of 10 If we pan/zoom and we return to the same scale, then the layer is refreshed and then the popup is behaving properly i.e. it shows 1 of 2 1 of 10 1 of 2 Please let us know about any feedback! Maybe we need to refresh the MapImageLayer after with set the listMode to "show"? Any ideas are welcome!
... View more
11-07-2022
06:27 AM
|
0
|
0
|
291
|
POST
|
Great! I will try that. I will copy the assets to a common folder and take it from there. Thanks again for the replies!
... View more
09-30-2022
11:40 AM
|
0
|
0
|
1191
|
POST
|
Thank you for the clarification! Good news that there is no overlap between the two css packages. We will try to align the calcite version on our project with the version delivered with JS API. At the repository above, I created an example of local assets and the use of both css packages. It works fine, except of the local assets. The end user doesn't see any difference. If we use the same version as the one shipped with JS API, then we have a workaround. But the issue of referencing assets from JS API instead of calcite assets remains in the code example above, even when we use properly the setAssets() from calcite library. It seems like the setAssets() function, somehow, is not honored.
... View more
09-30-2022
10:24 AM
|
0
|
1
|
1197
|
POST
|
Hi Andy, thank you for your reply! Please find here a repo where the issue is reproduced: https://github.com/MichalisM/esri-jsapi-resources/tree/master/esm-samples/jsapi-custom-widget I have forked the original project and added our configuration of webpack. I also integrated some calcite components in the custom widget example. As described on the initial post, we manage locally the assets with webpack and we copy them in different directories (.core/assets and .calcite/assets). When we use calcite components, either rendered with a custom widget or directly create them in the window.document, then they use the assets from .core/assets instead of .calcite/assets. Both directories are available on the server. Small question: There is no overlap between the following css? import "@arcgis/core/assets/esri/themes/light/main.css"; and import "@esri/calcite-components/dist/calcite/calcite.css"; We are not intentionally mixing calcite versions. ArcGIS JS API is shipped with a different version than the calcite design that we use. Are you proposing that we should always use the same calcite design version as the one included in the JS API release? Thank you again!
... View more
09-30-2022
05:01 AM
|
0
|
3
|
1209
|
POST
|
Hi all, we have created a web app based on custom builds, using webpack. We are managing the assets of JavaScript API (4.24.7) by copying the locally and setting the value of esriConfig.assetsPath to the right path. Everything works perfectly! We have decided to start integrating Calcite Design system (1.0.0-beta.92) to our web app. So far great experience! We are also managing the assets of Calcite locally. So we copy them to a location and then we use the function setAssetsPath to define the path. Everything works fine too (almost 😉 )! The JS API is using Calcite assets (1.0.0-beta.82 for the version we use). They exist in the folder node_modules\@arcgis\core\assets\components\assets. Everything works fine overall but we noticed the following: All the calcite design components are using the assets from the JS API path and not from the setAssetsPath. Either the setAssetsPath doesn't work properly or there is a conflict between setting assetsPath for JS API and for calcite design? Again, everything works, but we are using different versions of assets. It might become an issue in the future? Since JS API is using calcite components, the css of the JS API includes already calcite styles. Eventually we are loading them twice (and from different versions), one css from calcite and once css from JS API. It makes sense, but I wonder if there is a more optimal way to do this. So the question would be: Are there any best practices of integrating Calcite Design with JS API with custom builds? There are very nice examples in github for Calcite Design and nice examples for JS API but I could not find any example with both of them together 😀
... View more
09-23-2022
03:36 AM
|
0
|
6
|
1293
|
POST
|
Hi all, I see that this is an old post but recently we came across similar behavior in the logs with our installation (HA enterprise with IWA, upgraded to 10.9.1 some months ago) . We are getting warning messages in our federated server e.g.: Failed to return the service configuration 'X.MapServer'. Could not connect to the ArcGIS component at URL 'https://server.test.com:7443/arcgis/sharing/rest/content/items/xxxxxx'. The ArcGIS component on that machine may not be running or the machine may not be reachable at this time.Error: Read timed out The service is working properly, without any issues. In the portal we also had some weird warnings: Failed to update the system properties. java.lang.Exception: The server at 'https://portal.test.com:7443/arcgis/sharing/rest/portals/self/servers' returned an error. Invalid token. [] when we tried to update the system properties, even though the properties are properly updated. Could it be that we set the portal logs to verbose? Or... Could it be that we set the portal "disableServicesDirectory": true? Or... Could it be that some end user is sending requests to some services without the proper headers on their browser? Just throwing ideas 😀 Everything is working fine overall, it's just our logs are getting "polluted". Thanks!
... View more
08-30-2022
09:05 AM
|
0
|
0
|
572
|
POST
|
tagging @JoseBanuelos , @ReneRubalcava Any help or feedback will be useful for us 😀
... View more
08-11-2022
02:45 AM
|
0
|
0
|
277
|
POST
|
Hi all, we recently have upgraded to the 4.23 version of the ArcGIS JavaScript API. The Editor widget has a lot of deprecated methods since 4.23, one of them is the startCreateWorkflowAtFeatureEdit. We are using this method in order to start the editor directly at the attributes panel stage, since we programmatically select the feature template and we don't want the user to edit the geometry. We have the following questions: Is the new method startCreateFeaturesWorkflowAtFeatureCreation a replacement of the startCreateWorkflowAtFeatureEdit ? Is there any plan to have a new method e.g. startCreateFeaturesWorkflowAtFeatureEdit in the next releases? Is there any way to start the CreateFeaturesWorkflow directly to stage 3 i.e. the attributes panel, without placing a geometry? So far we managed to start the workflow directly to stage 2 i.e. we set a feature template programmatically but we cannot bypass the geometry placement. We have tried to set it via the editor's sketchviewmodel but without any luck. Any comment will be helpful! We want to upgrade to 4.24 and it's our only remaining issue 😉
... View more
08-05-2022
01:48 AM
|
1
|
1
|
417
|
POST
|
yeap, we did that: I can see a workaround, create a custom content that returns a table element (or returns a widget) with the proper structure for the whole FieldsContent. It's kind of an overkill, just for one attribute to generate a custom popup content. If there is no other way, we might go for that but I think it should be feasible with arcade somehow!
... View more
06-22-2022
12:45 AM
|
0
|
0
|
449
|
POST
|
Hi Rene, thanks for the fast reply! I could not find an answer to neither part 1 (nor part 2) of the blog post above (nice read though 😉 ). In our case, we have a popup with a fieldContent shown for a feature. The arcade expression for one of the fields is something like that: return 'https://test.com/' + $feature.ID The result on the popup looks like that: After inspecting the element, the value of this field is, magically, an anchor element with href the concatenated link above, and the word "View" as text. It's a welcome behavior actually! Our question is: Is there anyway to change the default value "View" somehow? Could we return an anchor element as the value of a field ?
... View more
06-21-2022
06:24 AM
|
0
|
2
|
463
|
POST
|
Hi all, we are using a popup for one of our features with a FieldsContent. We are using an arcade expression for one of the fields. The expression returns a url calculated with a concatenated string. It was a positive surprise that the API understands that it is a hyperlink and it creates an anchor element with the text "View" at the popup. The users can click on the anchor element and a new tab opens with the link. We have a new request from our customer to change the text "View" on the hyperlink to whatever we want. Is this possible? We tried to use arcade to return an anchor element correctly structured but with no luck. Any ideas are welcome!
... View more
06-20-2022
02:01 AM
|
0
|
4
|
612
|
POST
|
Hi @ShanaBritt , thank you for your reply! Here are the answers to your questions: Yes, we have been using the Create Locator tool to build the locator. Country is Belgium and the roles are included in the attachment below. Yes, the full street name is mapped. I include screenshots of the field mapping of the locator for all the attributes of the Street Address role. It's going to be a bit difficult to send here a small sample. If you think it is necessary, I will dedicate some time for that. In the attachments you can find the .loc file, further screenshots from the CreateLocator tool, and how the data look like.
... View more
04-12-2022
01:35 AM
|
0
|
0
|
1004
|
Title | Kudos | Posted |
---|---|---|
1 | 04-27-2023 02:10 AM | |
2 | 03-29-2023 05:13 AM | |
1 | 02-28-2023 06:51 AM | |
1 | 02-27-2023 01:25 AM | |
1 | 08-17-2021 03:11 AM |
Online Status |
Offline
|
Date Last Visited |
02-28-2024
12:04 AM
|