With Adobe’s announcement of discontinuing support for Flash on mobile device browsers, industry rumors on the lifespan of Silverlight, and the growing future of HTML5, many users have asked for Esri’s perspective on this news.
Esri continues to fully support four distinct patterns of application development:
- JavaScript / HTML5
- Silverlight
- Flex
- Native device applications
We’re committed to providing the best technology for GIS developers and giving choices from the most widely used developer platforms in the market. By offering many options, we enable developers to address different customer needs and expectations. Our commitment is not based on a specific technology, but based on supporting the GIS developer regardless of the platform chosen. Each of these areas: JavaScript/HTML 5, Flex, Silverlight, and native application code, gain significant improvements in the upcoming ArcGIS 10.1 release.
We have been supporting HTML5 developers through the ArcGIS API for JavaScript for some time. HTML5 is leveraged internally by the API when supported by the browser. The ArcGIS API for JavaScript documentation includes a broad variety of developer examples using HTML5. Our agenda for supporting HTML5 developers will continue to be aggressive.
Adobe recently announced the discontinuation of support for Flash Player in mobile device browsers, however there is continuing commitment and development for Flash Player for browsers on desktops. In addition, Adobe is directing mobile developers to write native applications using authoring tools such as Flash Builder and AIR, and replace Flash-based web mobile browser applications with HTML5-based applications. Adobe is evolving its developer offerings to match this vision, and Esri’s ArcGIS API for Flex will continue to closely match them with upcoming releases. Outside the mobile space, Adobe continues playing a major role. We’re committed to supporting Flash/Flex for the foreseeable future as many of our customers have successful deployments using it.
EDIT: Adobe has released more information to clarify their recent announcement:
- Adobe’s strategic transformation and the Flash platform
- Adobe announces important changes to Flex SDK
Some have asked about Silverlight support as well, given the various industry rumors on its lifespan. We work closely with Microsoft and will continue to support and advance this platform as demanded by our users. Several product updates and new releases based on Silverlight are scheduled for the upcoming months, including our ArcGIS API for Silverlight, ArcGIS Viewer for Silverlight, ArcGIS for Windows Phone, and ArcGIS for SharePoint. We’re committed to providing the Microsoft developer with the best GIS tools, and our offerings will closely match the latest trends promoted by Microsoft.
In addition, we are aggressively adding to our native application support by providing the new ArcGIS Runtime on multiple platforms. This technology will enable developers to leverage the native capabilities of various platforms and devices, and is supported across desktops (Windows and Linux), and mobile and tablet devices (Android, iOS, Windows Phone, and Windows Mobile).
Esri has always focused on computing and development platforms that are viable and demanded by our customers, and that focus has not changed. We have strong strategic alliances with organizations like Microsoft, Adobe, W3C, and others to ensure we are technically aligned and participating in the future directions of technology. This keeps our GIS offerings relevant in the fast-paced world of platforms, devices, and technologies.
Contributed by the Esri Product Management team
This script is going to be such a huge help but I am running into an error when I run the script as coped: it says that: name “GetParameter” is not defined. Is it because I am running ArcGIS Pro 2.4 perhaps? Thanks!
Hi Carissa,
This article discusses creating a script tool in ArcGIS Pro 2.8. For best results, please consider upgrading to the latest ArcGIS Pro version.
Best,
Jonah
Anyone try this? I can’t get the Time Zone to set correctly. After publishing, the feature service reflects UTC for our data’s date fields even though I set the “timezone” parameter to “Pacific Standard Time”.
Hi there,
I have created the publish web feature layer, but the input is “map”. What I want to select and publish is a “layer” in the content pane. Could you please tell me how to solve the problem? Thanks in advance.
Best
Leo
Hi Leo, please see this code sample: https://pro.arcgis.com/en/pro-app/latest/arcpy/sharing/featuresharingdraft-class.htm#GUID-8E27A3ED-A705-4ACF-8C7D-AA861327AD26
Hi Jonah, you sent me to this blog from another post last week (thank you!) and I’ve been working through the above and have come across the same problem as Leo. I’ve had a look at the code sample you supplied, is there a way to create a script tool using that code or does it need to be run as a standalone Python script? Or is there a way to alter the code for this blog to look at features rather than map files? Many thanks in advance
Hi James,
The code provided in this blog should be able to be modified with the sample code provided in the FeatureSharingDraft help topic. You’ll need to modify the script tool (code and script tool parameters). If you run into issues, I recommend posting in Esri Community or reaching out to Technical Support.
Best,
Jonah
This is great but I can only get it to work if I leave share_groups blank or just use one group name. Otherwise I get 0x800 “This value is not a member of” Any ideas? I’m separating group names with commas. I’m running ArcGIS Pro 2.9.
Hi Robert,
Good question. Since you have multiple groups, you will need to modify the share_groups parameter to accept multiple values. To do this, check the Multiple values check box when specifying the Parameter Data Type.
Best,
Jonah
That was all I needed, thanks.
Thank you very much for posting this! Is there a way to set the Portal connection where the data will publish to? It looks like it defaults to whatever Portal you are/were signed in to last. I have several Portal/ArcGIS Online connections in Pro but would like to specify which one it publishes too. I plan on setting this up as a scheduled task so I need to make sure it publishes to the right Portal. Thank you!
Hi Nicholas,
Yes, you can use the SignInToPortal ArcPy function: https://pro.arcgis.com/en/pro-app/latest/arcpy/functions/signintoportal.htm
Best,
Jonah
Thank you for posting this article. I am having an issue with seeing my Portal connection in the output folder though. Is there a workaround for this? If I add the SignInToPortal ArcPy function, will this allow me to view the Portal Connection in my output folder?
Hello, I implemented this script tool and generally it works well. We do have a weird issue where if we try to use it to overwrite an existing hosted table, it works, but converts the item to a hosted feature layer. We need these items to persist in AGO as hosted tables. Any thought to adding a parameter to tell it to overwrite as a table rather than a service? or choose no geometry type? thanks!
I’ve downloaded and used the model as it is used in the demonstration map and it uploaded the layer directly to my AGOL content pane, however, when I attempt to run the Publish Web Feature Layer in my own map, the tool runs for a very extended period of time seemingly without end. Is there an option I should be selecting that is different? I selected to run the tool exactly how I had it in the demo as well.
I’ve downloaded the script and got the Model working with one exception, I have a date field and I can’t get it to publish in Eastern Time Zone. What should I be putting in the Time zone parameter? I’ve tried EDT and Eastern_Daylight_Time, but the date field in the web layer is showing UTC. As a side note, when I query the AGOL rest the date field is in EDT.
Thank
Steve
Hi Steve,
If you try “Eastern Standard Time”, I think it should work.
Best,
Jonah
I’ve tried running this script but I get a traceback error to lines 30, 68, and 122 and a ValueError: Missing target server. I copied the script over directly and used the correct inputs/configurations, so I’m not sure what the issue is. Any ideas?
I have successfully run this script within a model in a project, but I have not yet had success running it as a scheduled task. Here’s the error that I see in the log after attempting to run it as a scheduled task:
I have checked and re-checked the script and parameters, but all appears to be set up correctly.
@Michael Olkin did you ever fix this issue? I am experiencing the same thing. I can run the model fine and it publishes but when I schedule it I get this same error. @Jonah Lay Thank you!
Hello Jonah,
Thanks for sharing this script, it’s still “golding” to me. I have adapted it and tried to set the time zone to Eastern Standard Time or ET,EST and all the ways I can imagine the eastern standard time; yet, the time aware data after publishing still shows UTC time values. I have read others comments on the same issue. Are you able to look into that or any other work around. I really appreciate the effort put in.
Thanks,
Amin
Hi Amin, Good question. If you set “Eastern Standard Time”, it should work. Choosing EST means you are saying your data is stored in EST prior to publishing. If you see that time values appear in UTC, this is expected because the data is converted to and stored in UTC in the database. In Pro 3.1, we added support for “Preferred time zone for display”. A preferred time zone ensures that ArcGIS Pro displays data in the time zone of your choice when working with the web layer in the application. I don’t currently have any sample codes for setting… Read more »
Thanks Jonah, it worked at last. Any thought on overwriting a stand alone hosted feature layer in AGOL? This did not set the time zone but the feature was overwritten when I tried on a hosted feature layer not in a web map.
Dear Jonah,
Thanks for this great and absolutely useful tutorial!
I have a model which ends with a feature layer as output. How can I connect my model with the model in your tutorial to publish (only) my output feature to AGOL?
Thanks in advance!
Carlos
Hi Carlos,
You will need to modify the code to publish a layer rather than the map. Please see this sample code: https://pro.arcgis.com/en/pro-app/latest/arcpy/sharing/featuresharingdraft-class.htm#GUID-8E27A3ED-A705-4ACF-8C7D-AA861327AD26
Dear Jonah, Thank you. This is an excellent article. I’m having some difficulty publishing a single feature via a model I’ve created. I’ve modified the code to select my layer with “selected_layer = m.listLayers()[0]” and provided this variable within a list as a parameter in the m.getWebLayerSharingDraft() function however I am getting the error: Error 001272: Analzer errors were encountered ([{"code":"00102", "message":"Selected layer does not contain a required layer type for web feature layer", "object":"Map"}]). I can manually publish the layer to AGOL without any analyser errors though. Can you offer any insight as to why this is happening? Thanks… Read more »
Jonah,
This is a great tool and I am hoping to use it with some of our data. I have one question…How would the code be modified to overwrite a layer with attachments? The steps in the model work fine to add the attachments to the feature class, but I’m having trouble trying to overwrite the AGO layer with the updated attachments. Any help would be greatly appreciated. Thanks