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.
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.
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.
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.
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
- 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.
- 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.
The Next step is to save the .cer file, eg to;
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.
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.
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.
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.
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.
And back to the search we go, both from Geoportal and the CSW Client for ArcGIS (CSW = OGC Catalogue Service).
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.
Proof that I have cloned the Doctor.
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.