In search of Doctor Who (travels with ArcGIS server, episode 4)


In the prior episodes we have been staying mostly within the safe and familiar corner of the universe called ArcGIS, we have ventured tentatively forth using OGC KML which may have been maintained by some alien technology.  We have relied on many other technologies which we find pervasive throughout our travels such as HTTP, HTTPS and digital certificates.  To get this far you may have needed to tinker yourself or call for help as some of this pervasive technology sits at the edge of the ArcGIS universe, but as our universe expands it will become more familiar.

We will now tentatively search with Geoportal Server. Sounds like a parallel universe perhaps, with similar sounding naming of Portal and Server, if so it is time for disambiguation.

If you want to have a play with the big Portal for ArcGIS in the sky there is obviously ArcGIS Online, your Organisation may have already rented a tenancy there in the cloud.

Geoportal Server has a public site to play with http://gptogc.esri.com/geoportal with some federated content servers already configured.  The kinds of text searches you can use are fairly sophisticated.

Geoportal search for Dr Who

Geoportal search for Dr Who

ArcGIS Online open Doctor Who Locations

ArcGIS Online open Doctor Who Locations

Doctor Who locations copied from ArcGIS online

Doctor Who locations copied from ArcGIS online

So you can see that Doctor Who is far more likely to be found via YouTube than some other places.  Geoportal has been available for a long time, and is a way of managing and searching  catalog(s) of things via metadata (data about data) as a service broker.  YouTube also is a bit like that but it also stores content.  ArcGIS Online started as a way of cataloging and optionally storing data with added security, Esri then added the following to this “Content Management System”; hosted services, organisations (being able to rent a tenancy and pay for some more costly additional services used, where your Esri Global Account can be used to authenticate to one named user of one ArcGIS Online Organisation), more data and now some new clients applications and GIS functionality.  Portal for ArcGIS is a subset of ArcGIS Online functionality but served just for and by yourselves,  all the clients applications that work for ArcGIS Online also work with Portal for ArcGIS as they share the same ArcGIS Portal API.

How

Assuming you want to set up and administer your own Geoportal Server for testing here are some hints, particularly related to getting some basic digital certificates working.  ArcGIS for Server comes with its own self signed certificate, and if you are installing a Web Adaptor using IIS then binding your Web Adaptor to use an IIS self signed certificate is straight forward.  However most Geoportal Server are configured to use the free Apache Tomcat web server which will not talk to HTTPS sites without some additional tinkering.

Disclaimer: Support for HTTPS and other such very environment specific aspects of server administration are not necessarily covered by Esri’s or Esri Distributor’s server support staff as part of any maintenance agreements.  Your IT staff should be supporting your server security needs.

The most recent version of Geoportal Server is available from here, and also a tutorial.

If the Geoportal Server needs to communicate with other servers (such as Portal for ArcGIS) via HTTPS then the following seems to be the minimum additional configuration.

  • At a command prompt where you have changed directory to the server’s Java SDK bin folder, keystore password is “changeit”;

keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit

Create keystore

Create keystore

  • Move the .keystore file this created from C:\users\<username> to C:\
  • Edit (for example via Notepad run as Administrator) the Apache Tomcat server.xml file, in my case this is found at;

C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf

and uncomment and alter the element for Connector port=”8443″ by adding attributes keystoreFile and keystorePass.

Edit Apache Tomcat server xml

Configuring Apache Tomcat HTTPS keystore

  • Restart the Apache Tomcat service.
  • Obtain certificate of your portal – open your portal, once the page displays, right click on the symbol of the ‘lock’ in the address bar, choose ‘Certificate Information’. In a tab ‘Details’ there is a  ‘Copy to File’ option which initiates certificate export wizard. Select DER format and give some meaningful file name and click OK.
Chrome Connection Certificate information

Chrome Connection Certificate information

Chrome Connection Certificate export

Chrome Connection Certificate export

Chrome Connection Certificate export file format

Chrome Connection Certificate export file format

The Next step is to save the .cer file, eg to;

C:\https_ps-dev-bne-port_portal_home.cer

on the server.

  • Then add this to the certificate store using the keystore password “changeit” again and if asked “yes” you want to trust this certificate.

C:\Program Files\Jave\jre7\bin>keytool -import -keystore “C:\Program Files\Java\jre7\lib\security\cacerts” -alias “https_ps-dev-bne-port_portal_home” -file “C:\https_ps-dev-bne-port_portal_home.cer”

So now within our box we have three of Esri’s server technologies running and able to talk securely.

Continuing the search using Geoportal Server

If you have installed Geoportal Server and the server is internet connected then it will already search ArcGIS Online.

Geoportal search ArcGIS Online

Geoportal Server search ArcGIS Online

This search was called a federated search as it sent the search request out to another server to perform and shows the results returned in the Geoportal browser application in a consistent format.

It is more typical that your Geoportal Server will be storing local copies of metadata (but not the data sets themselves).  These local copies can be managed by a publisher or administrator.  There are a few ways to add metadata, as well as using generic ArcGIS Desktop add-ons to search or edit.

Geoportal Server adding metadata

Adding metadata via Geoportal Server site

There are a lot of options as far as accessing metadata via different protocol types (including with a bit of extra work anything stored in XML) and how the metadata is sourced and updated.

Geoportal Server Register Resource ArcGIS Server

Geoportal Server Register Resource ArcGIS Server

Geoportal Server Register Resource ArcGIS Server other options

Geoportal Server Register Resource ArcGIS Server other options

Now there is an extra step required to change the status from Posted to Approved, although there is a setting to allow auto approving by default.

Geoportal Server Posted resource

Geoportal Server Posted resource

Geoportal Server Set as Approved

Geoportal Server Set as Approved

Once it has been approved we can synchronise the resource from the ArcGIS Server to the Geoportal Server and Show documents acquired from this repository.

Geoportal Server Synchronise Content

Geoportal Server Synchronise Content

Geoportal Server documents aquired via synchronisation

Geoportal Server documents aquired via synchronisation

And back to the search we go, both from Geoportal and the CSW Client for ArcGIS (CSW = OGC Catalogue Service).

Geoportal Server documents searching this site

Geoportal Server documents searching this site

CSW Client for ArcGIS

CSW Client for ArcGIS

There are also geoportal search widgets for flex, silverlight, and HTML.

Geoportal can also be used to transfer items from one Portal to another via the AGP-TO-AGP Harvesting option.  Currently you cannot harvest to ArcGIS Online, but you could take a clone of a Doctor Who item from the cloud and store it locally.  This is an option for backing up items for a user or a group in ArcGIS Online, even it it can’t currently be restored.

Copy item from ArcGIS Online to Portal

Copy item from ArcGIS Online to Portal

Proof that I have cloned the Doctor.

Dr Who to Portal

Dr Who from ArcGIS Online

Note that to set up the AGP-TO-AGP resource took a bit of extra tinkering as I needed the Destination Portal Host name had to end in /portal which is not allowed by the regular expression match in Geoportal. So I had to climb under the TARDIS console and update the record in the Geoportal database table geoportal.GPT_RESOURCE column PROTOCOL and append /portal to the end of the <dest-h> element.

Will B

tom_baker

Got something to say?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s