Что нового в Xafari 15.1.308.217

Новые функции

Xafari Services

Реализован механизм Xafari Services

Xafari Services это программный компонент, реализующий некоторую бизнес задачу (сервис). XS имеет глобальный характер, это свойство системы в целом, а не конкретных бизнес-сущностей.
Xafari Service следует использовать в следующих ситуациях:
1. Разрабатываемая функция является свойством приложения в целом.
2. Результат выполнения алгоритма должен быть изолирован от других пользователей, пока пользователь не подтвердит внесение изменений.
3. Результат выполнения алгоритма может быть отменен без последствий для других пользователей.
4. Функция использует собственные глобальные настройки и параметры, которые могут повлиять на работу других пользователей.
5. Функция применяется при пакетной обработке данных.

Механизм порядковой нумерации

Добавлен механизм порядковой нумерации

Этот механизм позволяет нумеровать связанные объекты в контексте объекта, к которому они привязаны. В отличие от существующего механизма Нумераторов, номер в порядковой нумерации представлен простым числом. Реализован ряд специальных возможностей:
1. Нумерация иерархических объектов в зависимости от уровня.
2. Вставка в коллекцию с пересчетом.
3. Удаление из коллекции с пересчетом.
4. Работа в Updater.
5. Перемещение объекта в начало коллекции с пересчетом.
6. Перемещение объекта в конец коллекции с пересчетом.
7. Пересчет нумерации при изменении номера объекта.
8. Поддержка работы c БД через прямые запросы.

Отчеты Xafari

Поддержка технологии создания шаблонов XtraReports в Visual Studio (CTP)

В подсистеме отчетности Xafari реализована возможность разработки шаблонов XtraReports в Visual Studio.
При этом используется дизайнер DevExpress (https://documentation.devexpress.com/#eXpressAppFramework/CustomDocument112734). В качестве источника данных необходимо использовать XafariReportDataSource (доступен в панели инструментов).
Развертывание разработанного шаблона выполняется с помощью метода расширения ObjectSpace:

(Метод определен в классе Xafari.Reports.Xaf.TemplateDeployment).

Пример развертывания шаблона MyXtraTemplate:

 

В Xafari x08 решение находится в статусе CTP (Community Technology Preview).

Настройки приложения

AppSettings реализован как Xafari Service

Настройки приложения реализованы на механизме XafariService. В связи с этим существенно переработан внутренний код решения AppSettings.

Расширение бизнес-объектов

Реализована возможность использовать персистентные расширения для неперсистентных сущностей

Общие вопросы

Добавлен GuidWeakReference для работы с классами с ключом Guid

Предлагается способ реализации нескольких обработчиков событий AfterChange, BeforeChange для DC

Реализован дополнительный базовый класс для доменной логики DomainLogicBase2. Этот класс содержит методы AfterChange и BeforeChange, которые надо использовать для реализации обработчиков событий.

Устраненные проблемы

Плавающие панели

Плавающие панели не сохраняли настройки View (T102.143926)

Реализовано сохранение настроек расположения на детальной форме Плавающей панели.

Feature Center

Не редактируется GeoPoint Container Detail View (T102.143976)

Реализовано корректное редактирование детального представления при использовании редактора ASPxGoogleMapsPropertyEditor

Список задач

Xafari.BC.Tasks имеет unusable nodes (T102.143709)

убраны UnusableNodes
Вызов 'Comment' Action приводил к exception (T102.143914)

Исправлено

Общие вопросы

Метод Xafari.Utils.FilteredLocalizedClassInfoTypeConverter.GetStandardValues() медленно работает (T102.139753)

Оптимизация Xafari.Utils.FilteredLocalizedClassInfoTypeConverter.GetStandardValues()]
Класс BaseXafariPage не используется (T102.143802)

Удалено, т.к. функционал, который обеспечивал данный класс реализован с помощью XafariTemplateContentFactory

Расширение бизнес-объектов

Стандартные методы клонирования некорректно работали с расширяемыми сущностями (T102.141727)

При использовании eXtensions Framework (XF) в приложении стандартный Action «Клонировать» будет использовать XFCloner. Для клонирования расширяемых объектов через пользовательский код необходимо производить клонирование используя XFCloner:

где entity — расширяемая сущность, а clonedEntity — клонированная сущность
Для наследников IEntity всегда открывалось только одно Detail View (T102.141714)

исправлено
В Web-приложении сгенерированная сборка хранилась в C:WindowsMicrosoft.NETFramework 4.0.30319Temporary ASP.NET Files

По умолчанию сборка сохраняется в ‘C:\Users\\AppData\Local\Temp\Xafari’.
Папка для генерации файлов может быть изменена, если в класс WebApplication добавить метод

или

If you use impersonate=true you have to create windows user group with modify permission on GeneratedAssembly folder and have to add all users (so IUSR) in this group.
If you use impersonate=false you have to set modify permission on GeneratedAssembly folder for user which used in AppPool

Инсталлятор

Исправлены некорректные значения ToolboxTabName для некоторых модулей в тулбоксе VS (T102.142109)

XafariSecurityModule
XafariAuthentication
XafariSecurityStrategy
XafariBCBranchesModule
XafariBCBranchesDCModule
XafariBCBranchesWinModule
XafariBCBranchesXpoModule
XafariBCDCModule
Теперь может быть добавлено несколько версий компонент Xafari для VS тулбокса (T102.139958)

Теперь может быть добавлено несколько версий компонент Xafari для VS тулбокса
В тулбокс добавлен модуль Xafari.SmartDesign (T102.143359)

В тулбокс добавлен модуль Xafari.SmartDesign
В тулбокс добавлены модули Xafari.Security.DC,Xafari.Security.XPO, Xafari.Docflow.DC,Xafari.Docflow.XPO (T102.143388)

В тулбокс добавлены модули Xafari.Security.DC,Xafari.Security.XPO, Xafari.Docflow.DC,Xafari.Docflow.XPO