
Отчеты
- Теперь вы можете изменять размер любых диаграмм при просмотре отчета — просто зажмите иконку в правом нижнем углу диаграммы и отрегулируйте ее размер:
- Изменение размера диаграммы недоступно в стандартных отчетах
- При изменении размера диаграммы пропорционально увеличивается или уменьшается сама диаграмма и все ее данные
- Если размер диаграммы больше отображаемой области на экране, появится горизонтальная прокрутка
- Изменения размера диаграммы сохраняются в отчете индивидуально для каждого пользователя
- При получении доступа к отчету по ссылке пользователи могут изменить размер диаграммы, но при обновлении страницы или повторном открытии отчета изменения размера будут сброшены

- При просмотре столбчатых диаграмм (с накоплением и без) вы можете сразу увидеть их числовые значения — в настройки диаграммы на вкладке Параметры мы добавили параметр Отображать значения в столбцах:
- Если флаг установлен, при просмотре диаграммы в столбцах сразу будут отображаться числа
- Если флаг снят (значение по умолчанию), значения столбцов диаграммы отображаются только при наведении курсора на столбец

- В разделе Отчеты в списке всех отчетов мы добавили отображение ФИО автора отчета или папки отчета, чтобы вы могли при необходимости получить права к отчету заблокированного пользователя:
- Вместо автора отображается прочерк для папки Стандартные отчеты и, если автор отчета/папки отчета был удален
- На панели фильтрации доступен фильтр Автор, где можно выбрать из списка одного или нескольких пользователей (в списке отображаются все пользователи, кроме заблокированных и удаленных)
- На вкладке Общий доступ карточки отчета сведения о делегированных правах отображаются так же, как и записи о выдаче прав конкретному пользователю

Объекты и Дела
- При просмотре раздела Дела или разделов с объектами вы можете настроить ширину колонок в списке дел/объектов, передвигая границу в наименовании колонки:
- Минимальная ширина колонки — 80 px, максимальная ширина не установлена
- Изменение ширины колонки возможно при любом количестве колонок, но применяется только для текущего пользователя
- Сбросить настройки можно с помощью кнопки
в настройках колонки (при наведении курсора на кнопку отображается подсказка: Восстановить настройки колонок по умолчанию)
- При наведении курсора на наименование колонки меню для перемещения колонки не отображается — выделяется фон у всей ширины колонки

- Теперь значение в поле с типом Встраиваемый код обновляется автоматически в момент сохранения изменений значения поля, если оно используется в качестве источника с помощью конструкции @System_Tag.
- Поскольку База знаний и Реестры теперь являются объектами:
- В Главном меню:
- Удален раздел Реестры
- Если на определенный класс реестра есть права доступа, он отображается отдельным разделом (как объекты)
- Раздел База знаний теперь отображается, как настроенный класс объектов
- При переходе в раздел класса реестра в списке реестров отображаются:
- Колонка Название
- Для перенесенных реестров — список колонок согласно настройкам формы реестра на вкладке Таблица в блоке Колонки
- Для новых реестров отображаются колонки, предусмотренные по умолчанию для объектов: Дата создания, Название, Номер, Ответственный, Тип
- В карточке перенесенного реестра системные поля блока Основное будут заполнены вне зависимости от настроек их видимости:
- Ответственный — системный пользователь (Workflow Service)
- Дата создания — дата создания реестра
- Тип объекта — тип реестра
- Название объекта — значение из ключевого поля реестра, если в качестве ключевого поля выбрано поле с типом:
- Логическое или Чекбокс, значение будет интерпретировано — Да или Нет
- Дата и Дата и время, значение будет интерпретировано по маске: даты — dd.mm.yyyy или времени — hh:mm
- Число, значение будет интерпретировано, как: 1 000,00
- Если в качестве ключевого поля выбрано ссылочное поле и в нем нет значения, в названии объекта будет указан прочерк
- Автор — автор объекта реестра
- Номер объекта — согласно присвоению номера объектам
- При переходе в раздел База знаний:
- На панели слева отображаются папки перенесенных подборок с карточками решений, которые были в подборке
- В списке карточек решений отображаются:
- Колонка Название
- Для перенесенных решений — список колонок из полей карточки решения: Тип решения, Номер служебной записки, Дата служебной записки и Заказчик
- Для новых решений отображаются колонки, предусмотренные по умолчанию для объектов: Дата создания, Название, Номер, Ответственный, Тип
- В карточке перенесенного решения системные поля блока Основное будут заполнены вне зависимости от настроек их видимости:
- Ответственный — системный пользователь (Workflow Service)
- Дата создания — дата создания реестра
- Тип объекта — База знаний
- Название объекта — значение из поля Тип решения
- Автор — автор карточки решения
- Номер объекта — значение из поля Номер решения
- В Главном меню:

Документы
Поскольку мы перенесли реестры в объекты:
- Папка Реестры перестала быть системной.
- Внутри папки Реестры созданы папки с документами для каждого реестра (по аналогии с делами и объектами).

Фильтрация
Чтобы упростить переназначение ответственных, например, по задачам, теперь вы можете выбрать заблокированных пользователей и клиентов во всех фильтрах по пользователю или ответственному — в списке значений фильтров рядом с ФИО таких пользователей и клиентов отображается статус (заблокирован).

Настроенные разделы (секции)
Если администратором настроен раздел с типом Таблица, вы можете просматривать сведения об объектах и делах в отдельном разделе, работа с которым аналогична работе с таблицами в карточках объектов и дел.

Активности
Мы добавили проверки активностей (таймлогов), чтобы исключить возможность их дублирования и привязки к другой сущности:
- При создании события по таймлогу выполняется проверка наличия связанного события:
- Если связанного события не найдено, активность будет добавлена
- Если связанное событие существует, отобразится ошибка: Такая активность уже существует
- Настроили периодическую проверку всех активностей, которые не привязаны к объектам:
- Интервал проверки и срок хранения записей можно указать в файле настроек конфигурации
- Значения по умолчанию: интервал — ежедневно, срок хранения — 6 месяцев
- В результате проверки будут удалены таймлоги, которые залогированы раньше заданного срока (значение LogDate)
Улучшения и исправления
- В карточке объекта исправили отображение роли участника на вкладке Роли, если в поле с типом Объект-Участник было сброшено значение — теперь отображается только одна запись об изменении роли.
- (CRM) Поправили ошибку расчета бюджета сделки до сохранения карточки, которая возникала при заполнении поля Количество лицензий в карточке сделки.
- Теперь при заполнении поля с типом Объект-Пользователь в результате срабатывания сценария автоматизации, если в настройках поля был указан уровень доступа, он будет корректно присвоен пользователю.
- Исправили ошибку при заполнении ИНН в карточке организации — теперь ошибка с текстом Обратитесь к администратору при вводе некорректного или неполного ИНН не отображается.
- Поправили отображение сведений по документам, полученным из Casebook при синхронизации дела — теперь на вкладке История формы документа, полученного в результате синхронизации, при наведении на иконку монитора в строке Casebook создал документ отображаются сведения об ответчике.
- Теперь при попытке поставить на отслеживание в профиле организацию, мониторинг которой уже выполняется, отобразится уведомление.
- Исправили автоматическое округление чисел, дробная часть которых близка к нулю — теперь округление выполняется корректно и зависит от настроек количества знаков после запятой.
- Поправили ошибку обновления поля с датой следующего заседания при синхронизации с завершенным делом.
- Исправили ошибку, которая возникала при попытке открыть форму клиентского запроса, полученную по ссылке (для незарегистрированных пользователей).
- Поправили ошибку загрузки изображений в профиле для конфигурации Windows — теперь при загрузке изображения в формате *.bmp или *.gif ошибка не отображается.

Объекты
- В разделе Объекты при создании класса объекта на вкладке Настройки вы можете настроить способ управления доступом к объектам с помощью флага Запретить свободный доступ к объектам:
- Если флаг установлен (значение по умолчанию), типы объектов этого класса будут доступны для автошаринга при настройке групп пользователей
- Если флаг снят, все объекты этого класса будут доступны всем пользователям, и их можно использовать, например, в качестве реестров или справочников с доп. атрибутами:
- Возможные действия с объектами этого класса будут зависеть только от роли пользователя и настроенных в ней прав
- При настройке групп пользователей типы объектов этого класса будут недоступны для автошаринга
- Если в типе объекта для поля с типом Объект-Пользователь было указан уровень прав в настройке Предоставить права доступа, права не будут учитываться (как при значении Не выбрано в настройке)
- В контекстном меню папок, проектов и папок документов пункт Общий доступ не будет отображаться
- На вкладке Настройки карточки объекта будут скрыты блоки Пользователи и Клиенты
- Будет отключена проверка доступности сущностей в следующих разделах Case.one:
- Объекты (Дела)
- События
- Задачи
- Документы
- Контакты
- Отчеты
- Биллинг → Счета
- Календарь
- Заметки
- Сценарии автоматизации
- После создания класса объекта изменение флага Запретить свободный доступ к объектам недоступно

- Мы перенесли формы реестров в объекты — теперь отдельный раздел Администрирование — Реестры не отображается:
- Каждая настроенная форма реестра перенесена в отдельный класс объекта со следующими параметрами:
- Название объекта — название формы реестра
- Название раздела — название формы реестра
- Иконка — дело
- Запретить свободный доступ к объектам — флаг снят
- В каждом классе объекта для реестра создан отдельный тип объекта, куда перенесены все настройки формы реестра, кроме сведений из вкладки Таблица:
- На вкладке Основное типа объекта:
- Предусмотрена лишь одна стадия
- Порядок блоков и их настройки аналогичны порядку и настройкам блоков из перенесенной формы реестра со вкладки Объект
- Поле, которое было выбрано на форме реестра Ключевым полем, будет обязательным для заполнения
- На вкладке Папки типа объекта папки созданы не будут, если для реестра они не были предусмотрены
- На вкладке Настройки типа объекта:
- Название — отображается название формы реестра
- Трудоемкость — установлено значение 1
- Аббревиатура — первая буква названия типа объекта (по умолчанию)
- Дата для отображения в календаре — поле не заполнено
- Описание — описание из формы реестра
- Флаги Запретить создавать дубликаты и Запретить выделять в новое дело сняты
- В блоке Системные поля все флаги сняты
- В блоке Вкладки включено отображение только для вкладки Основное
- Блоки Правила определения дубликатов и Шаблоны документов не заполнены
- В блоке Шаблон миграции данных можно скачать шаблон импорта
- На вкладке Основное типа объекта:
- Каждая настроенная форма реестра перенесена в отдельный класс объекта со следующими параметрами:

- Мы перенесли Базу знаний в отдельный класс объектов База знаний, который недоступен для изменения и удаления (аналогично классу Дела):
- Для класса База знаний предусмотрены следующие настройки:
- Название объекта — База знаний
- Название раздела — База знаний
- Иконка — дело
- Запретить свободный доступ к объектам — флаг снят
- В списке типов объекта добавлен тип База знаний, куда перенесены сведения из карточки решения:
- На вкладке Основное типа объекта:
- Предусмотрена лишь одна стадия
- Добавлен блок Решение в Базе знаний со всеми полями из прежней карточки решения (изменение параметров блока и полей недоступно):
- Номер решения — поле с типом Текст, обязательно для заполнения
- Тип решения — поле с типом Справочник → Типы решений, обязательно для заполнения
- Дата служебной записки — поле с типом Дата
- Номер служебной записки — поле с типом Текст
- Заказчик — поле с типом Справочник → Филиал
- Предмет анализа — поле с типом Справочник → Предмет анализа, обязательно для заполнения
- Тематика — поле с типом Справочник → Тематика, обязательно для заполнения
- Описание — поле с типом Текстовое расширяемое, обязательно для заполнения
- Категория спора — поле с типом Справочник → Категория судебного спора, обязательно для заполнения
- Файл документа — поле с типом Объект-Документ
- Связанные с решением дела — поле с типом Объект-Дело, является мультистрокой
- Ссылки на дела из КАД — поле с типом Гиперссылка, является мультистрокой
- При переносе сведений из карточки решения в объекты, если в карточке решения в связанных делах были указаны объекты не из класса Дела, под каждый связанный объект будет создан отдельный блок Связанные объекты <Название раздела>, в поле которого будет указан связанный объект
- На вкладке Папки типа объекта папки созданы не будут
- На вкладке Настройки типа объекта:
- В блоке Основное поля недоступны для редактирования:
- Название — База знаний
- Трудоемкость — установлено значение 1
- Аббревиатура — БЗ
- Дата для отображения в календаре — поле не заполнено
- Описание — поле не заполнено
- Флаги Запретить создавать дубликаты и Запретить выделять в новое дело сняты
- В блоке Системные поля все флаги сняты
- В блоке Вкладки включено отображение только для вкладки Основное
- Блоки Правила определения дубликатов и Шаблоны документов не заполнены
- В блоке Шаблон миграции данных можно скачать шаблон импорта
- В блоке Основное поля недоступны для редактирования:
- На вкладке Основное типа объекта:
- Для класса База знаний предусмотрены следующие настройки:

Инструмент миграции данных
Теперь вы можете принудительно завершать запущенные сессии импорта:
- Вручную — если у импорта статус В процессе %, в контекстном меню сессии импорта вы можете выбрать пункт Остановить:
- Остановка импорта будет выполнена после подтверждения
- Создание новых объектов или участников (в зависимости от типа импорта) будет прекращено
- Объекты или участники, которые уже были созданы в результате импорта, удалены не будут
- Отображается уведомление о прекращении выполнения импорта
- Статус импорта будет изменен на Остановлен
Если на момент подтверждения остановки импорта сессия импорта уже завершена, отобразится ошибка: "Остановка импорта невозможна. Импорт уже завершен".

- Автоматически — в настройках конфигурации мы добавили новый параметр, где можно указать время, по истечении которого сессия импорта будет автоматически завершена:
- Время указывается в формате hh:mm:ss и отсчитывается с момента запуска импорта
- По умолчанию значение не установлено — автоматическое завершение импорта не выполняется
- При автоматическом завершении сессии импорта:
- Статус импорта будет изменен на Остановлен
- Уведомление в Case.one не отображается
- Если в результате автоматического завершения сессии импорта произошла ошибка, информация об ошибке будет записана в общем логе приложения
Если сессия импорта была завершена принудительно (вручную или автоматически), в лог импорта будет записана причина ошибки из основного лога системы и результат завершения: Импорт данных завершен со статусом Stopped. Всего обработано строк: n, где n — количество записей, которые импорт успешно обработал.
Шаблоны документов
Вы можете прописать в шаблоне документа тег, указывающий на поле из мультистроки с использованием индекса, чтобы при формировании документа по шаблону подставлялись все значения из мультистроки (например, для отображения сведений по нескольким участникам, сведения из которых расположены в мультистроке):
- При использовании индекса в тегах во время формирования документа по шаблону будут выполнены поиск поля из мультистроки, соответствующей указанному индексу, и подстановка данных из этого поля в шаблон:
- Индекс мультистроки должен быть больше 0 и представлен в виде целого числа — пример: <#field tag_for_multiline[2]#>
- Индексация мультистрок начинается с 1 и соответствует порядку в блоке
- Порядок мультистрок считается сверху вниз — первая мультистрока будет иметь индекс [1], вторая — [2] и т.д.
- Теги мультистрок с индексом доступно использовать в таблице
- Если индекс мультистроки не указан в шаблоне, в документе будут добавлены сведения из первой мультистроки, как и прежде.
- При загрузке шаблона с тегами полей из мультиблоков и мультистрок выполняются проверки индексов тегов:
- Если индекс присвоен тегу системного поля, отображается ошибка: Тег является системным и не может содержать порядковый номер {error tag name}
- Если указанный для мультистроки или мультиблока индекс равен 0, отображается ошибка: Порядковый номер должен быть больше 0 {error tag name}
- Если индекс указан для тега не из мультистроки или мультиблока, отображается ошибка: "{field name}" не находится в мультистроке или мультиблоке, поэтому тег не может содержать порядковый номер {error tag name}
Группы
Управлять группами пользователей стало еще удобнее — мы перенесли раздел Группы на новый дизайн для поддержки консистентности стиля Case.one:
- Вид раздела Группы аналогичен разделу Пользователи при просмотре или настройке пользователя или клиента.
- При переходе в раздел Группы откроется первая группа пользователей в списке.
- На панели слева отображается список все групп, а в области справа вы можете настроить параметры группы пользователей.
- Удалить группу вы можете как из списка групп, так и при просмотре конкретной группы с помощью кнопки
.
- При настройке параметров автоматического доступа к папкам, проектам и объектам теперь не нужно устанавливать флаги у атрибутов, по которым предоставляется доступ — просто выберите одно или несколько значений из списка у нужного атрибута.
- В остальном логика управления группами пользователей осталась прежней.

Пользователи
Для возможности автоматической передачи прав доступа к отчету и папкам отчетов заблокированного пользователя в карточки пользователей мы добавили блок Делегирование доступа:
- В блоке вы можете назначить преемника на отчеты при блокировке пользователя:
- Пользователь — в поле вы можете выбрать одного пользователя из списка, при этом пользователь, в карточке которого вы настраиваете передачу прав, в списке не отображается
- Объекты — выбор значения из списка объектов, к которому будут переданы права (в этом релизе в поле отображается только значение Отчеты)

- Блок Делегирование доступа доступен для редактирования при включенной интеграции с SSO Keycloack или Active Directory.
- Если в блоке настроено делегирование прав:
- Выбранному пользователю будет предоставлен доступ ко всем отчетам и папкам отчетов, согласно имеющимся правам у исходного пользователя
- При изменении уровня прав у исходного пользователя, делегированные права у выбранного пользователя будут автоматически пересчитаны
- При удалении исходного пользователя делегированные права будут сброшены
- Если у выбранного пользователя уже есть права на отчет или папку отчета, на вкладке Общий доступ карточки отчета отображается максимальный уровень прав:
- Уровень прав можно изменить, если делегированные права меньше или равны ранее выданным правам
- Уровень прав недоступен для изменения, если делегированные права выше, чем ранее выданные
Роли
Поскольку База знаний и Реестры теперь являются объектами, мы изменили структуру в блоке Права к объектам доступа при настройке ролей:
- В секции Главное меню:
- Раздел Реестры не отображается
- Права доступа назначаются на каждый реестр, как и на класс объекта
- Раздел База знаний отображается, как и раньше
- Отдельная секция Реестр со списком все реестров удалена.
- В секции Объекты:
- Для каждой формы реестра (типа объекта реестра) добавлен отдельный класс (как для классов объекта), права на который зависят от уровня прав, который был настроен для формы реестра
- В каждом типе реестра определить права можно, как и для других типов объекта
- Добавлен отдельная секция с классом объекта База знаний с возможностью настройки прав на каждый тип объекта (как для классов объекта)

Интеграции
SSO Keycloack (OpenID)
- Добавили дополнительные проверки при авторизации пользователя и описание ошибок на отдельной странице, если дополнительные проверки не пройдены:
- Теперь во время авторизации пользователя через SSO Keycloack в Case.one дополнительно выполняются проверки:
- Если проверки не пройдены, сессия пользователя будет прервана, отобразится страница с ошибкой:
- При достижении лимита по количеству пользователей согласно текущему тарифу — На вашем аккаунте достигнуто ограничение по количеству пользователей. Улучшите вашу подписку для увеличения количества пользователей в сервисе. Для возврата на форму авторизации обновите страницу
- При наличии запрета на авторизацию для роли, которой обладает пользователь, попытавшийся авторизоваться — Доступ запрещен, пожалуйста, обратитесь к администратору. Для возврата на форму авторизации обновите страницу
- Теперь значение поля Отчество в карточке пользователя синхронизируется с SSO Keycloack:
- Если интеграция включена, отчество недоступно для редактирования в Case.one
- При изменении значения поля Отчество в SSO Keycloack значение будет автоматически обновлено в Case.one при следующем обмене данными
- Если поле Отчество не заполнено в SSO Keycloack, значение поля в Case.one будет сброшено при следующем обмене данными
- В конфигурационном файле возможно указать соответствия поля Отчество
- Доработали механизм назначения ролей пользователям на основании сведений, полученных через SSO Keycloak:
- Теперь при создании нового пользователя или при получении сведений о пользователе, если роль не найдена или не указана, в Case.one будет автоматически создана новая роль:
- Название роли в Case.one будет получено из SSO Keycloack
- В роли будут назначены права Просмотр на раздел Личный кабинет → Профиль (на остальные разделы права не будут присвоены)
- Если интеграция включена, в Case.one недоступно создавать, удалять роль или изменять ее название
- При назначении или изменении роли через SSO Keycloack в разделе Действия в системе в Case.one будут добавлен следующие события от имени системы (Workflow Service):
- Редактирование данных пользователя
- Создание роли
- Изменение прав созданной роли на Просмотр в разделе Личный кабинет → Профиль
- Теперь при создании нового пользователя или при получении сведений о пользователе, если роль не найдена или не указана, в Case.one будет автоматически создана новая роль:
Двухфакторная аутентификация
Мы изменили сервис для подключения двухфакторной аутентификации — теперь подключение осуществляется с отечественными провайдерами:
- Двухфакторная аутентификация выполняется с помощью отправки СМС-кода на номер телефона пользователя, который указан в профиле, после ввода пароля.
- В разделе Администрирование — Приложения секция Двухфакторная аутентификация в блоке Другое скрыта по умолчанию, поскольку подключение двухфакторной аутентификации выполняется индивидуально при необходимости.

База знаний
Поскольку мы перенесли список решений и подборок из Базы знаний в объекты, в разделе Администрирование — Приложения из блока Другие удалена База знаний.
Секции
В разделе Администрирование — Секции вы можете добавить раздел с типом Таблица:
- Форма добавления таблицы идентична формам добавления Дашборда или Внешней страницы.
- В конструкторе секций на панели Настройки подраздела отображаются следующие настройки таблицы (аналогичны настройкам таблиц в конструкторе объектов):
- Тип — Таблица, изменение типа недоступно
- Название — ввод наименования (значение по умолчанию — Таблица)
- Исходный объект — выбор исходного класса объекта из списка, информация из которого будет отображаться в таблице (можно выбрать только одно значение)
- Фильтры — настройка фильтрации значений, попадающих в таблицу
- Колонки — выбор колонок таблицы из полей типов того класса объекта, который был выбран в качестве исходного
- Панель фильтрации — установка флага для возможности фильтрации значений по колонкам таблицы
- На вкладке Настройки конструктора секций вы также можете добавить вкладки с типом Таблица.

Справочники
В формулы расчета мы добавили константу NULL, которая может быть использована в качестве результата формулы (в результате будет отображаться пустое поле):
- Константа NULL доступна в формулах с логическим выражением IF в качестве одного из результатов выполнения логического выражения (истина/ложь).
- В других выражениях и условиях использование NULL недоступно.
- Если в качестве одного из результатов работы логического выражения IF указана константа NULL, при выполнении заданных условий в результате работы логического выражения поле останется пустым. Примеры:
- IF({a} = "Рассмотрено", 100, NULL)
- IF(OR(IS_NULL({a}), IS_NULL({b})), NULL, {a} + {b})
- Если в качестве результатов логического выражения IF не задана константа NULL, расчет формулы производится, как и раньше: пустое значение считается 0, если для него не задано условие с функцией IS_NULL.
Улучшения и исправления
- Прекратили поддержку Internet Explorer (IE) 11 в целях оптимизации работы системы и повышения ее безопасности.
- Исправили ошибку при создании карточки дела, если в конструкторе типов дел в поле с типом Справочник указано значение по умолчанию, которое было удалено из справочника.
- Теперь при формировании шаблона счета, если в нем был использован системный тег Project_Bill_Rate_Item, в счете значение тега будет корректно заполнено — /час для русскоязычных инстансов.
- Теперь значение в поле с типом Данные обновляется при смене типа блока с мультиблока на обычный, в котором расположено поле-источник.
- Поправили ошибку, которая возникала в разделе Действия в системе при выборе в фильтре Тип действия значения Редактирование данных пользователя.
- Исправили ошибку Не определены права, которая возникала в конструкторе объектов при попытке добавить фильтры на форме для поля Объект-Дело и в блоке Таблица при выборе колонок и попытке добавить фильтры.
- Исключили отображение сессии импорта в разделе Администрирование — Импорт, если файл импорта объектов был некорректно заполнен (например, не соответствовало количество столбцов от строки к строке) — теперь такие сессии не отображаются в списке.
- Поправили отображение прежнего значения поля в разделе Администрирование — Действия в системе при выборе в фильтре Тип действия значений Редактирование элемента справочника, Редактирование сущности.
- Добавили проверку заполнения обязательных полей таблицы и отображение ошибки при попытке сохранить тип дела с таблицей, у которой не заполнено обязательное поле Исходный объект.
- Поправили порядок отображения мест использования поля с типом Справочник при попытке удаления такого поля.

Наименование инстансов
Теперь возможно официально изменить наименование инстанса, когда это необходимо (например, для On-premise версии):
- В файл настроек конфигурации мы добавили параметр ApplicationName, который позволяет управлять отображением наименования в следующих разделах:
- Страницы авторизации, регистрации, восстановления или задания пароля:
- Наименование инстанса в левом верхнем углу
- Наименование инстанса над полями для ввода логина и пароля
- Наименование инстанса на странице с ошибкой о неудачной попытке входа в Case.one при авторизации через OpenId
- Заголовок Главного меню
- Электронные письма, уведомления и приглашения:
- Наименование инстанса (изображение изменяется на текст)
- Название ссылки на инстанс
- Подпись
- Шаблоны счетов (наименование инстанса в левом вернем углу)
- Страницы авторизации, регистрации, восстановления или задания пароля:
- При использовании параметра ApplicationName предусмотрены следующие особенности:
- Если в наименовании инстанса присутствует точка, часть наименования до точки и сама точка выделены белым цветом, а часть после точки — серым
- В параметре ApplicationName отсутствует ограничение на длину наименования — если наименование длиннее отображаемой области, оно будет обрезано троеточием, поскольку число отображаемых символов наименования зависит от ширины колонки Главного меню слева и области между иконками перехода в Главное меню и Колокольчиком
- Чтобы от значения параметра ApplicationName полностью зависело наименование инстанса, мы исключили упоминание наименования инстанса в следующих местах системы:
- Краткое описание интеграций в разделе Администрирование — Приложения: Gmail, Outlook 365, Quickbooks, OneDrive
- Описание ошибок:
- При импорте писем (api /Email/Import), если текст письма пустой
- При запуске приложения
- При работе с модулями, если версия инстанса, где был собран модуль, не соответствует версии инстанса
- Тема письма о завершении создания инстанса SaaS
- Страница обновления системы
- В файле настроек конфигурации, как и раньше, возможно указать наименование, от кого отправляется почта — укажите значение в параметре FromName в строке подключения к SMTP.
API
Для увеличения устойчивости системы к атакам, направленным на компрометацию bearer-токенов доступа, мы внесли изменения в механизм их подписи — увеличили размер ключа и доработали валидацию издателя:
- Изменения затрагивают только аутентификацию в публичном и приватном API с помощью bearer-токена при отключенной интеграции с OpenId.
- Новый ключ подписи будет сгенерирован автоматически, поэтому в большинстве случаев дополнительных действий по настройке не требуется:
- Ключ для подписи представляет собой произвольную строку длиной 64 или 128 символов в шестнадцатиричном формате
- Автоматически сгенерированный ключ по умолчанию сохраняется в папку keys (определяется настройкой KeysDirectory) в файле TokenIssuerSigningKey
- Если в скриптах или интеграциях использовались долгоживущие токены доступа или токены с неограниченным временем жизни, обязательно сгенерируйте новые с помощью api/v1/auth/token или api/v2/auth/token, поскольку после обновления на 77 версию станут недействительными токены доступа, которые были сгенерированы с помощью одного из следующих методов:
- api/v1/auth/token
- api/v1/auth/wintoken
- api/v2/auth/token
- api/v2/auth/wintoken
Технические изменения
- Выполнили переход с .NET 6 на .NET 8, поскольку в ноябре 2024 года прекращена поддержка .NET 6 (см. Support Policy).
- Отказались от использования Nil.JS — настоятельно рекомендуем перейти на интерпретатор ClearScript (на время переходного периода работоспособность Nil.JS скриптов останется, но возможны проблемы с их производительностью).
- Добавили поддержку PostgreSQL 17:
- PostgreSQL 17, минорная версия 17.0 — 17.4
- Postgres Pro 17 Standard или Enterprise, минорная версия 17.0 — 17.4
- Добавили интеграцию с OpenTelemetry.
- Начиная с 79 версии Case.one будет прекращена поддержка PostgreSQL 13 и других СУБД, созданных на базе PostgreSQL 13, в связи с прекращением поддержки данного ПО вендором — рекомендуем заблаговременно подготовиться к переходу на более позднюю совместимую версию ПО.
- Прекращена поддержка устаревших версий ПО в связи прекращением поддержки данного ПО вендором (стабильная работа Case.one с устаревшими версиями ПО не гарантируется):
- Сервер приложения:
- Конфигурация Windows:
- Операционная система — Windows Server 2012 R2
- Командная оболочка — PowerShell, версия 7.2
- Конфигурация Linux:
- Операционная система — Ubuntu, LTS версия 18.04 и Debian, LTS версия 10
- Reverse-proxy — nginx, версии 1.22.1, 1.24.0
- Командная оболочка — PowerShell, версия 7.2
- Конфигурация docker:
- docker (Docker Engine), версии 20.10, 23.0, 24.0
- docker-compose, версии 1.24 — 1.29
- Конфигурация Windows:
- Сервер СУБД:
- Конфигурация Windows:
- Microsoft SQL Server 2016 SP2
- Microsoft SQL Server 2014
- Конфигурация Windows:
- Сервер приложения:
Улучшения и исправления
- Убрали документирование MVC контроллеров и методов из Swagger:
- Get/getlink/{linkToken}
- Get/intakeforms/{linkCode}
- Get/openid/login
- Get/openid/signin
- Get/privacypolicy
- Get/sand_box
- Get/termsofservice
- В файле настроек конфигурации appsettings.json исправили значение пути по умолчанию до LibreOffice.
- Для комфортной работы в системе мы провели оптимизацию следующих разделов и функций:
- Конструкторы объектов, клиентских форм и дополнительных атрибутов
- Раздел Администрирование — Клиентские формы
- Синхронизация с Casebook (удалили старый модуль CaseMap.Modules.CasebookEndpoint)
- Конструктор сценариев автоматизации
- Получение списка задач (удалили events_popup_action_items плейсхолдера и старый модуль CaseMap.Modules.Tasks)
- Списка пользователей в части назначения преемника
- Звонки (удалили старый модуль CaseMap.Modules.Calls)
- Реализовали Lazy Loading для профиля пользователя, чтобы облегчить основной бандл приложения, т.к. он используется достаточно редко
- Доработали функциональность модулей, чтобы использовать их стало еще удобнее.