Данный раздел необязателен, если необходима лишь работа с персональными адресными книгами или планируется импортировать адресную книгу CSV-формата.
Для того, чтобы импортировать данные из Active Directory (служба каталогов корпорации Microsoft для операционных систем семейства Windows Server), необходимо:
1. Остановите сервис Address Book:
./ecss-address-book.sh down
2. Отредактируйте файл .env.override:
nano address-book/stable/.env.override
Задайте параметры авторизации в файле, а также путь для выгрузки данных из Active Directory в Address Book:
3. При необходимости отредактируйте секцию ad_mapper конфигурационного файла mappers.json. Данный файл отвечает за сопоставление атрибутов Active Directory с полями Address Book при импорте.
В Active Directory у импортируемого пользователя в атрибуте givenName хранится значение «Kuzma».
В таком случае указанная строка ["first_name", ["givenName", "string"]] при импорте обработается следующим образом: из атрибута givenName будет взято значение имени «Kuzma» с типом «string» и произведена запись этого значения в поле «first_name» сервиса Address Book.
Поля «phones», «avatar» работают иначе.
Поле «phones» содержит несколько значений, каждое из которых записано в виде:
В Active Directory у импортируемого пользователя в атрибуте «telephoneNumber» записано значение внутреннего телефонного номера абонента равное 700.
В таком случае указанная строка [["telephoneNumber"], ["phone", "work"]] при импорте обработается следующим образом: из атрибута «telephoneNumber» будет взято значение 700 и добавлено в поле «phones» в виде списка словарей.
Список словарей нужен, так как телефонов у пользователя может быть несколько (мобильный, рабочий, домашний).
Атрибут avatar импортируется аналогичным образом и служит для последующего отображения изображения (аватара) контакта в клиенте Elph. Аватар может быть задан в бинарном виде (jpeg) либо в текстовом (url). На рисунке ниже пример отдельно созданного для этих целей атрибута с именем «avatar». Можно использовать любое встроенное текстовое поле карточки пользователя, правильно сопоставив его при импорте.
4. Запустите сервис Address Book:
./ecss-address-book.sh up
5. Выполните импорт, последовательно вводя указанные ниже команды:
Для выхода из iex нажмите Ctrl+C дважды. Затем введите exit.
При импорте выполняются дополнительные проверки:
1. Если у контакта заполнено хотя бы одно поле (фамилия, имя, отчество) и телефон, такой контакт импортируется в БД Address Book. В противном случае импорт не осуществляется;
2. Так же происходит удаление дублирующихся номеров по следующему принципу:
Если у контакта заполнено несколько идентичных номеров в одной категории (например 2 одинаковых рабочих (work) номера), то дубли удаляются;
Если дубли встречаются в категории «рабочий (work)» и в одной или обеих категориях «мобильный (cell)», «домашний (home)», то в приоритете дублирующийся номер сохранится в категории «рабочий (work)»;
Если дубли встречаются в категориях «мобильный (cell)», «домашний (home)», то в приоритете дублирующийся номер сохранится в категории «мобильный (cell)».
Таким образом в базу данных Address Book попадают только уникальные номера каждого контакта.