среда, 14 января 2015 г.

Использование локального ArcGIS JavaScript API

Потребовалось использовать ArcGIS API for JavaScript совместно с ArcGIS for Server в локальной сети без доступа в интернет. Нашел статью по настройке http://support.esri.com/fr/knowledgebase/techarticles/detail/42138 сделал для себя перевод. Пока выкладывал перевод сама статья куда то пропала. Приведу текст оригинала в конце записи. Также внесены некоторые правки с учётом изменения сайта ESRI.


Основное

Когда ArcGIS for Server используется в изолированной или защищенной среде(сети), в таком случае нет возможности доступа к опубликованным библиотекам Esri JavaScript API. Эта статья описывает метод для установки локальной копии JavaScript API и его конфигурацию для работы с ArcGIS 10.2 for Server.

Процесс

Этот документ предполагает использование Microsoft IIS в качестве веб сервера(я лично использую сервер Apache и всё работает). Если Вы используете другое программное обеспечение, некоторые шаги могут быть не выполнены или потребуют другой настройки. Пожалуйста обращайтесь к документации программных комплексов если это потребуется.

Загрузка и установка JavaScript API

1.Перейдите на страницу ArcGIS API for JavaScript.
2.В секции закачки(Download) нажмите на ссылку ArcGIS API for JavaScript download page.(Для загрузки требуется учетная запись ESRI)
3.В секции Download for Hosting Locally скачайте необходимую версию(текущая 3.12)
4.Начнётся загрузка.

Изменение файлов JavaScript

1.Распакуйте скачанный файл во временную директорию.
Это может занять несколько минут. Хотя файл архива не большой, он содержит большое количество файлов которые должны быть извлечены.
2.Переместите распакованные файлы в папку arcgis_js_api_X.XX расположенную в root папке веб сервера заменив X.XX на версию API.
Для ISS это будет C:\inetpub\wwwroot
Обратите внимание, не нужно указывать 'http://' при написание полных путей к хостам, эту учтено в 2 файлах.
3.Откройте файл в текстовом редакторе
C:\Inetpub\wwwroot\arcgis_js_api\library\3.8\3.8\init.js
4.Найдите текст '[HOSTNAME_AND_PATH_TO_JSAPI]' и замените его на <myhost.example.com>/arcgis_js_api/library/3.8/3.8/, где вместо <myhost.example.com> название хоста у себя в сети или его IP, если вы работаете в локальной сети.

Добавление в ISS документа по умолчанию(на Apache это не делал)

1.Откройте ISS и перейдите к Веб сайт по умолчанию(Default Web Site).
2. Откройте Документ по умолчанию(Default Document).
3. Под заголовком Действия(Actions), нажмите Добавить(Add).
4. Установите Тип(Type) в поле название укажите init.js, и нажмите OK.

Init.js теперь должен быть как запись локального типа(Local Entry Type) в документе по умолчанию.

Изменение сервисов ArcGIS

1. В браузере перейдите по ссылке:http://localhost:6080/arcgis/admin/system/handlers/rest/servicesdirectory
Вместо localhost нужно указать хост где стоит ArcGIS for Server, также нужны права администратора.
2. Войдите как администратор.
3.Скопируйте или сделайте скриншот с настройками служб каталогов, если потребуется вернуться к настройкам по умолчанию.
4. Нажмите 'edit' для изменения настроек.
5. Замените поля описанные ниже на путь к локально установленной JavaScript API используйте полное название хоста, как в примере ниже:
• Javascript API URL:
http://myhost.example.com/arcgis_js_api/library/3.8/3.8/
• Javascript API CSS URL:
http://myhost.example.com/arcgis_js_api/library/3.8/3.8/js/dojo/dijit/themes/tundra/tundra.css
• Javascript API CSS2 URL:
http://myhost.example.com/arcgis_js_api/library/3.8/3.8/js/esri/css/esri.css
где вместо myhost.example.com пишем имя или IP хоста куда положили скачанные API.
6. Очистите кэш браузера для завершения установки.

Чтобы убедится, что ArcGIS for Server использует правильные настройки для API JavaScript, откройте на веб-сайте отладки и просмотра программы картографический сервис с помощью  просмотра ArcGIS JavaScript из служб каталогов (REST). Если настройки правильны, должны правильно загрузиться все URL-адреса, перечисленные в веб-отладчике из местного веб- сервера, а не из "serverapi.arcgisonline.com".


Summary

When using ArcGIS for Server in an isolated or secure environment, it may not be possible to access the hosted Esri JavaScript API libraries. This article provides a walkthrough for installing a local copy of the JavaScript API and configuring it for use with ArcGIS 10.2 for Server.

Procedure


 This document assumes that Microsoft IIS is being used as the web server. If using a different program, some steps may not apply or may be different based on that configuration. Please consult that software’s documentation if needed.



Download and install the JavaScript API

1. Navigate to the ArcGIS API for JavaScript page.

2. Under the Download section, click the link to the ArcGIS API for JavaScript section of the Esri Download page

3. Scroll down to the latest ArcGIS API for JavaScript API release (currently v3.8).

4. Click the 'arcgis_js_v38_api.zip' link and log in with an Esri Global Account username and password.

5. Accept the License Agreement to start the download.
Modify JavaScript files

1. Unzip the contents of the .zip file to a temporarily location. 

 This may take a few minutes. While not physically large, the .zip file contains approximately 17K files that must be extracted.

2. Copy the arcgis_js_api folder into the web server root folder, typically:

C:\inetpub\wwwroot


 Please note in the following two steps, do not include 'http://' with the fully qualified host name as this is already defined in the two files.

3. Open the following file in a text editor:

C:\Inetpub\wwwroot\arcgis_js_api\library\3.8\3.8\init.js

4. Search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace this text with:

<myhost.example.com>/arcgis_js_api/library/3.8/3.8/

5. Open the following file in a text editor:

C:\Inetpub\wwwroot\arcgis_js_api\library\3.8\3.8\js\dojo\dojo\dojo.js

6. Search for the text '[HOSTNAME_AND_PATH_TO_JSAPI]', and replace this text with:

<myhost.example.com>/arcgis_js_api/library/3.8/3.8/

Add IIS default document

1. Open IIS and navigate to the Default Web Site.

2. Open the Default Document. 

3. Under the Actions heading, click Add.

4. Type init.js as the name value, and click OK.

Init.js should now be listed as a Local Entry Type default document.
Edit ArcGIS services

1. In a web browser on the server navigate to the following location:
http://localhost:6080/arcgis/admin/system/handlers/rest/servicesdirectory

2. Login with administrator credentials.

3. Copy or take a screenshot of the current Services Directory settings in case it is necessary to revert to the default settings.

4. Click 'edit' to modify settings.

5. Replace each of the following fields with the path to the local installation of the JavaScript API using the fully qualified host name in place of the following examples:

• Javascript API URL:

http://myhost.example.com/arcgis_js_api/library/3.8/3.8/

• Javascript API CSS URL:

http://myhost.example.com/arcgis_js_api/library/3.8/3.8/js/dojo/dijit/themes/tundra/tundra.css

• Javascript API CSS2 URL:

http://myhost.example.com/arcgis_js_api/library/3.8/3.8/js/esri/css/esri.css

6. Clear the browser cache to complete installation.

 To confirm that ArcGIS for Server is using the correct settings for the JavaScript API, open a web debugging program and preview a map service using the ArcGIS JavaScript viewer from the Services Directory (REST). If configured correctly, the viewer should load successfully and all URLs listed in the web debugger are from the local web server and not from 'serverapi.arcgisonline.com'

Комментариев нет:

Отправить комментарий