Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Импорт записей AD в оргструктуру Naumen Contact Center



В Naumen Contact Center используется иерархическое описание оргструктуры контакт-центра. В таком описании присутствуют понятия «Отдел» и «Сотрудник».

«Отдел» представляет собой структурную единицу предприятия, в которую входят сотрудники или отделы.

«Сотрудник» представляет собой конкретную персону.

Сотрудник или отдел может относиться только к одному отделу.

Параметры отделов и операторов по большей части импортируются из Active Directory (тем не менее, существуют также сущности оргструктуры, созданные через интерфейс Naumen Contact Center и не существующие в Active Directory).

Для выполнения задачи в PMS создано несколько объектов:

· Каталог подключений к LDAP с кодом stdp.

· Задача планировщика "Импорт из LDAP: Оргструктура - Отделы/Сотрудники".

Вся основная работа выполняется задачей планировщика. Импорт выполняется с интервалом в 2 часа (7200 с).

Корневым отделом, в который импортируются записи AD, является отдел "Active Directory" (его уникальный идентификатор в платформе NCC - corebolg85k6o0000l5rr8qg0b8ampto). Сущности импортируются из LDAP DN OU=stdp,DC=stdp,DC=ru.

Импортировать нужно не все записи из AD, а лишь те, для которых выполняется одно из заданных условий:

· Запись является отделом

· Выполняются все условия из списка:

§ Логин пользователя может быть импортирован (состоит из латиницы/цифр/точки/андерскора)

§ Атрибут name заполнен (имя записи не пустое)

§ Атрибут objectClass не содержит значения “computer” (запись не описывает машину в домене AD)

§ Атрибут objectClass содержит значение "user" (запись описывает пользователя AD)

§ Атрибут objectClass содержит значение "person" (запись описывает персону в AD)

§ Атрибут memberOf cодержит значение "CN=ncc_users,OU=naumen,OU=Tech_Users,OU=stdp,DC=stdp,DC=ru" (пользователь состоит в группе “ncc_users”)

Для того, чтобы проверять условия, в задаче планировщика используется groovy-скрипт ("Скрипт проверки включения при импорте").

Основные моменты:

  • Функция contains(attr, value) используется для проверки, содержится ли элемент в коллекции. Например:
    • If (contains(objectClass, "person")) {...}
    • If (contains(objectClass, "computer")) {...}
  • Встречаются такие элементы:
    def ipPhone = attributes.get("ipPhone");
    def telephoneNumber = attributes.get("telephoneNumber");
    def mobile = attributes.get("mobile");
    def homePhone = attributes.get("homePhone");

    if(telephoneNumber) {
    println "telephoneNumber: ${telephoneNumber}";
    attributes.remove("telephoneNumber");
    }

    if(ipPhone) {
    println "ipPhone: ${ipPhone}";
    attributes.put("telephoneNumber", ipPhone.get());
    // if(telephoneNumber == null) {
    attributes.remove("ipPhone");
    // }
    }

    if(mobile) {
    println "mobile: ${mobile}";
    attributes.put("homePhone", mobile.get());

    }
    if(homePhone) {
    println "homePhone: ${homePhone}";
    attributes.put("mobile", homePhone.get());
    }

    Эти элементы необходимы для того, чтобы переопределить стандартное отображение атрибутов записи AD в атрибуты сотрудника Naumen Contact Center.
  • Строки вида println "ipPhone: ${ipPhone}"; выводятся в catalina . out.

Полный скрипт можно найти в описании задачи планировщика в PMS.

Стандартное отображение атрибутов записи AD в атрибуты сотрудника Naumen Contact Center представлено следующим образом:

· Название отдела Naumen Contact Center импортируется из атрибута name.

Стандартное отображение атрибутов записи AD в атрибуты сотрудника Naumen Contact Center представлено следующим образом:

· Логин сотрудника Naumen Contact Center импортируется из атрибута sAMAccountName.

· Фамилия сотрудника Naumen Contact Center импортируется из атрибута sn.

· Имя сотрудника Naumen Contact Center импортируется из атрибута givenName.

· Отчество сотрудника Naumen Contact Center импортируется из атрибута initials.

· Внутренний телефон сотрудника Naumen Contact Center импортируется из атрибута telephoneNumber .

· Рабочий телефон сотрудника Naumen Contact Center импортируется из атрибута ipPhone.

· Мобильный телефон сотрудника Naumen Contact Center импортируется из атрибута mobile.

· Домашний телефон сотрудника Naumen Contact Center импортируется из атрибута homePhone.

· Email сотрудника Naumen Contact Center импортируется из атрибута mail.

Скрипт импорта выбирает список всех записей, которые удовлетворяют заданным условиям, затем реализует следующую логику:

· Если запись является отделом (OU):

o Если скрипт проверки вернул значение False, то записи, содержащиеся в данном OU, игнорируются.

o Если скрипт проверки вернул значение True, то записи, содержащиеся в данном OU, проходят процедуру импорта.

· Если запись не является отделом (OU):

o Если скрипт проверки вернул значение False, то запись игнорируется.

o Если скрипт проверки вернул значение True, то скрипт ищет в Naumen Contact Center запись о сотруднике, логин которого соответствует значению атрибута sAMAccountName.

§ Если сотрудник с таким логином найден, то скрипт обновляет остальные атрибуты сотрудника (в том числе принадлежность к отделу, т.е. скрипт импорта может переместить сотрудника из одного отдела в другой, если соответствующие изменения записаны в AD). Если сотрудник с таким логином был уволен ранее, то скрипт импорта восстанавливает сотрудника.

§ Если сотрудник с таким логином не найден, то скрипт импорта создаёт в NCC запись о таком сотруднике, записывая все его атрибуты (см. выше).

После выполнения этих действий скрипт импорта производит процедуру увольнения тех сотрудников NCC, для которых не было найдено подходящих записей в AD.


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 226; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь