Добрый день!

Подскажите как активировать процесс по созданию Базы знаний после решения обращения.

Удалила его из справочника Деактивированных процессов, процесс Активный. Но при переводе обращения в стадию "Решено" процесс не запускается, меняла язык в системе на английский, ситуация не изменилась. 

 

Нравится

1 комментарий

Яна, проверьте в самом процессе условия его запуска по сигналу. Возможно, кроме стадии там проверяют ещё какие-то поля и в Вашем случае условие не выполняется.

Систему не обновляли перед этим? Процесс не пробовали опубликовать? Возможно, там есть элементы, требующие публикации.

Показать все комментарии

Коллеги, добрый день! 



Хочу создать базу инструкций по работе с системой. Классическая документация от Террасофт нам не подходит т.к очень много функционала сделаного исключительно под собственные нужны.



Хочется использовать для этого Базу знаний, но работать в ней с текстами и графикой совершенно не удобно.



Подскажите, может быть есть какие-то дополнения или другие способы, которые могут расширить функционал БЗ? Особенно интересует возможность работы с текстами в HTML (форматирование текста, размер картинки и тд).

Нравится

3 комментария

Андрей, добрый день!

На данный момент на странице записи базы знаний присутствует специальное поле с HTML форматированием, которое частично поддерживает работу с текстами в HTML (можно устанавливать разные шрифты, изображения). В приложении bpm’online для реализации такого поля используется CKEditor, это сторонняя разработка. Функционал базовых возможностей данного поля реализован в ядре приложения. 

Уточните, пожалуйста, какого именно функционала недостает, мы передадим информацию аналитикам продукта для рассмотрения возможности внедрения новой версии редактора.

Одеяненко Юлия,

Здравсвуйте! А где найти это специальное поле? Не вижу его у себя в редакторе.

На счет функционала: изменения размера картинок, работа с таблицами, якоря.

Andrey Aleksandrov,

имелось в виду поле, над которым специальная панель со шрифтами, списками, расположением текста и т. п. (на скриншоте в рамочке - 

http://prntscr.com/k0bv1u).

У нас были ранее зарегистрированы пожелания по расширению функционала данного поля: возможность редактировать таблицы, форматирование изображений. Касательно якорей, идея прозвучала впервые, мы ее также зарегистрировали и передали аналитикам продукта для рассмотрения и, возможно, реализации в будущих релизах.

Спасибо, что помогаете улучшать наши продукты!

Показать все комментарии

Стоит задача расширить поле "Решение" статьи БЗ от "края до края" для мониторов с разрешением 1920x1080. В принципе можно подключить свой модуль с CSS, и указать

#KnowledgeBasePageV2KnowledgeBasePageGeneralBlockGridLayout-item-KnowledgeBasePageV2NotesContainer{
        width: 110% !important;
}

но в таком случае на мониторах с разрешением меньше, поле не подгоняется под их размер. Подскажите как решить данную задачу.

Нравится

6 комментариев

Олег, в базовых карточках (кроме EmailPageV2, можете как пример использовать) задана фиксируемая ширина:

body[OldUI=false] .center-main-container .grid-layout-row {
  max-width: 140em;
}

Вы можете переопределить базовый для нужного раздела, только укажите дополнительный селектор, чтобы не перекрыть логику ВСЕХ карточек. Например: data-item-marker="KnowledgeBasePageGeneralBlock"

Спасибо за ответ. Такой вариант почему-то не срабатывает. Я нашел немного другое решение, но в таком случае приходится задавать ширину под определенное разрешение

@media (min-width: 1920px) {
	width: 110% !important;
}

Здравствуйте,
Вам нужно классу grid-layout-row ts-box-sizing
Во вложенности под id KnowledgeBasePageV2KnowledgeBasePageGeneralBlockGridLayout
Сбросить стиль max-width в none;
Тогда нужное поле будет во всю ширину на любых разрешениях.

Сбросил max-width в none, теперь не нужно указывать конкретное разрешение. Приведите пожалуйста пример как переопределить свойство класса во вложенности по id? Не смог разобраться, и сделал пока так:

#KnowledgeBasePageV2KnowledgeBasePageGeneralBlockGridLayout > div{
	max-width: none;
}

Извиняюсь, под #KnowledgeBasePageV2KnowledgeBasePageGeneralBlockGridLayout и нет id, так что вариант с #KnowledgeBasePageV2KnowledgeBasePageGeneralBlockGridLayout > div идеальный :twisted:

Если Вам требуется на всю ширину экрана, можете не заморачиваться с @media селекторами
Используйте специальные CSS единицы измерения Viewport Units: vw (1/100 процентное отношение к текущей ширине окна браузера) и vh (1/100 процентное отношение к текущей высоте окна браузера).

width: 100vw
В таком случае вне зависимости от размера экрана - элемент будет занимать всю доступную ширину окна, будьте внимательны с текущим значением box-sizing от чего будет зависеть будут ли в размер элемента включаться его border и margin в зависимости от этого иногда установка 100vw может привести к появлению горизонтальной полосы прокрутки, в таком случае необходимо будет или дополнительно скорректировать отсуты/границы или установить чуть меньшее значение в vw (98 - исходя из практики решает вопросы с типовыми проблемами)

Показать все комментарии

В обновлении 7.9.1 добавили сохранение отображения дерева папок в профиль пользователя. Подскажите возможно ли сделать отображение дерева по умолчанию для новых пользователей? Сейчас по умолчанию дерево папок скрыто.

Нравится

4 комментария

Добрый день, Олег!
Настройка отображения групп настраивается с помощью прав доступа по умолчанию на запись. Желательно настраивать права доступа до момента создания самих записей, чтоб на них уже раздавались права согласно Вашим пожеланиям.

Для настройки прав на группы, необходимо перейти в конфигурирование на вкладку "Администрирование" и найти объект "Группа базы знаний", на данный объект уже включено администрирование по записям, но права не настроены специально с расчетом на то, что кто создал группу, тот ее и видит.
Для настройки прав, чтоб при создании группы ее выдели другие пользователи, необходимо добавить правило раздачи прав по умолчанию на "Чтение", как минимум.
Например, как указано на скриншоте "2017-02-28"
В таком случае при создании группы любым пользователем, входящим в роль "Все сотрудники компании" будут розданы права всем пользователям, входящим в роль "Все сотрудники компании" и "Все пользователи портала". Это правило указано как пример, Вы можете настроить согласно Вашим требованиям.

Для того, чтоб применились Ваши правила раздачи прав на уже существующие записи в системе, необходимо выполнить два скрипта во вложении. Сначала выполнить скрипт №1, потом №2.
После, для всех уже существующих групп будут розданы права согласно правилам.

Я имел ввиду визуальное отображение дерева папок (по действию Фильтр - Показать группы).

Здравствуйте, Олег!

К сожалению, на текущий момент данный функционал не реализован в базовой версии системы.
Мы передали Ваше пожелание в отдел разработки, для анализа возможности внедрения в будущих версиях системы.

Спасибо конечно, но я уже сделал. Может кому-то будет нужно:

initLeftSectionContainerSize: function(callback, scope) {
    Terrasoft.require(["profile!" + this.getLeftSectionContainerSizeProfileKey()],
        function(leftSectionContainerSize) {
            this.set("ShowFolders", !Object.getOwnPropertyNames(leftSectionContainerSize).length);
            this.set("LeftSectionContainerSize", leftSectionContainerSize);
            Ext.callback(callback, scope);
    }, this);
},
onGridDataLoaded: function() {
    this.callParent(arguments);
    if ( this.get("ShowFolders") ) {
        this.showFolderTree();
    }
}

ShowFolders - атрибут типа bool

Показать все комментарии

Задача следующая: при настройке прав доступа на группу статей в базе знаний, раздавать те же права на все подгруппы в ней (а так же все статьи им соответствующие).
Замещать модуль Rights или RightUtilities (и создать свой сервис, унаследовавшись от RightsHelper) не хочется, т.к. при его изменении в последующих обновлениях пришлось бы постоянно переписывать замещающий модуль.
Лучшим решением казались триггеры в БД на INSERT для таблицы [SysKnowledgeBaseFolderRight]. Я использовал два курсора (один вложен в другой) для перебора записанных строк, и подгрупп для каждой группы. Но если уровень подгрупп больше 1, триггер не отработает т.к. пытается по сути объявить курсор, который уже объявлен.
Да и каким образом с помощью триггера раздавать права на статьи в группах не имею представления.
Есть ли еще варианты, или все-таки придется замещать модуль Rights (RightUtilities)?

Нравится

2 комментария

Примерный(костыльный вариант):
1) расковырять схему Rights. В методе onSaveClick

RightUtilities.applyChanges({
	"recordRights": changedRights,
	"record": {
		entitySchemaName: this.get("entitySchemaName"),
		primaryColumnValue: this.get("primaryColumnValue")
	}
}, this.onChangesApplied, this);

т.е у нас есть список прав, название схемы с фильтрами в entitySchemaName, id фильтра в primaryColumnValue.
По идее, если entitySchemaName === "KnowledgeBaseFolder", то запускаем свою логику по изменению прав записей
2) Выбираем из KnowledgeBaseFolder вложенные папки, где ParentId = Id главной папки, получаем коллекцию, бежим по каждой записи
3) Для каждого элемента вставляем/удаляем запись в таблицу SysKnowledgeBaseFolderRight. Значения берем из переменной changedRights с п1.

Для записей еще жестче:
п1. такой же
2) Выбираем из KnowledgeBaseFolder фильтр по id, который мы знаем из предыдущего пункта, нужна колонка SearchData. Там лежит мусор) Весь вопрос как этот хлам преобразовать в сериализованый(или нет) фильтр.
3) Выбираем из KnowledgeBase все записи с фильтром из п2, получаем коллекцию, бежим по каждому элементу коллекции.
4) Для каждого элемента из базы знаний вставляем/удаляем запись в таблицу SysKnowledgeBaseRight. Значения берем из переменной changedRights с п1.

как-то так :smile:

upd. Только что проверил, в п2. берем entity по id, потом

var folderFilter = Terrasoft.deserialize(result.entity.values.SearchData);

все. получаем фильтр, который надо наложить на выборку из KnowledgeBase

Спасибо за ответ :smile:
В принципе я, не найдя другого решения, делаю примерно тоже самое. Заместил модуль RightUtilities, в котором меняю вызываемый сервис на свой в методе callServiceMethod, если вызывается метод "ApplyChanges".
Далее уже на сервере проверяю имя схемы, и если это KnowledgeBaseFolder - рекурсивно прохожусь по всем подпапкам раздавая права, а также выбираю фильтры у каждой, десериализуя их и раздавая права на статьи.
Старался максимально вынести функционал на сервер. Таким образом при обновлении версии/билда если изменится RightUtilities - придется добавить в него всего одну строку. А на сервере я создаю экземпляр класса RightsHelper и вызываю у него метод ApplyChanges, как это делается в базовом RightsService (что в принципе устойчиво к обновлениям).

Показать все комментарии

Добрый день!
7.6
В карточке редактирования Базы знаний есть такое поле Решение ( с HTML-тегами)
Можно ли увеличить его размер? - высоту увеличить

Не через мастер не получается увеличить(почему-то обратно потом уменьшается), ни через дизайнер.
Это максимальный размер такого поля?

Нравится

4 комментария

Дарья, оно конфигурируется в карточке, надо искать где и пробовать мержить...

Александр, вот это поле в карточке

{
"operation": "insert",
"parentName": "KnowledgeBasePageGeneralBlock",
"propertyName": "items",
"name": "Notes",
"values": {
"contentType": Terrasoft.ContentType.RICH_TEXT,
"layout": {"column": 0, "row": 0, "colSpan": 24},
"labelConfig": {
"visible": false
},
"controlConfig": {
"imageLoaded": {
"bindTo": "insertImagesToKnowledgeBase"
},
"plainTextValue": {
"bindTo": "NotHtmlNote"
},
"images": {
"bindTo": "knowBaseImagesCollection"
},
"plainTextMode": {
"bindTo": "plainTextMode"
}
}
}
}

Как можнно увеличить его размер?

Вероятно как-то так:
сontentType": Terrasoft.ContentType.RICH_TEXT,
"layout": {"column": 0, "row": 0, "colSpan": 24},
"height": "600px",

Спасибо

Показать все комментарии

Добрый день!
ITIL 7.6
В разделе База знаний есть такое поле как Решение и Решение без HTML-тегов.
Подскажите, пожалуйста, где посмотреть реализацию поля "Решение без HTML-тегов" - где происходит расчет этого поля?

Нравится

2 комментария

Дарья, скорее всего реализацию можно посмотреть в KnowledgeBasePage.....

Спасибо, посмотрю

Показать все комментарии