Rapport i-Bridge Live Viewer timebox 4
Versie 1.0
Datum Status
22 December 2010 Final
i-Bridge Live Viewer timebox 4| 22 December 2010
Colofon
IVENT A&A CDC Madame Curielaan 4-6 Postbus 20703 2289 CA Rijswijk Contactpersoon
Patrick Brooijmans Teamleider Functionele Integratie M +31 6 51313575
[email protected]
Versie Opdrachtgever Auteur(s) Projecten
1.0 i-Bridge2.0 Geodan i-Bridge2.0
Pagina 2 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
Inhoud Colofon ............................................................................................................2 1 De webclient .............................................................................................4 1.1 Wat is nieuw in Timebox 4 t.o.v. Timebox 3 ............................................. 4 1.2 Systeem beschrijving ............................................................................ 5 1.3 Applicatie configuratie ........................................................................... 6 1.4 Scherm indeling .................................................................................... 7 1.5 Titelbalk............................................................................................... 7 1.6 Tekstbeelden ........................................................................................ 8 1.7 Logboekregels ...................................................................................... 8 1.8 Menubalk ........................................................................................... 11 1.9 Kaartlagen overzicht............................................................................ 11 1.10 Incident details ................................................................................... 12 1.11 Plaats zoeker ...................................................................................... 13 1.12 Beheerder tools .................................................................................. 14 1.13 Historie slider ..................................................................................... 16 1.14 Overzichtskaart .................................................................................. 17 1.15 Vergrootglas....................................................................................... 17 2 Installatie handleiding ............................................................................19 2.1 Installation folder ................................................................................ 19 2.2 Installation requirements ..................................................................... 19 2.3 Prerequisite user knowledge ................................................................. 20 2.4 Prerequisite software installation........................................................... 20 2.5 Architecture and security ..................................................................... 21 2.6 Author Map documents ........................................................................ 23 2.7 Add ArcGIS Server instance ................................................................. 25 2.8 ArcCatalog GIS Servers connections ...................................................... 26 2.9 Create Geometry service and Map service in ArcGIS instance ................... 26 2.10 Create Map services in ArcGISSecure instance ........................................ 27 2.11 ArcGIS Server security ........................................................................ 28 2.12 Security settings for ArcGIS instance ..................................................... 28 2.13 Security settings for ArcGISSecure instance ........................................... 29 2.14 Create Applications in IIS ..................................................................... 31 2.15 Install Web applications ....................................................................... 31 2.16 ClientAccessPolicy and CrossDomain ..................................................... 31 2.17 Authentication in IIS ........................................................................... 31 2.18 Edit the Web.config files ...................................................................... 32 2.19 Enable security for ArcGIS Server ......................................................... 33 2.20 HTTPS ............................................................................................... 34
Pagina 3 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1
1.1
De webclient
Wat is nieuw in Timebox 4 t.o.v. Timebox 3
Config file In de web.config file van de applicatie is veel gewijzigd. Er zijn meer instellingen door de applicatiebeheerder te wijzigen. Een overzicht van de instellingen volgt later. Logboek regels overzicht De LiveViewer kan nu ook de logboekregels van incidenten tonen. Logboek regels zijn opdrachten en antwoorden die door medewerkers worden toegevoegd aan een incident. Van iedere opdracht of antwoord wordt vermeld: Wie de opdracht of het antwoord heeft gemaakt Aan wie de opdracht is gegeven De tijd van aanmaken en antwoorden Het onderwerp van de opdracht Een beschrijving van de opdracht of antwoord Een indicatie of een opdracht of antwoord wordt vergezeld door een geometrie (een tekening) De logboekregels worden getoond in een lijst (treeview) op volgorde van aanmaak tijd. Door een opdracht “open te klappen” worden de antwoorden van die opdracht zichtbaar. Logboek regels toevoegen In het scherm met het overzicht van logboekregels zijn ook twee edit functies beschikbaar Een edit functie voor het toevoegen van een nieuwe opdracht. Een edit functie voor het toevoegen van een nieuw antwoord op een bestaande opdracht. Schermindeling De schermindeling is drastisch gewijzigd t.o.v TB3. De gebruiker kan nu kiezen uit 3 presentatie vormen: Alleen de kaart Alleen de logboekregels Een combinatie van kaart en logboekregels. o Deze layout is nodig wanneer een logboekregel wordt opgevoerd waarbij ook een tekening hoort. Immers, tekenen van incidentobjecten gebeurt in de kaart. Historie slider Een historie slider staat toe om in door de gebruiker te specificeren tijdsintervallen de historie van een incident weer te geven Hiermee kan eenvoudig de “opbouw” van een incident in de kaart worden weergegeven. Renderen van incident objecten De tomebox4 release van de LiveViewer maakt gebruik van de laatste versie van ArcGIS Server 10. Daarin wordt de render informatie van incident objecten doorgegeven aan de client applicatie waardoor het tekenen van incident objecten geheel aan de client API kan worden overgelaten. De applicatie zelf behoeft geen enkele render logica meer. Achtergrond lagen In de config file kunnen basis kaartlagen worden ingesteld. Zo kan de applicatie beheerder eenvoudig meer of minder achtergrond kaarten aan de applicatie toevoegen.
Pagina 4 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.2
Belangrijk is wel dat de achtergrond lagen, in de vorm van map services, in het Web Mercator coördinatensysteem moet staan.
Systeem beschrijving LiveViewer Client
Webserver
ArcGIS Server MapServices
Web Applicatie
ArcMap Map documenten
Database server
EagleDB
Dit is een globaal overzicht van de architectuur van het systeem. De database bevat incident data die vanuit Groove in de database is gezet. De data wordt middels ArcGIS QueryLayers in een mapdocument gezet Het mapdocument wordt via ArcGIS Server gepubliceerd De LiveViewer consumeert de mapservices in de web applicatie client
HTTP Anonymous access
HTTPS
public site
secure site
Integrated windows authentication
ArcGIS Server public REST endpoint
secure REST endpoints
public.mxd
administrator.mxd member.mxd
Row level security enabled
De security van de applicatie en data wordt volgens bovenstaande architectuur gewaarborgd. Er is een zgn. publieke en een secure ingang naar de applicatie. Pagina 5 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
Publieke gebruikers krijgen alleen toegang tot gegevens die door een LiveViewer beheerder is vrijgegeven voor het publiek. De LiveViewer beheerder heeft tools om incident gegevens vrij te geven voor het publiek. Meer details over security zijn te vinden in het hoofdstuk Installatie handleiding.
1.3
Applicatie configuratie In de Web.Config file van de applicatie kan een web applicatie beheerder bepaalde instellingen wijzigen: De titel van de applicatie zoals die in de top banner verschijnt:
De taal voor de userinterface en meldingen kan worden ingesteld op Engels (en) of Nederlands (nl)
De initiele kaart extent waarin de applicatie de kaart toont:
Een mapping tussen windows rollen en gebruikers namen in de database. In principe zijn deze mappings statisch en hoeven alleen te worden gewijzigd indien de database een drastische wijziging ondergaat. Deze instellingen worden gemaakt door de leverancier en niet door de applicatie beheerder.
Nadat de applicatie is geïnstalleerd op een nieuwe server, moet ServerName worden aangepast.
Basis/achtergrond kaartlagen
De applicatiebeheerder kan een of meerdere achtergrond kaart lagen instellen. Hierboven staan enkele regels waaraan moet worden voldaan. Meer configuratie instellingen zijn te vinden in de Installatie handleiding.
Pagina 6 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.4
Scherm indeling
Aan de linkerkant van het browser scherm is de layout balk te zien met daarin de keuze knoppen voor de 3 verschillende vormen van schermlayout: Kaart Tekst Kaart en Tekst De complete scherm layout ziet er zo uit:
1.5
Linksboven het scherm met tekstbeelden Rechtsboven het scherm met logboekregels Midden onder de kaart met daarin de incident objecten van het huidig geselecteerde incident zichtbaar Titelbalk
Pagina 7 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
De titel balk bevat 3 onderdelen: Links de titel van de applicatie. Kan eventueel worden uitgebreid met een logo. In het midden een keuze lijst met incidenten voor het kiezen van een actief incident Rechts wordt de naam en rol van de ingelogde gebruiker getoond. Dit is alleen zichtbaar in de secure versie van de LiveViewer. Publieke gebruikers hoeven niet in te loggen.
1.6
Tekstbeelden
In het scherm tekstbeelden worden de tekstbeelden, behorend bij het gekozen incident, van verschillend type en tijd getoond. Linksboven is een keuzelijst met tekstbeeld typen Rechtboven een keuzelijst met tijdstippen van tekstbeelden van het gekozen type
1.7
Logboekregels
Pagina 8 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
Door op een logboekregel (opdracht) te klikken word teen eventueel bijbehorende tekening in de kaart automatisch geselecteerd. Dit wordt getoond met de kleur cyaan. Bij dubbel klikken op een logboekregel wordt de kaart gezoomd naar de extent van de geometrie in de betreffende logboekregel. Door op een element in de kaart te klikken wordt dat element geselecteerd in de kaart en bovendien in de lijst met logboekregels Een geselecteerde logboekregel verschijnt automatisch in het zichtbare bereik van de lijst met logboekregels. In de lijst met Members, aan de linker kant, staan de gebruikers die hebben bijgedragen aan het opgeven van logboekregels voor het geselecteerde incident. o In de kaart en in de lijst met logboekregels worden alleen die elementen getoond die behoren bij een gebruiker in de lijst met Members. o Door een gebruiker uit te vinken verdwijnen de bij die gebruiker behorende elementen uit de lijst met logboekregels en uit de kaart. Uiterst rechts in de lijst met logboekregels staat aangegeven of een logboekregel een geometrie bevat. o Ondoorzichtige wereldbol: er is geometrie aanwezig o Half doorzichtige wereldbol: er is wel geometrie aanwezig voor deze regel maar die is door een latere (nieuwere) actie op onzichtbaar gezet. o Geen wereldbol: er is nooit geometrie toegevoegd aan deze regel. Het gaat hier dan om een echte tekstregel waarbij nooit is getekend.
Knoppen voor het opvoeren van een nieuwe opdracht (assignment) en voor het opvoeren van een antwoord (action). Een antwoord is typisch een reactie op een opdracht.
Pagina 9 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
De linker knop is voor het opvoeren van een nieuwe opdracht De rechter knop is voor het opvoeren van een antwoord als reactie op een geselecteerde opdracht. o Deze knop is alleen actief indien eerst een logboekregel van het type “opdracht” is geselecteerd. o Selecteren kan zowel in de lijst met logboekregels of in de kaart worden gedaan. Hieronder, het scherm voor het opvoeren van een nieuwe opdracht. o Kies een onderwerp uit de keuzelijst. o Vul een beschrijving in (optioneel) o Indien de opdracht vergezeld dient te gaan met een tekening: Klik op een symbool in de lijst met kaartsymbolen (punt, lijn en vlak symbolen) In KaartLabel wordt initieel de naam van het symbool gezet. Dat kan worden aangepast. Teken vervolgens een punt, lijn of vlak (afhankelijk van gekozen symbool). Met een dubbelklik wordt het teken object afgesloten en getoond in de kaart. Zodra een object is getekend verschijnt links onderin een wereldbol symbool ter indicatie dat bij deze opdracht een tekening is gemaakt. Kies in de lijst “Aan:” de gebruikers aan wie de opdracht dient worden verstuurd. Klik op OK om de nieuwe opdracht in de database op te slaan. Na opslaan in de database wordt automatisch de lijst met logboekregels ververst. De nieuwe opdracht verschijnt onderaan in de lijst.
De procedure voor het maken van een antwoord op een opdracht is gelijk aan die voor het maken van een opdracht.
Pagina 10 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.8
Selecteer eerst een opdracht (in kaart of in lijst) Dan wordt de knop “Maak antwoord” actief. Het Onderwerp is gelijk aan aan het onderwerp van de opdracht en kan niet door de gebruiker worden gewijzigd. Vul een beschrijving in (optioneel) Kies optioneel om de geometrieën van de voorgaande antwoorden en opdracht onzichtbaar te maken. Kies optioneel voor een teken symbool en teken het object in de kaart Klik OK voor het opslaan in de database. Na het opslaan verschijnt het antwoord als laatste toevoeging in de geselecteerde opdracht in de lijst. Menubalk
De 4 meest linkse knoppen op de menubalk spreken voor zichzelf: Driehoek: meet een afstand en oppervlakte in de kaart Hand: reset de cursor naar hand om de kaart te kunnen verschuiven Pijl links: toon de vorige kaart extent Pijl rechts: toon de volgende kaart extent De overige knoppen worden hier onder beschreven. 1.9
Kaartlagen overzicht
Toon het overzicht met kaartlagen
Pagina 11 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.10
Een kaartlaag kan worden aan/uit gezet met de checkbox De transparantie van een kaartlaag kan worden ingesteld met de transparantie slider. De checkbox Verversen staat default aan. Dat zorgt er voor dat de LiveViewer automatisch (iedere 30 seconden zoals aangegeven in de web.config) in de database gaat controleren of er wijzigingen zijn ten opzichte van de vorige controle. o Het detecteren van wijzigingen in de database wordt ook wel “Refresh” genoemd. o Alleen als de refresh heeft vastgesteld dat er wijzigingen in de database zijn, worden de betreffende incident objecten uit de database opgehaald. o Door de checkbox Verversen uit te zetten, wordt de automatische refresh uitgezet. Wijzigingen in de database worden dan niet aan de LiveViewer doorgegeven. o Naast de knop Verversen is een “Forceer Refresh” knop. Die forceert een refresh zonder te wachten op de automatische refresh die om de zoveel seconden plaats vind. Incident details
Deze knop (met icoon ladenkast) toont de lijst met incident details.
Pagina 12 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.11
In de lijst worden incident objecten getoond per kaartlaag Door een kaartlaag te openen worden de incident objecten van die laag getoond Door met de muis over een incident object te schuiven word bijbehorend object in de kaart in de selectiekleur (cyaan) getoond. Door op een incident object in de lijst te klikken wordt de kaart gezoomd naar het geselecteerde object. Door AutoPan aan te zetten verschuift de kaart automatisch naar het incident object waar de muis overheen beweegt.
Plaats zoeker
Toon de plaats zoeker
Pagina 13 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.12
Geef een adres string op. Bijv. volgens bovenstaand voorbeeld. Plaatsnaam en straatnaam gescheiden door “,”. Klik op Zoek Indien een resultaat is gevonden wordt een vlaggetje geplaatst in de kaart en wordt de kaart gezoomed naar de gevonden locatie. Bij het afsluiten van het Geocoder scherm worden de gevonden locatie vlaggetjes weer verwijderd van de kaart.
Beheerder tools
Toont het menu met beheerder tools
Alleen de LiveViewer beheerder (ingelogged als een gebruiker met de rol CmsAdministrators) krijgt de knop met de beheerder tools te zien. Beheerdertools bestaan uit 2 functies: Toekennen toegangsrechten Toon toegangsrechten
Pagina 14 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
Alle incident data die wordt toegevoegd aan de database krijgt default een toegangsrecht van “cmsmember”. Dat betekent dat alleen gebruikers in de rol CmsMembers die data kunnen zien of bewerken. Een beheerder kan het toegangsrecht van incident data wijzigen. Ieder incident object afzonderlijk heeft zijn eigen toegangsrecht. Met de functie Toekennen toegangsrechten kunnen de rechten van individuele objecten worden gewijzigd. Werkwijze: Selecteer eerst een gewenst toegangsniveau (cmspublic, cmsmember of cmsadmin). Om data zichtbaar te maken voor het publiek, kies dan cmspublic. Initieel zal de tool al voor cmspublic kiezen en automatisch in het incident de objecten proberen te vinden die nog niet aan cmspublic zijn toegekend. De gebruiker kan dit ook zelf doen met de knop Automatisch->Kandidaten. Een andere optie is om alle incident objecten in het actieve incident te selecteren. Doe dat met de knop Automatisch->Alle Het aantal geselecteerde objecten wordt getoond in het scherm. Als dit niet wordt getoond dan is er niets geselecteerd. Naast het automatisch selecteren (kandidaten of alle) kunnen objecten ook interactief worden geselecteerd in de kaart. Daarvoor zijn een aantal knoppen beschikbaar: o Maak een nieuwe selectie o Voeg objecten toe aan selectie o Verwijder objecten uit selectie o Verwijder alle objecten uit selectie Selecteren gebeurt via het tekenen (trekken) van een rechthoek in de kaart. Indien het incident tekstbeelden bevat dan worden die per type getoond in de lijst met teksttypes. Initieel worden alle types geselecteerd. De gebruiker kan teksttypes aan/uit zetten. Na klikken op Opslaan worden de gewenste wijzigingen voor toegangsrecht voor de geselecteerde objecten doorgevoerd in de database.
Pagina 15 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
De tool Toon toegangsrechten toont een overzicht van aantallen objecten per incident met hun bijbehorende toegangsrecht. In bovenstaand voorbeeld staat te lezen dat er maar 1 incident is met de naam “Mijn eerste incident” en dat er in totaal 39 objecten in zitten waarvan er 38 zijn toegekend aan public en 1 aan member. De kleur van de regels in de lijst hebben de volgende betekenis: Rood: er is geen enkel object in het incident toegekend aan public. Oranje: sommige objecten in het incident zijn toegekend aan public Groen: alle objecten in het incident zijn toegekend aan public 1.13
Historie slider
Toon historie slider
Zodra de historie slider wordt getoond dan verdwijnen de oorspronkelijke incident object lagen uit de kaart en worden de historische lagen zichtbaar in de kaart. De historie slider bevat de volgende details: Het onderste element in de historie slider noemen we de “Time Slider”. Dir is de lange horizontale schuifbalk met de streepjes verdeling (tijd stappen). Uiterst links de start tijd voor de slider en rechts de eindtijd. Die wordt automatisch berekend bij het tonen van de historie slider. De start- en eindtijd wordt berekend aan de hand van de tijdsextent in de historie incident objecten. De gebruiker kan de begin- en eindtijd zelf instellen m.b.v. de datetime controls vlak naast de begin- eindtijden. In de keuzelijst “Mode” kan worden gekozen hoe de time slider zich moet gedragen: o Toon cumulatieve objecten in de tijd o Toon alleen objecten voor een discreet tijdstip o Toon objecten die vallen binnen een tijds range. De stapgrootte voor de timeslider kan worden ingesteld bij “Step”. De initiele waarde wordt automatisch berekend bij opstarten van de historie slider. De gebruiker kan de step grootte aanpassen. Onderdeel van de Step is ook de eenheid van Step: o Dagen o Uren o Minuten o Let op: de gebruiker kan een combinatie kiezen van step en eenheid die de time slider erg langzaam kan maken. Bijv. Over een totale tijdsextent van vele dagen, een step kiezen van 1 minuut. Dat zorgt ervoor dat het aantal streepjes (tijd stappen) enorm kan toenemen. De Speed instelling (in seconden) is de snelheid waarmee de time slider animatie door de tijd stappen loopt. De time slider kan op 2 manieren worden gebruikt: o Klik op de uiterst linker Play knop. De time slider gaat dan automatisch door de tijdstappen heen. o Schuif de slider thumb expliciet met de muis naar een gewenste waarde.
Pagina 16 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
1.14
Overzichtskaart
Toon de overzichtskaart
1.15
Vergrootglas
Toon het vergrootglas
Pagina 17 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
Pagina 18 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
2
Installatie handleiding
2.1
Installation folder
Copy the installation folder LiveViewerInstall from the installation media to your webserver. The installation folder contains these files and folders.:
The Application folder contains the files for the LiveViewer webclient application.
The Mxd folder contains ArcGIS Map documents and a helper program in the form of an ArcMap AddIn. Furthermore this folder has a truetype textfont file which must be installed on the server machine.
2.2
Installation requirements
The Liveviewer stack of software components requires the following items to be present on the application server:
-
Windows Server 2008 R2 Standard Internet Information Services (IIS 7.0) role with all sub-roles enabled ArcGIS Server 10 SP1 ArcGIS Desktop 10 SP1. o You need ArcGIS Desktop to author the mapdocuments and publish the mapservices. If you do not install ArcGIS Desktop on the webserver then you can use any ArcGIS Desktop installation on a client machine. The mapdocuments will then be prepared on a client machine and Pagina 19 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
-
2.3
afterwards copied to the server. Publishing mapservices on the server can be done using ArcGIS Server Manager. This way of preparing the mapdocuments and publishing the mapservices will work but it takes a bit more discipline and patience compared to using ArcGIS desktop on the server. A SQLServer instance with an Eagle database installed. The Eagle database instance can be installed on any other server in the domain or it can be installed on the same server as ArcGIS Server. Prerequisite user knowledge
The user that installs the LiveViewer software components must be familiar with the following products.
2.4
Experienced in using ArcGIS Desktop and ArcGIS Server. Especially experienced with matters like applying symbology to ArcGIS map layers and publishing mapservices. Some knowledge of IIS Manager and assigning IIS authentication modes. Use of SQLServer Management Studio Prerequisite software installation
There is some extra prerequisite software that need to be installed before you can continue with the actual installation of the LIveViewer components. The installs for these prerequisites can be found in the LiveViewerInstall folder.
-
-
-
-
SQLServer Express o Install an instance of SQLServer Express on the webserver (needed for RiaServices authentication service and for ArcGIS Server authentication). Start the installation from SQLEXPRWT_x86_ENU.exe. In the installation wizard use all defaults and name the instance SQLEXPRESS. DotNet 4.0 o The RIAServices require .NET 4.0. Install .NET 4.0 by starting the dotNetFx40_Full_setup.exe. RiaServices 1.0 o Note: DotNet4.0 must be installed before you can install RiaServices. o Install RiaServices for Silverlight 4 on the server. Follow these steps: Open a commandprompt window Change directory to the LiveViewerInstall folder. Issue this command: msiexec /i RiaServices.msi SERVER=TRUE IIS Settings o Start IIS Manager and go to Application Pools o Change the .NET Framework Version for the DefaultAppPool to v4.0 o Change the identity of the DefaultAppPool to LocalSystem o The result should look like this:
Pagina 20 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
o 2.5
Architecture and security
The following figure shows the security mechanism for the I-Bridge/CMS system stack. The stack is basically split in 2 lines. One line for public (unsecure) access. And one line for secure access. Notice that the public line has no security implemented at all. Anybody on the internet can just go to the public web application and see all data. Even if a smart internet user would be able to retrieve data through the public REST endpoint of this line, there is no harm in doing this. The fact that we don’t need to secure and can open up the public line like this is because the underlying database is securely protected with a so called Row Level Security (RLS) mechanism. This mechanism sees to it that the database will only allow access to rows in tables that are explicitly granted to particular database users.
client
HTTP Anonymous access
HTTPS
public site
secure site
Integrated windows authentication
ArcGIS Server public REST endpoint
secure REST endpoints
public.mxd
administrator.mxd member.mxd
Row level security enabled There are 3 types of users specified in the RLS system:
-
Administrator (cmsadmin)
Pagina 21 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
-
-
o This user has the highest RLS rights. He can read and write all data rows in all tables. He can also assign RLS access rights to other users. All data that enters the database can initially only be accessed by an administrator user. Member (cmsmember) o This user can read (but not write) the same data as an administrator but cannot change RLS access rights. Public (cmspublic) o Can only read rows in tables that were explicitly granted to this user by an administrator.
The implementation of RLS is not discussed here in detail. We will focus here on the steps for implementing security in the ArcGIS Server tier and the Web tier of the system. Overview of steps to follow:
-
-
-
-
-
-
Author map documents (mxd’s) using ArcMap. In the database connection of each map document you need to specify a user name representing a login in the database. That user name specifies the RLS role in the database. Depending on that RLS role, the map document will only show CMS objects that were granted to that user. There will be 4 different map documents: cmspublic, cmsmember, cmsadmin and cmshistory. The cmshistory map document uses the cmsadmin user to connect to the database. So, incident history can only be viewed by cmsadmin users. Add an ArcGIS Server instance. We need to implement different types of authentication and security settings. The public line will use Anonymous authentication on the Web tier while the secure line will use Integrated Windows Authentication. By default an ArcGIS Server instance can only handle 1 type of security setting. So, we need to add an extra ArcGIS Server instance to accommodate the security requirements. ArcGIS Server security. ArcGIS Server publishes its data through URL’s that are freely accessible by the public. F.e. the web client application makes heavily use of these URL’s. For the secure line we must see to it that only authenticated users can access those URL’s Create 2 web applications. The public application will use anonymous authentication and the secure application will use Windows authentication. The web.config for each application will only differ in the one line that specifies the authentication mode. Enable HTTPS for the secure line. To prevent the data to be inspected while it travels over the internet/intranet, the secure REST endpoints and the secure web application can use HTTPS. Enable ArcGIS Server security. Finally you must enable ArcGIS Server to work securely. That is, it will check if users are actually allowed to make use of services that they they try to use. Make sure that you apply this step at the very
Pagina 22 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
last moment when you are sure that the security settings for both ArcGIS Server instances are correctly implemented. 2.6
Author Map documents
As described in the previous chapter, we need four ArcGIS map documents. In the folder LiveViewerInstall\Mxd you will find four template map documents. The sources of the layers in these mxd’s need to be set to the correct data sources of your database. The mxd’s make use of so called querylayers. To change the sources of all the querylayers in the mxd’s you will use a specially made tool that updates the sources of the querylayers.
-
-
Install the CCS.ttf file on the server by dragging and dropping the file CCS.ttf into the folder c:\\wondows\fonts. Install the tool to update the querylayer sources o In the LiveViewerInstall folder, double click on the file CreateEagleLayers.esriAddIn o Accept the security question and answer OK o Start ArcMap and in the menubar select Customize Customize Mode Select the tab Commands Select the category Add-In Controls Drag the Create Eagle Query-layers command to some place on a toolbar Result looks like this: an icon with the image of an eagle. Use the tool CreateEagleLayers to update querylayer sources o Before you continue with this step, you should collect the usernames and passwords for the mxd connection users and also the names of the sqlserver instance and database name. You should obtain that information from the person that installed the eagle database. o In ArcMap open cmsadmin.mxd. You will notice that the layer sources are unknown which is indicated with red !-marks before the layer names. The layer sources must now be corrected so that they refer to tables/views in your new database. o Click on the button o The CreateEagleLayers tool pops up with this form:
Pagina 23 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
o o Fill out the required fields: Server: \ Database: Schema: arcgis User: cmsadmin Password: Check the option All Layers VERY IMPORTANT: select Options Update data sources Click OK o The layer sources in the current map document will now be changed to the correct data sources in your database. o Save the mapdocument in the same location from where you opened it Save As: cmsadmin.mxd o You have just changed the layer sources for the map document cmsadmin.mxd. Now you need to do the exact same thing for the map documents cmsmember.mxd (user=cmsmember) cmspublic.mxd (user=cmspublic) o Make sure you use the correct usernames and passwords. They differ for each map document ! o Make sure to save the mxd’s after you used the CreateEagleLayers tool.
Pagina 24 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
-
After having changed the layer sources in cmsadmin, cmsmember and cmspublic, there is one more map document to handle. That is cmshistory.mxd. In ArcMap open cmshistory.mxd and start the CreateEagleLayers tool o Notice that the tool parameters for this mxd are different from the previous ones you used
o o For Schema, you use arcgisHistory o Even though the map document is called cmshistory, for User you should give cmsadmin. o At Password, you supply the cmadmin users’ password. o IMPORTANT: after having checked All Layers, uncheck the layernames ActorLocationPoint and VehicleLocationPoint. o Click OK and afterwards save the map document under its original name cmshistory. The result of the steps in this chapter is four map documents of which the sources have been changed to tables/views in your database. 2.7
Add ArcGIS Server instance
-
As explained above, you need to install one extra instance of ArcGIS Server. It is assumed that you have already installed one default instance and that you named it ArcGIS. After installation of the extra instance you will have these 2 instances: o ArcGIS Pagina 25 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
This is the default instance in http://<servername>/ArcGIS o ArcGISSecure Install a new instance of ArcGIS Server Browse to C:\Program Files (x86)\ArcGIS\Server10.0\DotNet Execute AddInstance.exe Name the new instance: ArcGISSecure Result is an instance with name: http://<servername>/ArcGISSecure 2.8
ArcCatalog GIS Servers connections
-
-
2.9
In ArcCatalog create 1 extra admin connection under GIS Servers: o Assumed that you already have one GIS Servers connection to the default instance ArcGIS. The default name of that connection would be: <servername> (admin). Now you need to add a connection to the newly created instance ArcGISSecure o Open folder GIS Servers Add ArcGIS Server Manage GIS Server Server URL: http://<servername>/ArcGISSecure/services Host Name: <servername> Change the name of the new connection to: <servername> (admin) (secure). In ArcCatalog add folders to the GIS Servers connections: o Open the connection <servername> (admin). This represents the ArcGIS instance. Rightmouseclick on it and select New Folder and name it EaglePublic o Open the connection <servername> (admin) (secure). This represents the ArcGISSecure instance. Rightmouseclick on it and select New Folder and name it EagleSecure Create Geometry service and Map service in ArcGIS instance
-
-
It is assumed that you already have authored your map documents. You should have at least 4 map documents: o cmspublic.mxd o cmsmember.mxd o cmsadmin.mxd o cmshistory.mxd In ArcCatalog open the ArcGIS instance connection Create a Geometry service o Right mouse click on the ArcGIS instance connection o Select: Add New Service
Pagina 26 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
o Name: Geometry, Type: Geometry Service o Next, next, …, finish o Result should look like this:
-
o o Notice that the Geometry service was created in the root of the public ArcGIS instance. Create a map service for map document publiek o Right mouse click on the folder EaglePublic in the ArcGIS instance connection o Select: Add New Service o Name: public, Type: Map service Click Next o For the name of the map document, browse to its location. o Accept all defaults while clicking on Next and finally on Finish o Result should look like this:
o 2.10
-
-
-
Create Map services in ArcGISSecure instance
In ArcCatalog open the ArcGISSecure instance connection Create a map service for map document beheerder o Right mouse click on the folder EagleSecure in the ArcGISSecure instance connection o Select: Add New Service o Name: cmsadmin, Type: Map service Click Next o For the name of the map document, browse to its location. o Accept all defaults while clicking on Next and finally on Finish Repeat the above step for map document cmsmember o Right mouse click on the folder EagleSecure in the ArcGISSecure instance connection o Select: Add New Service o Name: cmsmember, Type: Map service Click Next o For the name of the map document, browse to its location. o Accept all defaults while clicking on Next and finally on Finish Repeat the above step for map document cmshistory o Right mouse click on the folder EagleSecure in the ArcGISSecure instance connection o Select: Add New Service o Name: cmshistory, Type: Map service Click Next o For the name of the map document, browse to its location. o Accept all defaults while clicking on Next and finally on Finish Pagina 27 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
-
Result should look like this:
2.11
ArcGIS Server security
Even though there are 2 separate ArcGIS Server instances, you cannot enable security for the one instance and disable it for the other. Security is handled by the Server Object Manager (SOM) process. And there is only 1 SOM on the server machine. So, by enabling security for the secure line, security for the public line is also automatically enabled. This means that we have to prepare security settings for both lines (both ArcGIS Server instances). Security settings are made with the use of ArcGIS Server Manager. 2.12
Security settings for ArcGIS instance
For this step it is assumed that you already installed SQL Server Express on the server machine. During installation you gave it the default instance name: <servername>\SQLEXPRESS. Note: the installation of a SQLEXPRESS instance is required ! The WCF/RIA framework that is used to communicate between the LiveViewer client and the webserver requires the presence of a SQLEXPRESS instance. Note: Also make sure that (for W2008R2 + AGS10) the login IIS APPPOOL\ArcGISApplicationsAppPool is added as a login to the sqlexpress instance. Make the new login sysadmin. It needs to have write access to the aspnetdb database that will be created in the following step.
-
Start the ArcGIS Server Manager application for the default ArcGIS instance. o Windows Start button in task bar All Programs ArcGIS ArcGIS Server for the Microsoft .NET Framework ArcGIS Server Manager. Note: make sure you started the default ArcGIS Server Manager belonging to the ArcGIS instance. The URL for the page should be http://<servername>/ArcGIS/Manager/ o On the left hand side of the page, select the tab Security and select Settings o In the Security Settings page, select Configure o On the page Security Settings – User Store Location, select SQL Server and click Next o On the page Security Settings: SQL Server Users, Connect to the instance <servername>\SQLEXPRESS o On the next page you select Create a new database: aspnetdb. Check the option to Add Everyone, etc. Click Next. o On the next page Security Settings: SMTP Server just accept the defaults and click Finish o
IMPORTANT: Check if records have been added to aspnetdb tables. Use SQLServer Management Studio to check this. If the previous step
Pagina 28 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
o o o
o o
o o
2.13
fails, ArcGIS Server Manager will not inform you about it !!! If there are no records in the aspnetdb tables then you should check Windows Event messages to find out the cause. The most probable cause id that ArcGIS Server Manager uses another login to create and populate the aspnetdb. Just add this user as database login and repeat the previous steps. In the next steps you will tell the services of this instance which users/roles are allowed to make use of them. Click on the Services tab on the left side Make sure that in the selection box Services in, you select the root folder of the services directory. It will typically be called <servername> (root) Click on Manage Folders and select Permissions In the Permissions page you select the role Everyone from the Available Roles on the left hand side. Click Add to add this role to the Allowed Roles on the right hand side. Click Save Now the root folder of the services hosted by the ArcGIS instance can be accessed by Everyone.
Security settings for ArcGISSecure instance
Note: Windows users and groups. Before continuing with the next step you must first do some user/groups management on the server’s Windows system. Basically it comes down to creating some Windows groups and assigning Windows users to them. There are various ways of doing this. Typically this is done by system administrators using tools like Active Directory. You can also do this manually with the tool Local Users and Groups in Computer Management. The detailed steps to create users and groups are not described here. Refer to your Windows documentation or contact your system administrator. The services in the ArcGISSecure instance expect the following groups to be present in Windows:
-
CmsAdministrators CmsMembers CmsPublicUsers Possibly more roles in future …
Make sure those groups are present in Windows and make sure that relevant users have been made members of those groups. Later on, in the section about authentication, you will read more on how a Windows user is authenticated against a Windows user account and how that users’ groups membership is used by the ArcGISServer security system. After you have successfully added the required groups and users to Windows, you may proceed with the next step.
-
Start the ArcGIS Server Manager application for the ArcGISSecure instance. o Windows Start button in task bar All Programs ArcGIS ArcGIS Server for the Microsoft .NET Framework ArcGIS Server Manager – ArcGISSecure Pagina 29 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
o o o o
Note: make sure you started the correct ArcGIS Server Manager belonging to the ArcGISSecure instance. The URL for the page should be http://<servername>/ArcGISSecure/Manager/ On the left hand side of the page, select the tab Security and select Settings In the Security Settings page, select Configure On the page Security Settings – User Store Location, select Windows users and click Next On the page Security Settings – Role Store Location, select Windows groups Click Finish
o o o In the next steps you will tell the services of this instance which users/roles are allowed to make use of them. o Click on the Services tab on the left side o Make sure that in the selection box Services in, you select the root folder of the services directory. It will typically be called <servername> (root) o Click on Manage Folders and select Permissions o In the Permissions page you select the role Users from the Available Roles on the left hand side. Click Add to add this role to the Allowed Roles on the right hand side. o Click Save o Now the root folder of the services hosted by the ArcGISSecure instance can be accessed by all users in the group Users. Typically every Windows user is a member of that group. Now you have to narrow down the amount of users that are actually allowed to make use of the secure services. o In the selection box Services in, you select the EagleSecure folder. o Click on Manage Folders and select Permissions o In the Permissions page, in the Allowed roles list on the right hand side, select all roles and click on Remove. The Allowed Roles list should now be empty. o In the Permissions page you select the roles CmsBeheerders, CmsDeelnemers and CmsEditors from the Available Roles on the left hand side. Click Add to add these roles to the Allowed Roles on the right hand side. o Click Save o Note: when you get an error message here saying: “value does not fall within expected range”, take the following steps: close the ArcGIS Server Manager restart IIS and SOC monitor service
Pagina 30 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
start ArcGIS Server Manager again and retry the previous step, assigning roles to the EagleSecure folder. o Now, the only users that are allowed to make use of the secure services are those in the 3 windows groups that you just selected. 2.14
Create Applications in IIS
The web client application folders must be created before you install the applications.
2.15
In Windows Explorer browse to C://inetpub/wwwroot Create a new folder and name it EagleLive In the folder EagleLive you create 2 sub folders: Public and Secure Start IIS Manager and browse to Sites Default Web Site EagleLive Right mouse click on the folder Public Convert to Application OK Right mouse click on the folder Secure Convert to Application OK Install Web applications
Copy the files from LiveViewerInstall\Application to the public folder and to the secure folder. The folders C:\inetpub\wwwroot\EagleLive\Public and C:\inetpub\wwwroot\EagleLive\Secure will have this contents:
The contents will initially be exactly identical. Only a few small changes will be made to the web.config file of each application. These changes are described later. 2.16
ClientAccessPolicy and CrossDomain
The LiveViewer application is made with Microsoft Silverlight technology. The application is hosted on the server from which you just installed it. The application will also need connections to other servers (outside of your domain). To allow these connections, you must copy two files to the root of your webserver.
-
2.17
From the LiveViewerInstall folder, copy the files clientaccesspolicy.xml and crossdomain.xml to c:\inetpub\wwwroot Authentication in IIS
For the user authentication to work you must enable/disable the authentication modes for the Web applications and ArcGISSecure services.
1. Set the authentication mode for the web client applications. - In IIS manager browse to o <servername>SitesDefault Web Site EagleLive o Select application Public IIS Authentication: disable all authentication modes, only enable Anonymous Authentication
Pagina 31 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
select application Secure IIS Authentication: disable all authentication modes, only enable Windows Authentication 2. Set the authentication mode for the ArcGISSecure rest and Services applications. - In IIS manager browse to o <servername>SitesDefault Web Site ArcGISSecure o Select application rest IIS Authentication: disable all authentication modes, only enable Windows Authentication o select application Services IIS Authentication: disable all authentication modes, only enable Windows Authentication o
2.18
Edit the Web.config files
1. In both web.config files (in the public and in the secure folder) you must modify the value of the tag “Servername”. Find the line in the web.config file where the Servername is specified.
Modify the value to the name of your webserver.
2. Modify the values in the connection strings that are used by the WCF/RIA services. In the following 2 lines, change the bold pieces of text to values valid for your installation. Change the servername and database to your own servername and database name. a. b.
3. After this you must modify the contents of the Authentication sections in both web.config files.
Pagina 32 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
For the public application use a text editor and edit the file: C:\inetpub\wwwroot\EagleLive\Public\web.config Make sure the Authentication section looks like this. Only the authentication mode for None is active, the other modes are commented out:
For the secure application use a text editor and edit the file: C:\inetpub\wwwroot\EagleLive\Secure\web.config Make sure the Authentication section looks like this. Only the authentication mode for Windows is active, the other modes are commented out:
2.19
Enable security for ArcGIS Server
Now you must tell ArcGIS Server to start using the security settings that you have made before. Until now, you have only prepared ArcGIS server to use security. The security settings only become active after you enable the security for GIS Services.
-
Start the ArcGIS Server Manager application for the ArcGISSecure instance. o Windows Start button in task bar All Programs ArcGIS ArcGIS Server for the Microsoft .NET Framework ArcGIS Server Manager – ArcGISSecure Note: make sure you started the correct ArcGIS Server Manager belonging to the ArcGISSecure instance. The URL for the page should be http://<servername>/ArcGISSecure/Manager/ o On the left hand side of the page, select the tab Security and select Settings o You wil see that the Security for GIS services is NOT ENABLED o Click on Enable o On the page Enable Security for Services, read the instructions carefully and click on the Enable Security for Services button. Pagina 33 van 34
i-Bridge Live Viewer timebox 4| 22 December 2010
2.20
HTTPS
For the secure line you may want to enable the use of HTTPS. Only do this after you have acquired an SSL certificate. Details are not described here. Refer to your systems administrator to acquire an SSL certificate. After a certificate was installed on the web server and the HTTPS binding has been added to the Default Web Site, you can enable the secure parts of the application for HTTPS. Follow these steps to enable HTTPS encryption:
-
-
-
Go into IIS Manager and browse to the EagleLive folder in the Default Web Site Make sure the IIS Manager is set to the Features View Under Default Web Site, open the EagleLive folder o Left mouse click on the Secure application o Under IIS in the middle section of the window, click on SSL Settings o Check the box for Require SSL and click on Apply (on the top right hand side) Under Default Web Site, open the ArcGISSecure folder o Left mouse click on the rest application o Under IIS in the middle section of the window, click on SSL Settings o Check the box for Require SSL and click on Apply (on the top right hand side) o Do the same for the Services application In the web.config file for the Secure application, modify the URL’s for the MapCmsAdmin, MapCmsMember and MapCmsHistory tags. In the url, change “http:” to “https:”.
Pagina 34 van 34