In this series of blogs we will explore some ArcGIS server functionality. The first four episodes cover;
- Using interoperability and Portal for ArcGIS
- Federating an ArcGIS Server site with Portal
- Using a Portal hosted server
- Configuring and using Geoportal Server
To set the scene we are going to use a box (server) which is a lot bigger on the inside that what it initially seems. This server has the following installed initially;
- ArcGIS for Desktop 10.2 with ArcGIS Data Interoperability for Desktop
- ArcGIS for Server 10.2 with ArcGIS Data Interoperability for Server
- Portal for ArcGIS 10.2
- Geoportal Server 1.2.4
We start by taking off from those that have gone before and have located a source of his travels from Doctor Who locations which have kindly provided a place to start via a KML file, this is an open XML format now looked after by OGC which is http://www.doctorwholocations.net/downloads/format?type=kml. As the Doctor gets around a bit we initially are not going to serve up a copy of his locations but reference the original.
Not Who but How
ArcGIS Data Interoperability for Desktop was used to define the KML URL, drag the feature classes onto the Table of Contents, turn off those layers without any features, and add a Basemap to regrettably discover that only locations on the surface of our Earth have been stored.
The interoperability parameters are stored in an fdl file at C:\Users\\AppData\Roaming\Safe Software\Interoperability\ called “Dr Who OGCKML.fdl”. I created a new folder C:\arcgisserverdata and share \\<server>\arcgisserverdata and put a copy of the fdl file in there, then edited permissions on this folder to allow the account for use by ArcGIS for Server (local account .\arcgis in my case) access to read files in this folder so it also could read this and access the points in the external KML. I created a new Blank Map ArcMap document and new Catalog folder connection to the share with the fdl file then added the Placemark Point from the fdl file to the Table of Contents, save the MXD and we are ready for Sharing the Service.
Note that we cannot share as a service while there is a Basemap in the Table of Contents due to “Some layer types, such as map services, cannot be published as a layer in a map service”. This recent restriction may be due to a risk of “cracks in the fabric of time and space” due to recursion etc.
Now we are ready to share this as a service.
We already have an admin connection to our ArcGIS Server using a fully qualified server name, which will be mentioned in a later episode, no ArcGIS Server key (token) will do as our ArcGIS for Server is federated with Portal for ArcGIS.
We add a new service called WhereIsDrWho to the server’s ArcGIS Server, expect to see a warning about Registering the data source assuming that you have not disabled automatic data copying when publishing to the server.
If you can it is best to register data sources so you do not get stuck in time with static copies of your data. In this case the folder C:\arcgisserverdata gets registered with the server before publishing, with a Publisher Folder Path of \\<server>\arcgisserverdata and a Server Folder Path of C:\arcgisserverdata. The Server Folder Path need not be the Same as publisher folder path, especially if the ArcMap being used for publishing is not being run from the server.
And the final twist is giving permissions to the map service which has been federated with Portal.
Taking the box for a spin
Here is the map service shown in ArcGIS Desktop via a user connection without authentication.
And metadata can also be retrieved, in this case it is information I have saved on my server about data that someone else looks after about something that may not be ephemeral.