(РЕШЕНО) Ссылки в ответе клиенту на статью FAQ тип external

Обсуждение вопросов и решений

Модератор: ykolesnikov

Ответить
masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

(РЕШЕНО) Ссылки в ответе клиенту на статью FAQ тип external

Сообщение masalexven » 09 ноя 2012, 14:05

Добрый день всем!

Проявилась следующая проблема. Установили модуль FAQ. Все прекрасно работает. По документации в ответах клиентам можно вставлять текст из статей FAQ. Собственно текст то и вставляется, но без картинок и поэтому данный текст становится бессмысленным.
Можно ли вставлять в ответ клиенту ссылку на статью в FAQ, через встроенную кнопку [FAQ] в ответе (сейчас там такой возможности нет).
Проблема еще в том, что адрес ссылки у агента и клиента разный, поэтому агент не может просто найти у себя в разделе нужную статью и ссылку на нее поместить в ответ.

Заранее спасибо за ответы.
Последний раз редактировалось masalexven 10 ноя 2012, 19:27, всего редактировалось 2 раза.
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение alexus » 09 ноя 2012, 14:10

1. Если статья FAQ отмечена как "public", то можно вставлять в ответ ссылку. Публичный интерфейс FAQ доступен по адресу server/otrs/faq.pl. - Это можно узнать из пунктов 2-4!
2. http://faq.otrs.org/otrs/public.pl?Acti ... ItemID=262. Это FAQ для FAQ :-). В котором описаны кратко 2 последующих пункта 3 и 4!
3. http://doc.otrs.org/3.1/en/html/public-interface.html. Читайте документацию!
4. 2.5. Agent and customer interfaces. Это имя раздела из документации к модулю FAQ, которую можно обнаружить в Управлении пакетами!
Думается мне ввести предложение не отвечать на вопросы, ответы на которые прямо содержатся в документации :evil: !
С уважением,
Алексей Юсов

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? Спросите меня как!

masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение masalexven » 09 ноя 2012, 19:59

alexus писал(а):1. Если статья FAQ отмечена как "public", то можно вставлять в ответ ссылку. Публичный интерфейс FAQ доступен по адресу server/otrs/faq.pl. - Это можно узнать из пунктов 2-4!
2. http://faq.otrs.org/otrs/public.pl?Acti ... ItemID=262. Это FAQ для FAQ :-). В котором описаны кратко 2 последующих пункта 3 и 4!
3. http://doc.otrs.org/3.1/en/html/public-interface.html. Читайте документацию!
4. 2.5. Agent and customer interfaces. Это имя раздела из документации к модулю FAQ, которую можно обнаружить в Управлении пакетами!
Думается мне ввести предложение не отвечать на вопросы, ответы на которые прямо содержатся в документации :evil: !
Спасибо за ответ.
Про публичный FAQ я и так понимал. Проблема как раз в статьях, у которых тип external. А таких статей абсолютное большинство. Мы хотим создать подробный FAQ, который будет виден из личного кабинета клиента, но не виден всему Интернету. Как быть с этим типом статей? Не будет же агент каждый раз вручную поправлять ссылку.
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение alexus » 09 ноя 2012, 21:53

Можно попробовать доработать модуль FAQ под вашу задачу.
С уважением,
Алексей Юсов

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? Спросите меня как!

masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение masalexven » 10 ноя 2012, 16:38

alexus писал(а):Можно попробовать доработать модуль FAQ под вашу задачу.
Спасибо, мы только внедряем систему. Если сами не справимся, то попросим помощи. Я надеялся, что не у одного меня такие проблемы были, модулем FAQ многие должны пользоваться, зачем целиком каждый раз текст копировать, если достаточно клиенту ссылку в нужное место дать, а там уже расписать с картинками подробно. И FAQ многие делают свой и не спешат делиться накопленными знаниями со всем миром. :)
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение masalexven » 10 ноя 2012, 19:08

Проблему решил своими силами.

Может кому поможет.

Редактируем файл /otrs/Kernel/Modules/AgentFAQZoom.pm
Сначала после строки 522 добавляем текст:

Код: Выделить всё

######################################## get the customer state type #####################################
##########################################################################################################
        my $CustomerStateType = $Self->{FAQObject}->StateTypeGet(
            Name   => 'external',
            UserID => $Self->{UserID},
        );

##########################################################################################################
Потом после строки 571 (после } - закрытие if для типа public) добавляем текст:

Код: Выделить всё

############################################### check if FAQ article is customer #######################################
########################################################################################################################
        if ( $FAQData{StateTypeID} == $CustomerStateType->{StateID} ) {

            my $HTTPType = $Self->{ConfigObject}->Get('HttpType');
            my $FQDN     = $Self->{ConfigObject}->Get('FQDN');
            my $Baselink = $Self->{LayoutObject}->{Baselink};

            # rewrite handle
            $Baselink
                =~ s{ index[.]pl [?] }{customer.pl?}gxms;

            $FAQData{Publiclink} = $HTTPType . '://' . $FQDN . $Baselink
                . "Action=CustomerFAQZoom;ItemID=$FAQData{ItemID}";

            # show "Insert Link" button
            if ( $TicketComposeConfig->{ShowInsertLinkButton} ) {
                $Self->{LayoutObject}->Block(
                    Name => 'InsertLink',
                    Data => {},
                );
                $ShowOrBlock = 1;
            }

            # show "Insert Text and Link" button
            if ( $TicketComposeConfig->{ShowInsertTextAndLinkButton} ) {
                $Self->{LayoutObject}->Block(
                    Name => 'InsertBoth',
                    Data => {},
                );
                $ShowOrBlock = 1
            }
        }
########################################################################################################################
В результате для типа статьи external(customer) получаем возможность вставлять текст, ссылку или текст+ссылка, как для типа public с помощью стандартного интерфейса. Также настройки в Конфигурации системы в разделе FAQ -> Core::TicketCompose теперь распространяются и на тип external(customer).
Единственное потенциальное неудобство - ссылка в самом ответе/замечании и т.д. (где ее вставили) работает только со стороны клиента. Со стороны агента она естественно не работает.

Маленький вопрос: поскольку данный файл правится в директории /otrs/Kernel/Modules/, то его нельзя скопировать в директорию кастомных тем или можно? Как такие файлы сохранить в свете обновлений?
Последний раз редактировалось masalexven 11 ноя 2012, 11:54, всего редактировалось 1 раз.
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

Creative
OTRS Новобранец
Сообщения: 132
Зарегистрирован: 22 июн 2011, 14:33
Откуда: Татарстан, Альметьевск

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение Creative » 11 ноя 2012, 09:51

masalexven писал(а):Проблему решил своими силами.

Может кому поможет.

Маленький вопрос: поскольку данный файл правится в директории /otrs/Kernel/Modules/, то его нельзя скопировать в директорию кастомных тем или можно? Как такие файлы сохранить в свете обновлений?
Молодец. У меня была подобная идея, но руки таки не дотянулись до сих пор поковырять модули FAQ. Закинь в хавтусы, чтобы не потерялось.

Насчёт переноса в кастомную область. Из личного опыта.
файлы из Modules и System продублированные в кастомную директорию, с учетом иерархии, работают прекрасно. Верхом кастомной иерархии (первым подкаталогом в Custom) должен быть Kernel.

Остальные кастомизации делаются прямо в Kernel без выноса в отдельную область.

Вывод настраивается созданием каталога своей темы в Output/HTML/

Для создания свего конфиг-файла (позволяющего добавлять параметры в админский конфигуратор системы) нужно в Kernel/Config/Files сделать его дубль с
суффиксом "_Custom". Получаем, к примеру, при желании добавить или скорректировать параметр в области конфигурирования "Ticket" нужно скопировать Ticket.xml в Ticket_Custom.xml (не забываем про регистры при написании имён) и уже в нём править.

Как настраивается перевод думаю объяснять не стоит. Раз в неделю этот вопрос стабильно на форуме поднимается.
Про Config.pm в манах прерасно описано.

Про ссылку работающую и на клиенте и в web агента. Думаю можно релизовать, но надо менять стандартный вывод чтобы к примеру отображать только номер faq, а ссылку не хранить в тексте, а каким либо образом получать на лету. Т.е. организовать работу с якорями.
А сама идея интересная. Что-то про генерацию ссылок на основе номера faq было в конфигах. Но там если не изменяет память была генерация ссылок на msbulletin или что-то подобное, т.е на внешнюю базу.
Мозг человека обычно загружен лишь на 10% своей мощности, остальное - резерв для операционной системы.

OTRS 3.1.4; ITSM 3.1.6; Ubuntu Server 12.04 LTS
Андрей Ананьев

masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение masalexven » 11 ноя 2012, 12:11

Creative писал(а):
Молодец. У меня была подобная идея, но руки таки не дотянулись до сих пор поковырять модули FAQ. Закинь в хавтусы, чтобы не потерялось.

Насчёт переноса в кастомную область. Из личного опыта.
файлы из Modules и System продублированные в кастомную директорию, с учетом иерархии, работают прекрасно. Верхом кастомной иерархии (первым подкаталогом в Custom) должен быть Kernel.

Остальные кастомизации делаются прямо в Kernel без выноса в отдельную область.

Вывод настраивается созданием каталога своей темы в Output/HTML/
У меня тут вроде нет прав переносить тему из 1 раздела в другой. Если администратор сочтет нужным, то перенесет.
На счет кастомной директории разобрались, запрос можно закрывать. Всем спасибо.
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

merkushov
OTRS Бывалый
Сообщения: 310
Зарегистрирован: 25 окт 2012, 15:06
Откуда: Воронеж
Поблагодарили: 2 раза

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение merkushov » 12 ноя 2012, 09:58

masalexven писал(а): Единственное потенциальное неудобство - ссылка в самом ответе/замечании и т.д. (где ее вставили) работает только со стороны клиента. Со стороны агента она естественно не работает.
А что мешает в этом же модуле генерировать ссылку исходя из того кто её запрашивает Агент или Клиент? Нужно поставить проверку типа пользователя и в зависимости от этого применять или не применять регексп $Baselink =~ s{ index[.]pl [?] }{customer.pl?}gxms;
Меркушов Виктор, perl программист

masalexven
OTRS Новобранец
Сообщения: 22
Зарегистрирован: 06 ноя 2012, 15:57

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение masalexven » 12 ноя 2012, 15:46

merkushov писал(а):
masalexven писал(а): Единственное потенциальное неудобство - ссылка в самом ответе/замечании и т.д. (где ее вставили) работает только со стороны клиента. Со стороны агента она естественно не работает.
А что мешает в этом же модуле генерировать ссылку исходя из того кто её запрашивает Агент или Клиент? Нужно поставить проверку типа пользователя и в зависимости от этого применять или не применять регексп $Baselink =~ s{ index[.]pl [?] }{customer.pl?}gxms;
Я пока не настолько продвинут, чтобы понять, как сделать эту проверку, если вы подскажите, я буду только рад. Только это модуль вставляет уже сгенерированную ссылку в ответ клиенту, а потом эта ссылка статична в ответе и работает только со стороны клиента.
OTRS 3.1.11 ITSM 3.1.6 FreeBSD

merkushov
OTRS Бывалый
Сообщения: 310
Зарегистрирован: 25 окт 2012, 15:06
Откуда: Воронеж
Поблагодарили: 2 раза

Re: Ссылки в ответе клиенту на статью в FAQ

Сообщение merkushov » 13 ноя 2012, 09:34

masalexven писал(а):
merkushov писал(а):
masalexven писал(а):Только это модуль вставляет уже сгенерированную ссылку в ответ клиенту, а потом эта ссылка статична в ответе и работает только со стороны клиента.
Вот этого я не учёл. Тогда мой вариант не подходит.
Меркушов Виктор, perl программист

Ответить