Первоначальная настройка 
-----------------------------

Настройки для портала 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Прописать логин и пароль системного пользователя для Knowledge в файле ``/opt/synergy/jboss/standalone/deployments/lms.war/init.js``: 

.. code-block:: js

    var _SYNERGY_ACCESS_LOGIN_ = 'knowledge_login'; 
    var _SYNERGY_ACCESS_PASS_ = 'knowledge_password';

Также необходимо проверить, что в файле ``/etc/nginx/sites-enabled/synergy-base`` настроен доступ к порталу: 

.. code-block:: xml

    location ~* /lms {
        proxy_pass          http://127.0.0.1:8080;
    }

Настройки для модуля sap 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Прописать логин и пароль системного пользователя для sap в файле ``/opt/synergy/jboss/standalone/configuration/external/synergy-api-proxy.properties``: 

.. code-block:: xml

    # Адрес Synergy для доступа к REST API
    synergy.url=http://127.0.0.1:8080/Synergy
    # Логин пользователя от имени которого будет выполняться запрос к REST API Synergy
    synergy.user.login=knowledge_login
    # Пароль пользователя от имени которого будет выполняться запрос к REST API Synergy
    synergy.user.password=knowledge_password

Также необходимо проверить, что в файле ``/etc/nginx/sites-enabled/synergy-base`` настроен доступ для sap: 

.. code-block:: xml

    location /sap {
        proxy_pass              http://127.0.0.1:8080;
    }

Clean
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#. Проверить корректность URL до Synergy в настройках внешнего модуля ``LMS``.

Install/upgrade configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#. Добавить системного пользователя в группу ``HCM полный доступ``.

#. Проверить, что группе пользователей ``HCM полный доступ`` предоставлены все права на реестры. 

#. Проверить корректность URL до Synergy в настройках внешнего модуля ``LMS``.

#. Прописать логин и пароль системного пользователя в настройках всех скриптов интерпретатора:

   * ``event.blocking.interpreter.addIndexCUS``
   * ``event.blocking.interpreter.anketaCUS``
   * ``event.blocking.interpreter.changeCUS``
   * ``event.blocking.interpreter.changePictureCourse``
   * ``event.blocking.interpreter.checkSertificationUser``
   * ``event.blocking.interpreter.courseCompleted``
   * ``event.blocking.interpreter.removeIndexCUS``
   * ``event.blocking.interpreter.rprofileCUS``
   * ``event.blocking.interpreter.setImageCUS``
   * ``event.blocking.interpreter.workCoursesNotify``
   * ``event.blocking.interpreter.wprofileCUS``

#. Создать 2 пункта меню кнопки "Создать":

   * Карточка пользователя
      * код: ``hcm_create_userCard``
      * реестр: "Карточка пользователя"
      * галочка "Добавить в "Избранное" пользователя по умолчанию" включена
      * права: автогруппе "ROOT"

   * Сформировать ИПР
      * код: ``hcm_create_idp``
      * реестр: "ИПР"
      * галочка "Добавить в "Избранное" пользователя по умолчанию" включена
      * права: автогруппе "ROOT"

Manual
~~~~~~~~~~~~~~~~

#. Импортировать приложение Knowledge из архива ``/opt/synergy/apps/showcase/app-knowledge.7zip``. 

    .. hint:: 

        #. При импорте приложения рекомендуем руководствоваться `документацией <http://tdd.lan.arta.kz/docs/synergy/tags/hamming/release-notes/html/app_export_import.html#app_import>`_.
        #. Если на сервере уже был установлен продукт, следует сверить номера версий приложения в архиве и на сервере, при необходимости нужно увеличить номер версии в архиве.

#. Добавить системного пользователя в группу ``HCM полный доступ``.

#. Проверить, что группе пользователей ``HCM полный доступ`` предоставлены все права на реестры. 

#. Заменить URL до Synergy в настройках внешнего модуля ``LMS``.

#. Прописать логин и пароль системного пользователя в настройках всех скриптов интерпретатора:

   * ``event.blocking.interpreter.addIndexCUS``
   * ``event.blocking.interpreter.anketaCUS``
   * ``event.blocking.interpreter.changeCUS``
   * ``event.blocking.interpreter.changePictureCourse``
   * ``event.blocking.interpreter.checkSertificationUser``
   * ``event.blocking.interpreter.courseCompleted``
   * ``event.blocking.interpreter.removeIndexCUS``
   * ``event.blocking.interpreter.rprofileCUS``
   * ``event.blocking.interpreter.setImageCUS``
   * ``event.blocking.interpreter.workCoursesNotify``
   * ``event.blocking.interpreter.wprofileCUS``

#. Создать 2 пункта меню кнопки "Создать":

   * Карточка пользователя
      * код: ``hcm_create_userCard``
      * реестр: "Карточка пользователя"
      * галочка "Добавить в "Избранное" пользователя по умолчанию" включена
      * права: автогруппе "ROOT"

   * Сформировать ИПР
      * код: ``hcm_create_idp``
      * реестр: "ИПР"
      * галочка "Добавить в "Избранное" пользователя по умолчанию" включена
      * права: автогруппе "ROOT"

#. В Kibana создать следующие шаблоны индексов:

   * ``r-hcm_registry_usercards_custom``
   * ``r-hcm2_registry_competence``
   * ``r-hcm_registry_idp``

#. В шаблоне индексов ``r-hcm_registry_usercards_custom`` добавить следующие ``Scripted fields``:

   * ``course_finished``
      * language: painless;
      * type: number;
      * script:

         .. code-block:: js

	   int fvalue=0;
	   if (doc['hcm_form_userCard_status_key.keyword'].value == '2' ||  doc['hcm_form_userCard_status_key.keyword'].value == '3') {
	      fvalue=1;
	   }
	   return fvalue;

   * ``user_certified``
      * language: painless;
      * type: number;
      * script:

         .. code-block:: js

	   int tvalue=0;
	   if (doc['hcm_form_userCard_certified_key.keyword'].value == '1') {
	      tvalue=1;
	   }
	   return tvalue;

#. Проверить, что установлен плагин Kibana ``gauge`` (имеется непустая папка ``/usr/share/kibana/plugins/gauge-sg``).

   .. note:: При необходимости установить плагин самостоятельно по `ссылке <https://github.com/sbeyn/kibana-plugin-gauge-sg>`_.

#. Импортировать визуализации из файла ``/opt/synergy/apps/crm/knowledge_visualizations.json``.

#. Импортировать дашборды из файла ``/opt/synergy/apps/crm/knowledge_dashboards.json``.

.. hint:: Дополнительные подробности доступны в подробной документации о `Kibana <http://rtd.lan.arta.kz/docs/guide/ru/hamming/dashboards.html>`_.