URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 90336
[ Назад ]

Исходное сообщение
"Как реализовать Language Tag в openLDAP? lang-ru"

Отправлено wawont , 18-Ноя-10 12:42 
Всего Доброго.

Прочитал о поддержке Language Tag в openldap (http://www.openldap.org/software/roadmap.html), но в реальности этой поддержки не вижу!
Пример:
sn: Smith
sn;lang-en: Smith
sn;lang-ru: Кузнецов

создаю ldif c атрибутами, подгружаю в каталог - всё проходит без ошибок!
просматриваю, как будто и не было этих атрибутов...

Удавалось ли кому-нибудь запустить такое в openldap?
Как это реализовать?

openldap 2.4.23


Содержание

Сообщения в этом обсуждении
"Как реализовать Language Tag в openLDAP? lang-ru"
Отправлено Аноним , 19-Ноя-10 12:32 
>[оверквотинг удален]
> но в реальности этой поддержки не вижу!
> Пример:
> sn: Smith
> sn;lang-en: Smith
> sn;lang-ru: Кузнецов
> создаю ldif c атрибутами, подгружаю в каталог - всё проходит без ошибок!
> просматриваю, как будто и не было этих атрибутов...
> Удавалось ли кому-нибудь запустить такое в openldap?
> Как это реализовать?
> openldap 2.4.23

значение атрибута sn;lang-ru:  нужно кодировать в base64 перед загрузкой.


"Как реализовать Language Tag в openLDAP? lang-ru"
Отправлено wawont , 22-Ноя-10 09:36 
> значение атрибута sn;lang-ru:  нужно кодировать в base64 перед загрузкой.

Нет не нужно, openldap сам кодирует, sn=Кузнецов после добавления превращается в
$ ldapsearch -LLL "(sn=Кузнецов)"
...
sn=0JrRg9C30L3QtdGG0L7Qsgo=
...

Но вопрос остался не решённым, как добиться сохранения lang-тегов в openldap!?


"Как реализовать Language Tag в openLDAP? lang-ru"
Отправлено wawont , 22-Ноя-10 14:09 
Ответ:

При заведении DN, language tag работают и появляются.
т.е. test.ldif
dn: cn=smith,dc=example,dc=ru
objectClass: person
sn: Smith
sn;lang-ru: Кузнецов
EOF

ldapadd -D "cn=Manager,dc=example,dc=ru" -W -x -a test.ldif
Всё пройдёт успешно, и в ldapsearch sn;lang-ru - отображается

НО! Если я хочу модифицировать запись, то ничего не выходит:
т.е. test-modify.ldif
dn: cn=smith,dc=example,dc=ru
changetype: modify
add: sn;lang-en
sn;lang-en: Smith
EOF

Ничего не выйдет ldapadd успешно модифицирует, а ldapsearch ничего не покажет.

ТЕМА ЗАКРЫТА.

ЗЫ: Явного указание в документации не нашёл, так что может и не так, думаю что пока просто нет поддержки add при changetype: modify