Использование ACL
Модератор: ykolesnikov
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Использование ACL
Добрый день, коллеги!
Хотелось бы прояснить ряд вопросов использования ACL в OTRS, которые непрозрачны после чтения документации и просмотра примеров.
1. В какой момент включатся в работу ACL (считаем, что текст написан и сохранен в config.pm), Т.е. я имею в виду, например, при создании заявки клиентом - он вводит атрибуты заявки и я хочу ограничить(поставить в зависимость) значение FreeTextField(DynamicField) набором значений, зависящим от CustomerID или другого, ранее введенного атрибута заявки - могу ли? Уже применимо?
2. Можно ли использовать русские буквы в значениях (имена очередей...)
3. Существует ли полный список "Action", которые можно использовать в ACL? Есть раздел в мануале Example 18.5. Reference showing all possible important ACL settings но ответа на этот мой вопрос в нем как-то не вижу.
4. Как правильно вводить в списках имена атрибутов, скажем Очередей, Сервисов, имеющих иерархическую структуру - Очереди/подочереди?
5. Или исходя из мануала пользоваться их ID`ами? Визуально - плохо читаемо, но меньше вероятность синтаксических ошибок.
Хотелось бы прояснить ряд вопросов использования ACL в OTRS, которые непрозрачны после чтения документации и просмотра примеров.
1. В какой момент включатся в работу ACL (считаем, что текст написан и сохранен в config.pm), Т.е. я имею в виду, например, при создании заявки клиентом - он вводит атрибуты заявки и я хочу ограничить(поставить в зависимость) значение FreeTextField(DynamicField) набором значений, зависящим от CustomerID или другого, ранее введенного атрибута заявки - могу ли? Уже применимо?
2. Можно ли использовать русские буквы в значениях (имена очередей...)
3. Существует ли полный список "Action", которые можно использовать в ACL? Есть раздел в мануале Example 18.5. Reference showing all possible important ACL settings но ответа на этот мой вопрос в нем как-то не вижу.
4. Как правильно вводить в списках имена атрибутов, скажем Очередей, Сервисов, имеющих иерархическую структуру - Очереди/подочереди?
5. Или исходя из мануала пользоваться их ID`ами? Визуально - плохо читаемо, но меньше вероятность синтаксических ошибок.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Всем все понятно? Я один такой глупый?
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
-
- OTRS Новобранец
- Сообщения: 49
- Зарегистрирован: 23 янв 2012, 13:23
- Откуда: р. Татарстан, г. Елабуга
Re: Использование ACL
пока не добрался до таких глубин))
С уважением, Шакирзянов Ренат |системный администратор| г. Елабуга
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Использование ACL
1. Да
2. Да, надо только decode_utf8() использовать
3. Что есть - то есть. Нам пока хватает.
2. Да, надо только decode_utf8() использовать
Код: Выделить всё
use Encode;
$Self->{TicketAcl}->{'ACL-Customer-Queues'} = {
Properties => {Frontend => {Action => ['CustomerTicketMessage'] }},
Possible => {
Ticket => {
Queue => [decode_utf8('миск') , 'Raw'],
},
},
};
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Спасибо, большое!
Если не секрет, в строке
- 'миск' - что означает?
Счмитаете, что в 4 и 5 вопросах ответы очевидны?
Если не секрет, в строке
Код: Выделить всё
Queue => [decode_utf8('миск') , 'Raw'],
Счмитаете, что в 4 и 5 вопросах ответы очевидны?
Последний раз редактировалось ykolesnikov 10 фев 2012, 14:56, всего редактировалось 1 раз.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Использование ACL
Это транслит от "Misc" для тестов . Т.е. имя очереди.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Теперь понял, спасибо!
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Использование ACL
Кстати вот http://doc.otrs.org/3.1/en/html/ch18s03.html. Тут вроде более подробно, чем для 3.0!
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Re: Использование ACL
Спасибо, почитаю.
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Re: Использование ACL
В ACL еще регулярки можно использовать. '[RegExp](тест)'
OTRS 4.0.12, ITSM 4.0.12 тестовая
Re: Использование ACL
Кстати не знал, что на данные клиента можно ACL повесить.
Меня такой нюанс интересует. Можно ли сделать так, что бы ACL срабатывал в зависимости от того, какого клиента выбрал агент?
Меня такой нюанс интересует. Можно ли сделать так, что бы ACL срабатывал в зависимости от того, какого клиента выбрал агент?
OTRS 4.0.12, ITSM 4.0.12 тестовая
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Это зависит от ответа на мой первый вопрос при открытии поста. Надо понимать механизм работы ACL, т.е. если он "висит" над всеми процессами как обработчик всех событий при вводе и, если есть события которые он должен обрабатывать, то делает это - то, наверное можно реализовать Вашу идею.
У меня, такого полного понимания всего этого нет. Некоторые вещи делаем по аналогии с описанным - как заяц в цирке на барабане играет - он не понимает, что играет на барабане, но научили - делает.
У меня, такого полного понимания всего этого нет. Некоторые вещи делаем по аналогии с описанным - как заяц в цирке на барабане играет - он не понимает, что играет на барабане, но научили - делает.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Подскажите, пожалуйста,
1) в чем разница между заданием, в Properties или Possible
DynamicField => {
DynamicField_Field1 => ['some value'],
},
и
Ticket => {
DynamicField_Field1 => ['some value'],
}
2) можно ли и как при задании Possible использовать ключи динамических полей, а не значения?
1) в чем разница между заданием, в Properties или Possible
DynamicField => {
DynamicField_Field1 => ['some value'],
},
и
Ticket => {
DynamicField_Field1 => ['some value'],
}
2) можно ли и как при задании Possible использовать ключи динамических полей, а не значения?
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Исходя из комментариев к примерам по ACL выходит, что Ticket в Properties используется, когда заявка уже создана, иначе используется прямо имя поля или очереди или сервиса и т.д. Я так это понял.
Насчет ключей динамических полей, опять же исходя из мануала http://doc.otrs.org/3.1/en/html/ch18s03.html - то там их нет и для чего они вообще - непонятно, возможно при программировании они используются - в настройках их нет нигде кроме как при создании самих полей.
Более того, сейчас копался в .dtl файле формирования заявки клиентом. Там при выводе динамических полей по отдельности - закомментированный кусок текста в конце, используется имя динамического поля в комментарии начала блока кода, а код для всех полей одинаковый. Программеры в шоке!
Насчет ключей динамических полей, опять же исходя из мануала http://doc.otrs.org/3.1/en/html/ch18s03.html - то там их нет и для чего они вообще - непонятно, возможно при программировании они используются - в настройках их нет нигде кроме как при создании самих полей.
Более того, сейчас копался в .dtl файле формирования заявки клиентом. Там при выводе динамических полей по отдельности - закомментированный кусок текста в конце, используется имя динамического поля в комментарии начала блока кода, а код для всех полей одинаковый. Программеры в шоке!
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
спасибо за помощь, пункт 1 благодаря Вам прояснился )
Что касается ключей динамических полей - в ACL именно ключи используются в Properties, а вот в Possible - уже значения...
Проверено на себе ) Пришлось создать очередной "костыль" (
спасибо за помощь, пункт 1 благодаря Вам прояснился )
Что касается ключей динамических полей - в ACL именно ключи используются в Properties, а вот в Possible - уже значения...
Проверено на себе ) Пришлось создать очередной "костыль" (
Re: Использование ACL
Добрый вечер!
И Вам спасибо большое. С динамическими полями в ACL, действительно при использовании имен ключей в Properties - работает!!!
Будем дальше осваивать ACL. К сожалению, совсем дуб в регулярных выражениях, а они очень бы здесь пригодились, иначе писать придется много.
И Вам спасибо большое. С динамическими полями в ACL, действительно при использовании имен ключей в Properties - работает!!!
Будем дальше осваивать ACL. К сожалению, совсем дуб в регулярных выражениях, а они очень бы здесь пригодились, иначе писать придется много.
С уважением
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
Ю. Колесников
OTRS 3.3.1, ITSM 3.3.1, SUSE 12, MySQL5
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Если у кого есть опыт в ACL - проясните:
Задача - ограничить для клиента ввод типа заявки - например, только "Incidend", "Incident::Disaster", "RfC".
Для агента оставить все типы в телефонной заявке.
В примерах и Reference в документации явно в возможных Possible - Type не присутствует, только в Properties.
Кроме того как указать, что ACL относится только к Customer Actions?
Задача - ограничить для клиента ввод типа заявки - например, только "Incidend", "Incident::Disaster", "RfC".
Для агента оставить все типы в телефонной заявке.
В примерах и Reference в документации явно в возможных Possible - Type не присутствует, только в Properties.
Кроме того как указать, что ACL относится только к Customer Actions?
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
На последний вопрос нашел ответ в нашем форуме, сам спрашивал, но тогда чисто теоретически, теперь реально понадобилось
viewtopic.php?f=2&t=427&start=10
Главное именно в этом - действие только для клиентов
Но вот с TYPE вопрос висит по-прежнему
viewtopic.php?f=2&t=427&start=10
Код: Выделить всё
# ------------------------------------------------------------------- #
# Настройка видимости очередей при создании заявки клиентом через WEB #
# ------------------------------------------------------------------- #
use utf8;
$Self->{TicketAcl}->{'ACL-Customer-Queues'} = {
Properties => {Frontend => {Action => ['CustomerTicketMessage'] }},
Possible => {
# possible ticket options (white list)
Ticket => {
Queue => ['First Line Support', 'Общая'], # Показываем только указанную очередь
},
},
};
Код: Выделить всё
$Self->{TicketAcl}->{'ACL-Customer-Queues'} = {
Properties => {Frontend => {Action => ['CustomerTicketMessage'] }},
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident'],
},
},
}
Работает. Или я не правильно поняла Ваш вопрос?
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident'],
},
},
}
Работает. Или я не правильно поняла Ваш вопрос?
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Спасибо, Анна, заработало!
Моя ошибка была в том, что я использовал конструкцию как в Properties - Type => { Name =>...
НО!
В списке только одно значение из
- Incident.
Здесь какое-то ограничение? Или я опять с синтаксисом или грамматикой накосячил?
И еще вопрос, если позволите
С двумя последующими ACL для динамических полей - наблюдается разница в работе для клиента и агента
Для клиента работает отлично, а для агента - во второе (зависимое) поле сразу подставляется первое допустимое значение из списка - вместо прочерка как у клиента и что более правильно.
Текст ACL
Моя ошибка была в том, что я использовал конструкцию как в Properties - Type => { Name =>...
НО!
В списке только одно значение из
Код: Выделить всё
Type => ['Incident', 'Rfc'],
Здесь какое-то ограничение? Или я опять с синтаксисом или грамматикой накосячил?
И еще вопрос, если позволите
С двумя последующими ACL для динамических полей - наблюдается разница в работе для клиента и агента
Для клиента работает отлично, а для агента - во второе (зависимое) поле сразу подставляется первое допустимое значение из списка - вместо прочерка как у клиента и что более правильно.
Текст ACL
Код: Выделить всё
$Self->{TicketAcl}->{'490 ACL-Customer-Types'} = {
Properties => {Frontend => {Action => ['CustomerTicketMessage'] }},
Possible => {
Ticket => {
Type => ['Incident', 'Rfc'],
},
},
};
$Self->{TicketAcl}->{'500 - Category --> ProjectName_1'} = {
Properties => {
DynamicField => {
# keys must be in DynamicField_<field_name> format
DynamicField_CategoryName => ['015'],
},
},
Possible => {
Ticket => {
DynamicField_ProjectName => ['02 Cartrige', '04 DrumUnit'],
},
},
};
$Self->{TicketAcl}->{'510 - Category --> ProjectName_2'} = {
Properties => {
DynamicField => {
# keys must be in DynamicField_<field_name> format
DynamicField_CategoryName => ['001'],
},
},
Possible => {
Ticket => {
DynamicField_ProjectName => ['01 Toner', '03 Fuser'],
},
},
};
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Мой ГЛЮК
Вместо RfC написал Rfc
Еще раз большое спасибо за помощь!!!
А с разницей у агентов и клиентов при общем ACL так и непонятно. (подробности в предыдущем сообщении)
Вместо RfC написал Rfc
Еще раз большое спасибо за помощь!!!
А с разницей у агентов и клиентов при общем ACL так и непонятно. (подробности в предыдущем сообщении)
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
Юрий,
1) по поводу типов - в названии типа RfC C - заглавная. Если задать
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident','RfC'],
},
},
}
то все успешно работает
2) у Вас указана опция Add empty value для этих динамических полей?
1) по поводу типов - в названии типа RfC C - заглавная. Если задать
$Self->{TicketAcl}->{'MyTest'} = {
Properties => {
Frontend => {
Action => ['CustomerTicketMessage'],
},
},
Possible => {
Ticket => {
Type => ['Incident','RfC'],
},
},
}
то все успешно работает
2) у Вас указана опция Add empty value для этих динамических полей?
Re: Использование ACL
У меня add empty value не указано, и в агентском и клиентском интерфейсах ACL отрабатывают одинаково - выбирается первое значение из списка.
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Использование ACL
Да указана, и у клиента все отлично, а у агента подставляется первое из допустимых сразу. Потом его можно поменять, но кривовато это. Динамические поля перенесены верхнюю часть формы и выводятся по отдельности и у клиентов и у агентов, но проверял и без этих изменений, работает также.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
Re: Использование ACL
У меня тоже возникла разница между работой одного и того же ACL в разных интерфейсах:
$Self->{TicketAcl}->{'Service-Product-005'} = {
Properties => {
Service => {
ServiceID => [5],
},
},
Possible => {
Ticket => {
DynamicField_Product => ['Third-party products'],
},
},
}
прекрасно работает в клиентском интерфейсе и вообще не работает в агентском (заявка по телефону).
Тоже никак не могу понять, почему (
$Self->{TicketAcl}->{'Service-Product-005'} = {
Properties => {
Service => {
ServiceID => [5],
},
},
Possible => {
Ticket => {
DynamicField_Product => ['Third-party products'],
},
},
}
прекрасно работает в клиентском интерфейсе и вообще не работает в агентском (заявка по телефону).
Тоже никак не могу понять, почему (