Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований. Распознавание документов – одна из полезных и интересных возможностей, поэтому специалистами «Новой платформы» разработан пример, демонстрирующий возможности не только распознавания документов формата pdf, но и поиск необходимой информации в полученных текстах. Пример представляет собой систему, состоящую из следующих сервисов:
1) Стандартное приложение, основанное на применении фреймфорка Ember, odataBackend и базы данных.
2) Сервис распознавания на основе Tesseract.
3) Сервис поиска на основе ElasticSearch.
В приложении у пользователя есть возможность загрузить отсканированный pdf, который конвертируется в png с помощью утилиты ImageMagic и распознается с помощью инструмента Tesseract. Обработка текста происходит по технологии OCR.
Полученный текст загружается в базу данных ElasticSearch, благодаря чему обеспечивается возможность быстрого поиска по содержимому в специальной форме ember-приложения. В итоге пользователю выводится список найденных документов с возможностью просмотреть страницу, где был найден искомый текст (по клику на наименовании). Для отображения pdf используется пакет ember-pdf-js, основанный на pdfJS.
Познакомиться с возможностями разработанного примера можно, запустив его в Docker в соответствии с инструкцией.
В Перми состоялся форум «Легенды креативных индустрий». Мероприятие является одним из флагманских событий в рамках Перми-300.
На одном из мероприятий в рамках форума 18 августа была представлена и «Новая платформа» в лице директора по развитию - Евгения Хаберева. Евгений рассказал про разработку программного обеспечения в рамках дискуссии «Креативные сообщества и ИТ из Перми».
На форуме встретились представители власти, топ-менеджеры компаний, инвесторы и креативные предприниматели Прикамья, чтобы обсудить «экономику будущего» в неформальной обстановке.
Подробнее о мероприятии можно прочитать на сайте Министерства информационного развития и связи Пермского края, а также на страницах Пермского интернет-журнала “Звезда”.
Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований.Одним из самых востребованных направлений является реализация тестового пространства для знакомства с доступными технологиями продуктов Flexberry. Специалистами “Новой платформы” на тестовый стенд Ember Flexberry внесены изменения и добавлены новые компоненты:
Команда Flexberry Platform занимается активным продвижением заказной разработки информационных систем и приложений на международном рынке. На данный момент наиболее перспективными направлениями является сотрудничество со странами Африки и Азии. Компания “Новая платформа” предлагает помощь в разработке проектов под ключ. Для компаний-разработчиков в странах Африки и Азии это позволит выполнять проекты, для которых у них не хватает ресурсов или компетенций.
На сегодняшний день команда по международному сотрудничеству провела несколько десятков встреч, некоторые компании уже заинтересованы в сотрудничестве, с ними продолжается дальнейший диалог. Всего отправлено несколько сотен приглашений в компании-разработчики за пределами РФ. В рамках данного проекта также планируется получать информационную и юридическую поддержку от Центра поддержки экспорта.
Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований. Очень часто в информационных системах встречается логика построения отчётов. Платформа Flexberry позволяет оптимальным образом реализовать логику асинхронного построения отчётов с отправкой уведомления пользователю. Данное решение основано как на сторонних компонентах, таких, как Quartz.Net, так и на компонентах платформы Flexberry. Такая комбинация даёт максимальную скорость и качество разработки и сопровождения.
Применение решения с отчётами демонстрируется на примере в открытом репозитории. Отчеты формируются асинхронно и по расписанию. Кроме того, присутствует возможность использования пользовательского шаблона для форм отчётов. По окончании операции построения отчёта всплывает соответствующее уведомление, которое дублируется на почту.
Техническое описание примера: применяется OData в качестве бакэнда и Ember в качестве фронтенда, в качестве БД – PostgreSQL, в качестве сервиса авторизации пользователей показан Keycloak. SignalR-соединение с пользователем осуществляется через Web Socket для отправки уведомлений о формировании отчетов. Если нет соединения с пользователем по SignalR, то на почту с помощью MailKit отправляется уведомление по шаблонам Т4 или Razor.
Особенности сервиса Quartz: на каждое задание инициализируется свой интерфейс с соответствующим уровнем прав. Его инициализация зависит от параметров запуска отчета в части пользователя и его ролей.
Для построения DOCX-отчетов используется специальный пакет с отчетами, который представляет из себя доработку базового пакета. Он предоставляет более широкий набор функционала по поиску и замене параметров при формировании отчетов.
Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований.Одним из самых востребованных направлений является реализация геоинформационных систем.
Специалистами “Новой платформы” разработано приложение с использованием БД PostgreSQL для демонстрации возможностей ember-flexberry-gis с использованием ember-cli, ember-flexberry и ember-flexberry-data. Оно является своего рода руководством для реализации подобного функционала разработчиками, что позволяет экономить временные затраты, так как показан наилучший способ применения всех инструментов.
Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований, поэтому активно использует наиболее современные и востребованные инструменты. Например, Apache NiFi. Это достаточно простой в использовании, open source ETL-инструмент (от Extract, Transform и Load – извлечение, преобразование, загрузка). Он представляет собой способ объединения данных из нескольких источников в одном центральном хранилище, которое называется складом данных. Обычно ETL-процессы используются, когда нужно перенести много разнородных данных: собрать их, привести к единому виду, загрузить в новую систему и сохранить всю информацию по пути. Системы бывают разными, и задача ETL — в том числе адаптировать под них данные из разных источников. Apache NiFi обладает следующими особенностями:
Использование данного инструмента продемонстрировано на стенде в открытом репозитории, разработанном специалистами «Новой платформы». Он основан на двух источниках данных:
NiFi на основе построенной логики DataFlow производит вычитку данных из основной БД и БД аудита, преобразовывает их и сохраняет в отдельную аналитическую БД. Для просмотра и аналитики БД NiFi в стенд добавлен сервис ApacheSuperset. Также добавлена система логирования GrafanaLoki, для сбора логов работы NiFi.
На стенде можно изучить следующие аспекты:
Платформа Flexberry позволяет реализовывать решения для разнообразных бизнес-требований, поэтому активно использует наиболее современные и востребованные инструменты. Например, GrafanaLoki - опенсорс-систему логирования. Система логирования GrafanaLoki – это совокупность двух компонентов: непосредственно сборщика логов Loki и инструмента аналитики Grafana. Их использование отображено на стенде в открытом репозитории Flexberry Platform в виде отдельных дополнительных сервисов. На стенде используются базовые компоненты технологии Flexberry - фронтенд, бэкенд и БД. Loki – это система сбора логов, она выполняет следующие функции:
Благодаря специализированному подходу к хранению логов, доступ к ним отличается большой скоростью. Loki может принимать логи как по WebApi-интерфейсу, так и извлекать их из файлов с помощью дополнительного инструмента Promtail. Grafana - система аналитики, представляющая собой многофункциональный web-интерфейс просмотра данных различных источников (может работать не только c Loki). Grafana предоставляет следующие функции:
В открытом репозитории стенда, разработанного специалистами “Новой платформы”, не только представлен собственно пример использования сервиса, но и написана документация, благодаря чему разработчики смогут добавить GrafanaLoki в стек своих сервисов и настроить базовый функционал.
Новая платформа приступила к активной фазе разработки MVP проекта ИИ-ассистента для бизнес-аналитиков. Идея данного проекта была протестирована в рамках предакселератора Архипелаг 2121, а также в рамках десятков проведённых CustDev-интервью.
Ключевой идеей данного ИИ-ассистента является возможность разбирать тексты технических заданий и постановок, с которыми приходится работать бизнес-аналитикам и менеджерам проектов, строить на основе разобранных данных формализованную модель. Эта формализованная модель может быть преобразована в полезные для проекта артефакты, например:
Данный проект нацелен на широкую аудиторию и предусматривает работу с текстами и артефактами любых ИТ-проектов, не обязательно применяющих платформу Flexberry для разработки.
Для разработки максимально полезного инструмента нужны качественные входные данные. Мы ищем компании, готовые поучаствовать в пилотном внедрении нашего ИИ-ассистента. Если у вас есть интересный пример, которым вы могли бы поделиться, или хотите попробовать ИИ-ассистента в своей компании, свяжитесь, пожалуйста, с нами любым удобным вам способом.
Компания ООО “Газпром добыча Ямбург” приобрела лицензию на использование платформы Flexberry для проектирования и разработки собственных информационных систем. Несмотря на то, что цикл сделки у таких крупных компаний, как Газпром, занимает не один месяц и включает в себя множество сложностей, ООО “Новая платформа” в итоге выполнила эту поставку. Надеемся на дальнейшее плодотворное сотрудничество с новым клиентом и дальнейшее расширение географии продаж.
Наша команда разработала кроссплатформенную утилиту для генерации исходного кода - Flexberry Designer CLI.
Данная утилита позволяет встраивать процесс генерации и перегенерации исходного кода в различные этапы жизненного цикла разработки и использовать её в различных сценариях. Например, утилита может использоваться для контроля качества проектирования и программирования (согласованности UML и программного кода). Ещё один вариант использования - встраивание интерфейса Flexberry Designer и процесса генерации исходного кода в конечное приложение для реализации возможностей LowCode или NoCode. В отличие от Flexberry Designer Desktop утилита генерации Flexberry Designer CLI может использоваться в Linux и позволяет работать с метаданными без прямого доступа к БД метаданным Flexberry: метаданные могут быть заранее переданы в виде экспортированного crp-файла, либо будут загружены из веб-приложения Flexberry Designer. Для корпоративных пользователей платформы утилита генерации Flexberry Designer CLI доступна в виде установочного файла и интегрирована в качестве средства генерации в Flexberry Designer Enterprise.
Для всех остальных пользователей утилита доступна через NuGet-пакет.
С полным списком изменений можно ознакомиться в журналах изменений для ember-flexberry@2.6.1
и ember-flexberry-data@2.6.0
.
flexberry-lookup
теперь генерирует событие lookupOnChange
в сервисе LookupEvents
при смене значения.flexberry-validationsummary
теперь поддерживает динамическое добавление свойств с массивами ошибок при валидации с испольованием аддона ember-validations
.isNullable
в компоненте flexberry-checkbox
для отображения промежуточного состояния компонента.ember g default-user-setting [model-name]
.flexberry-lookup
не вызывает экшен updateLookupAction
при выборе значения в модальном окне.bower
-пакета semantic-ui-daterangepicker
, которая использовалась в компоненте flexberry-datepicker
, заменена на bower
-пакет daterangepicker
.flexberry-lookup
.С полным списком изменений можно ознакомиться в журналах изменений для ember-flexberry@3.6.0
, ember-flexberry-data@3.6.0
и ember-flexberry-security@3.6.0
.
2.6.0
версий.flexberry-lookup
в режиме dropdown
.Бесплатное онлайн-обучение созданию веб-приложений от компании «Новая платформа», разработчика платформы Flexberry. 🔥 Всего за месяц вы освоите востребованный навык быстрого создания качественных приложений с использованием одного из JavaScript-фреймворков.
⏱ Начало обучения 16 августа Прием заявок на бесплатные места до 13 августа
✅ Для кого:
✅ Условия: Обучение бесплатное. Прием по результатам тестирования. По окончании - сертификат о прохождении Школы веб-разработчиков. Лучшим студентам мы предложим стажировку и официальное трудоустройство в компании «Новая платформа» или компаниях-партнерах с возможностью удаленной работы.
✅ Что будет на курсе:
✅ В результате вы:
✅ Когда: ⏱Старт 16 августа 2021 г. Продолжительность обучения 1 месяц
✅ Формат:
Обучение бесплатное. Отбор по результатам тестирования.
✅ Для обучения необходимо:
✅ Как подать заявку: Прием заявок до 13 августа 23:59 👉🏻👉🏻👉🏻 Регистрация и входное тестирование здесь: https://forms.gle/CwaLPWqt2FrjqMrq8
✉ Если у вас остались вопросы по обучению, пишите на job@neoplatform.ru
Новые проекты ставят новые вызовы перед технологической платформой Flexberry. Аудит изменения данных - одна из самых объёмных в плане данных частей приложений с высокой интенсивностью работы с данными.
Командой Flexberry был реализован новый способ организации данных аудита: хранение данных аудита в одной append-only-таблице. Данная архитектура, с одной стороны, является дружественной к BigData-хранилищам, с другой стороны, упрощает конфигурацию и для РСУБД. Для обеспечения максимальной совместимости с реализованными проектами при проектировании новой схемы хранения данных аудита был предусмотрен вариант использования различных хранилищ, как реляционных, так и BigData.
В качестве стандартной реализации “из коробки” новая реализация аудита была адаптирована под следующие варианты хранилища:
В случае использования BigData решения на основе ClickHouse пользователи могут получить максимальную скорость работы подсистемы аудита. Однако следует учесть, что согласованность данных в данном случае реализуется на программном уровне веб-приложения. В случае использования реляционного хранилища одного типа с основной базой данных приложения, пользователи получают работу подсистемы аудита в одной транзакции с изменяемыми данными - согласованность данных обеспечивается на уровне РСУБД, что считается более надёжным.
Разработка AuditBigData ведётся на GitHub в открытом репозитории. Готовый NuGet-пакет публикуется в публичную галерею.
Этим летом проходит интенсив Архипелаг 2121. Данное мероприятие объединяет в себе множество участников и мероприятий, которые проходят как в онлайн формате, так и в офлайне.
Команда Flexberry подала заявку на участие и сформировала видение нового направления развития - ИИ ассистент для бизнес-аналитика.
Проект Flexberry - Business analyst AI assistant прошёл предакселератор и попал в топ-100 проектов предакселератора Архипелага, получив положительные отзывы экспертов.
Опублкован NuGet-пакет NewPlatform.Flexberry.ORM.ODataService 6.1.0.
Также под эту версию собраны все зависимости и обновлены генераторы.
При обновлении ODataService на проекте с версий 5.х до 6.х воспользуйтесь этим примером, чтобы ничего не упустить.
Microsoft.AspNet.OData
(NewPlatform.Flexberry.AspNetCore.OData
) to 7.5.1
, Microsoft.OData.Core
to 7.7.2
, NewPlatform.Flexberry.ORM
to 6.0
.DataObjectControllerActivator
to simplify overriding DOC initialization.$select
and $expand
query options.Это последняя версия, которая собирается только под Microsoft .NET Framework 4.5. Последующие версии будут совместимы с .NET Standard 2.0.
FunctionBuilder
implements BuildLike(VariableDef, string)
functions.DbTransactionWrapper
class to wrap IDbConnection
and IDbTransaction
.IConverterToQueryValueString
and IConvertibleToQueryValueString
to control the conversion of objects to a query string.INotifyUpdateObjects
, INotifyUpdateObject
, INotifyUpdateProperty
and INotifyUpdatePropertyByType
for notify when data is updates.from
and join
expressions.IExportStringedObjectViewService
for fast export service based on ObjectStringDataView type.GenerateQueriesForUpdateObjects
and its overloads.SQLDataService.UpdateObjects
(connections remain opened).SQLDataService.UpdateObjects
(connections remain opened).net45
and netstandard2.0
targets.ToolXML.DataObject2XMLDocument
uses ToolBinarySerializer
for serialize DynamicProperties
.CurrentUserService
support only windows users.DataServiceProvider.IsWebApp
now always return false
.ChangesToSqlBTMonitor
class moved to ICSSoft.STORMNET.Business
assembly.DRDataService
class moved to ICSSoft.STORMNET.Business.MSSQLDataService
assembly.ExternalLangDef
renamed to ICSSoft.STORMNET.Business.ExternalLangDef
.CurrentUserService
renamed to NewPlatform.Flexberry.ORM.CurrentUserService
.UnityFactory
renamed to NewPlatform.Flexberry.ORM.UnityFactory
.Information.GetPropertyDataFormat
method.CurrentWebHttpUser
class.ServiceContract
for IAudit
, IAuditWcfService
interfaces.RemoteAuditController
class.CurrentUserFromLockService
class.ICSSoft.STORMNET.Business.ODBCDataService
assembly.ControlProviderAttribute(string)
constructor ignores type loading error.Также были обновлены инструменты генерации, поэтому важно обновить Flexberry Designer до последней версии с сайта https://designer.flexberry.net.
Наиболее важными пунктами при обновлении ORM до версии 6 являются следующие:
NewPlatform.Flexberry.ORM
теперь недостаточно для функционирования системы - для каждой конкретной СУБД теперь есть свой отдельный пакет, например, NewPlatform.Flexberry.ORM.PostgresDataService
.CurrentUserService
больше не содержит реализацию для web, если нужно, переопределяйте на прикладном уровне.В качестве примера можно использовать вот этот PR.
Исходный код Flexberry ORM доступен на GitHub под лицензией MIT. Изменения относительно версии 5.0.0 можно оценить по этому PR. Если есть необходимость внести исправление в код ORM, это можно сделать следующим образом:
Fork
репозиторияИнструмент проектирования Flexberry Designer Online теперь позволяет генерировать исходный код по UML диаграммам с использованием инфраструктуры GitHub благодаря GitHub Actions.
Благодаря такому решению запускать процесс генерации можно прямо из GitHub-репозитория, лог генерации также хранится в контексте конкретного запуска GitHub Actions.
Workflow GitHub Action выполняет следующие действия:
gh-pages
Workflow для генерации описан в файле .github/workflows/generator.yml
.
Выпуск очередных версий Flexberry Ember
состоялся, полный список изменений можно найти в журналах изменений для соответствующих версий:
Перед обновлением обратите внимание на разделы с описанием важных изменений в ember-flexberry
и ember-flexberry-data
.
flexberry-objectlistview
появилось поле ввода, в которое можно ввести номер нужной страницы и перейти к ней.Excel
и настроек столбцов списка был немного изменен.flexberry-objectlistview
теперь отображается текущая сортировка списка, при выделении одной строки списка появляется меню с возможностью выбора всех строк, и обновлен дизайн блока со списком страниц.flexberry-file
добавлена возможность проверки типов файлов и задания ограничения размера файла не только в байтах.confirmDeleteRow
и confirmDeleteRows
теперь могут возвращать промис.В этой версии была добавлена генерация приёмочных тестов для приложения, пока эти тесты выполняют только две проверки, открываются ли формы со списками объектов вашего приложения, и открываются ли формы создания объектов с этих списков.
В следующих версиях список проверок будет расширен.
Рады представить вашему вниманию версию Flexberry Ember
с новой темой оформления, получившей название ghost
. В следующих версиях мы продолжим прогрессивное развитие всех тем оформления, выпуск этой верии можно считать лишь завершением первого этапа.
Основные изменения этих версий связаны с добавлением новой темы оформления, полный список изменений можно найти в журналах изменений: для ember-flexberry@3.4.0
и для ember-flexberry-data@3.4.0
.
Также эти версии включают изменения из соответствующих 2.4.0
версий, поэтому перед обновлением ознакомтесь с новостью о выпуске этих версий.
Этот процесс не автоматизирован, поэтому некоторые действия необходимо выполнить вручную.
Для обновления установленной версии ember-flexberry
рекомендуется использовать команду ember install ember-flexberry@3.4.0
, эта команда, кроме обновления версии ember-flexberry
, также обновит и его зависимости.
Если в процессе обновления зависимостей произошла ошибка, или вы по какой-либо причине не можете воспользоваться этой командой, после обновления установленной версии ember-flexberry
запустите команду ember generate ember-flexberry
, она также обновит зависимости ember-flexberry
.
Кроме обновления зависимостей, необходимо обновить настройки тем оформления и сборки приложения.
theme.config
, находящегося в корневой директории вашего приложения, содержимым из файла node_modules\ember-flexberry\blueprints\flexberry-core\files\theme.config
.theme.less
, находящегося в директории app\styles
, содержимым из файла node_modules\ember-flexberry\blueprints\flexberry-core\files\__root__\styles\theme.less
.ember-flexberry
в файле app.less
, находящегося в директории app\styles
.Было:
@import 'src/semantic';
@import 'node_modules/ember-flexberry/addon/styles/addon';
Стало:
@import 'src/flexberry-imports';
ember-cli-build.js
, находящийся в корневой директории вашего приложения.Было:
let app = new EmberApp(defaults, {
lessOptions: {
paths: [
'bower_components/semantic-ui'
]
}
});
Стало:
let app = new EmberApp(defaults, {
lessOptions: {
paths: [
'bower_components/semantic-ui',
'node_modules/ember-flexberry-themes',
]
},
postcssOptions: {
compile: {
enabled: false,
browsers: ['last 3 versions'],
},
filter: {
enabled: true,
plugins: [
{
module: autoprefixer,
options: {
browsers: ['last 3 versions']
}
}
]
}
}
});
Для обновления настроек тем оформления и сборки приложения можно выполнить перегенерацию приложения, запустив следующую команду:
ember generate flexberry-application app --metadata-dir vendor/flexberry
Чтобы использовать тему оформления ghost
, можно выполнить перегенерацию приложения, добавив в команду параметр --new-theme true
:
ember generate flexberry-application app --metadata-dir vendor/flexberry --new-theme true
Более подробную информацию по переходу на тему оформления ghost
читайте в этом руководстве.
Эти версии не включают больших изменений, в основном это исправления, накопившиеся с последних выпусков.
Со всеми изменениями можно ознакомиться в журналах изменений соответствующих версий, для ember-flexberry@2.3.0
, и для ember-flexberry-data@2.3.0
.
Эти версии также включают исправления, накопившиеся с последних выпусков, и изменения из соответствующих 2.3.0
версий.
Со всеми изменениями можно ознакомиться в журналах изменений соответствующих версий, для ember-flexberry@3.3.0
, и для ember-flexberry-data@3.3.0
.
Список изменений этих версий получился довольно внушительным, немалую его часть внесли наши коллеги с прикладных проектов.
Основные доработки:
flexberry-file
добавленна возможность работы со значениями в формате base64
.Со всеми изменениями можно ознакомиться в журналах изменений соответствующих версий: для ember-flexberry@2.4.0
и для ember-flexberry-data@2.4.1
.
Для исправления проблем экспорта в Excel
списков, в именах столбцов которых используются запятые, добавлена кодировка имен столбцов. Для корректной работы функции экспорта на сервере необходимо обновить пакет NewPlatform.Flexberry.ORM.ODataService
до версии 5.1.0
.
Удален !important
в свойстве display
из класса hidden
в стилях аддона. Это определение мешало правильному вычислению направления для открытия выпадающего списка в компоненте flexberry-dropdown
.
Это изменение повлияет на стили в вашем приложении, если у вас используется разметка, генерируемая по умолчанию, для элемента переключения сайдбара приложения. Для исправления добавьте в стили вашего приложения следующее определение:
.text-menu-hide.hidden, .text-menu-show.hidden {
display: none;
}
Другим вариантом решения будет обновить разметку и код методов для элемента переключения сайдбара в шаблоне приложения:
<a {{action "toggleSidebar"}}
class="launch icon item"
title={{t "forms.application.header.menu.sitemap-button.title"}}>
<i class="sidebar icon text-menu-show">
<span class="text_menu">
{{t "forms.application.header.menu.show-menu.caption"}}
</span>
<span class="text_menu hidden-text hidden">
{{t "forms.application.header.menu.hide-menu.caption"}}
</span>
</i>
</a>
В мобильном шаблоне приложения:
<a {{action "toggleSidebarMobile"}}
class="launch icon item mobile"
title={{t "forms.application.header.menu.sitemap-button.title"}}>
<i class="sidebar icon text-menu-show"></i>
</a>
toggleSidebar() {
let sidebar = Ember.$('.ui.sidebar.main.menu');
sidebar.sidebar('toggle');
Ember.$('.full.height').css({
transition: 'width 0.35s ease-in-out 0s',
width: sidebar.sidebar('is visible') ? '100%' : `calc(100% - ${sidebar.width()}px)`,
});
Ember.$('.sidebar.icon .text_menu').toggleClass('hidden');
Ember.$('.sidebar.icon').toggleClass('text-menu-show');
Ember.$('.sidebar.icon').toggleClass('text-menu-hide');
Ember.$('.bgw-opacity').toggleClass('hidden');
},
toggleSidebarMobile() {
Ember.$('.ui.sidebar.main.menu').sidebar('toggle');
Ember.$('.sidebar.icon').toggleClass('text-menu-show');
Ember.$('.sidebar.icon').toggleClass('text-menu-hide');
Ember.$('.sidebar.icon').toggleClass('hidden-text');
Ember.$('.bgw-opacity').toggleClass('hidden');
},
При сохранении моделей с использованием метода batchUpdate
для всех моделей будет вызван метод save
с опцией softSave
, реализованный в базовом классе моделей из ember-flexberry-data
. Просто знайте об этом при обновлении версии и использовании пакетного сохранения.
21 января 2020 года пройдёт вебинар на тему «Мастер-класс по проектированию информационных систем с использованием языка UML».
Мастер-класс предназначен для всех желающих познакомиться с основами языка UML. На практическом примере, основанном на реальном кейсе по разработке информационной системы, будут рассмотрены основные виды диаграмм UML и процесс быстрого создания прототипа веб-приложения на их основе. В частности, более подробно будет рассмотрена диаграмма классов, как основа для создания базы данных и бизнес-объектов приложения.
Ведущий вебинара: Хаберев Евгений
Зарегистрироваться на вебинар можно по ссылке: https://flexberry.timepad.ru/event/1222266/
Приглашайте друзей и знакомых, кому этот вебинар был бы интересен!
Очень многие люди боятся публичных выступлений. Представьте ситуацию: вы идёте на важные переговоры с потенциальным заказчиком. Ваша цель - договориться о достаточно дорогом проекте по разработке информационной системы. Вот тут как раз важно хорошо подготовиться эмоционально и не побояться выступления.
Что же рекомендуют психологи?
Во-первых, публичные выступления - это такой же навык, как, например, умение хорошо петь. Существуют курсы ораторского мастерства, тренинги и просто хорошие книги. Не поленитесь перед важным выступлением ознакомиться с базовыми приёмами работы с публикой. Возможно, сосредоточившись на этих рекомендациях, вы тем самым снимете страх неопределённости и будете меньше волноваться. Во-вторых, практика и ещё раз практика. Чем больше вы выступаете, тем проще это даётся. Наверное, это можно сравнить с прыжками с парашютом. Для большего эффекта рекомендуется записывать свои выступления на камеру и обязательно просматривать, анализировать. Это позволит выявить типичные ошибки и исправить их.
В-третьих, перед выступлением важно хорошо выспаться, настроиться эмоционально, решить все вопросы с естественными потребностями, как бы смешно это ни звучало. Человеческий организм в состоянии стресса может усиливать имеющийся дискомфорт и, даже если это позволяет забыть о страхе, то публика будет считывать состояние докладчика и делать выводы даже неосознанно.
И самое важное - хорошая подготовка к выступлению. Если вы рассказываете о чём-то с хорошим пониманием дела, то это почувствует и аудитория, а в ответ на положительную реакцию аудитории страх, как правило, снижается. Хорошая презентация (мало букв и больше схем) - это половина успеха. Если возвращаться к примеру с переговорами, вашей уверенности и успеху в целом, помимо презентации, в переговорах хорошо будет способствовать демонстрация работающего прототипа информационной системы, которую вы хотите сделать. Прототип, разумеется, должен оставлять ощущение прототипа - иначе будет сложно объяснить зачем вам такой бюджет.
Этот же пример хорошо подходит и для студентов, которые идут сдавать свои курсовые и выпускные квалификационные работы и даже для стартаперов, презентующих свой проект.
PS: Если так случилось, что вам действительно нужен работающий прототип программы для демонстрации, то команда проекта Flexberry Quick готова реализовать такой прототип недорого и всего за 48 часов.
Flexberry Security - подсистема полномочий технологической платформы Flexberry.
Продолжается работа по переводу исходного кода серверной части платформы Flexberry на .NET Standard 2.0. На этот раз подготовлена для испытаний версия NuGet-пакета NewPlatform.Flexberry.Security - 3.0.0-alpha01: https://www.nuget.org/packages/NewPlatform.Flexberry.Security/3.0.0-alpha01.
Приложения, разработанные на Flexberry Winforms для настройки полномочий используют отдельную программу - Security Console
. Изначально Security Console
поддерживала в качестве СУБД только Microsoft SQL Server, что объясняется её большой популярностью в Windows-среде. Структура данных Flexberry Security
универсальна для всех фреймворков: Flexberry Winforms, Flexberry ASP.NET и Flexberry Ember. Несмотря на наличие в Flexberry ASP.NET и Flexberry Ember средств управления полномочиями непосредственно в создаваемом приложении, в некоторых случаях удобно использовать внешнее настольное приложение для работы с настройками полномочий. Одним из ключевых преимуществ Security Console
при разработке и сопровождении информационных систем является функция записи SQL-скриптов, позволяющая выполнить перенос настроек между базами данных. Для удобства использования Security Console
теперь можно установить в виде NuGet-пакета NewPlatform.Flexberry.Security.Applications
. После установки, приложение располагается в packages, в каталоге с именем пакета и номером версии, далее во вложенном каталоге tools. Перед использованием обязательно нужно настроить строку соединения с БД в конфигурационном файле.
Уже почти год назад в Flexberry ORM
был добавлен FunctionBuilder
- удобный инструмент для построения функций ограничения.
langdef.GetFunction()
?Предлагаем вам попробовать FunctionBuilder
и ваша жизнь уже не будет прежней!
FunctionBuilder:
Ознакомиться с описанием, примером использования и документацей по имеющимся методам можно в статье.
Все примеры в документации, где использовался langdef, были переписаны с использованием FunctionBuilder.
FunctionBuilder - новый стандарт в деле построения функций ограничений Flexberry ORM.
Flexberry Designer обладает множеством функций и и возможностей, как следствие, его интерфейс весьма непрост. Мы провели большую работу и изобрели заново
пользовательский интерфейс нашего нового инструмента проектирования. В скором времени будет опубликована первая версия в новом оформлении, которая позволяет выполнить полный цикл создания приложений, включая интеграцию с GitHub и генерацию приложений.
Flexberry Designer Desktop также будет доступен, как и прежде.
Познакомиться с новым внешним видом Flexberry Designer Online можно уже сейчас на примере аддона ember-flexberry-designer в его Dummy-приложении на GitHub Pages.
Идёт активная разработка учебных материалов для школы разработчиков на платформе Flexberry.
Школа разработчиков на платформе Flexberry - это дистанционная школа, позволяющая получить знания и умения, необходимые для разработки информационных систем и приложений с использованием технологии Flexberry Ember.
Школа дает актуальные знания по:
Школа рассчитана на разработчиков, которые имеют опыт разработки веб-приложений на различных технологиях и знакомы с основными технологиями разработки веб-приложений.
Если у Вас нет опыта веб-разработки, рекомендуем для начала изучить базовые технологии, которые используюся в веб-разработке и при разработке на платформе Flexberry.
Знание на базовом уровне, опыт работы с:
Обучение в школе можно проходить дистанционно по представленным учебным материалам в режиме самостоятельного изучения
.
Однако периодически проводятся наборы в школу
- при прохождении школы в таком формате создается закрытая группа, в которой обучающиеся получают консультации и обратную связь по выполненным заданиям от разработчиков платформы Flexberry. Цель проведения таких наборов
обычно связана с отбором соискателей для дальнейшего трудоустройства в компанию. Ближайшую дату набора в школу можно узнать, написав нам на электронную почту. Также вы можете познакомиться с форматом школы и материалами в соответствующем разделе сайта.
Компания Microsoft развивает платформу .NET в сторону кроссплатформенности за счёт новой имплементации под названием .NET Core. На текущий момент актуальной является версия .NET Core 2.0. Она не совместима напрямую с привычным нам .NET Framework 4.5, поскольку он был реализован исключительно для работы под Microsoft Windows. Также она не совместима и с mono, который базируется на API .NET Framework и реализует кроссплатформенность исполнения .NET-программ.
Чтобы не отставать от трендов мы проделали работу по обновлению нашего ключевого элемента всех разрабатываемых на платформе систем - компонентов доступа к данным - Flexberry ORM.
Подготовлена alpha-версия NuGet-пакетов Flexberry ORM 6. Ключевой особенностью данной версии является перевод формата проектов на .NET Standard 2.0
. Данная модификация позволяет использовать один и тот же код в проектах на .NET Core 2
и в проектах на .NET Framework 4.6.1+
(это будет минимальная версия, поддерживаемая ORM 6). Второй важный момент - Flexberry ORM теперь поставляется в виде набора пакетов. Центральным звеном является пакет NewPlatform.Flexberry.ORM.Abstractions, который является основной зависимостью в реализациях под конкретные СУБД:
Таким образом, если прикладное решение реализует поддержку только одной СУБД, то в проектах не будет присутствовать следов лишних провайдеров СУБД.
Изменения можно оценить в этом PR.
На текущий момент реализация находится на стадии испытаний, поэтому большая просьба ко всем заинтересованным попробовать восопользоваться представленным NuGet-пакетом и представить нам краткий отчёт: получилось или нет, какие возникли сложности, проблемы, что с производительностью. Сообщения можно отправлять на почту команды поддержки.
С целью реализации встроенной поддержки транзакционных запросов были выпущены следующие preview-пакеты.
Добавлена поддержка batch запросов. Внимание! Сменилась сигнатура метода HttpConfiguration.MapODataServiceDataObjectRoute()
, пример изменения кода после обновления.
В версию вошли следующие изменения:
Adapter.Odata
: batchUpdate
для отправки запроса на добавление/изменение/удаление нескольких моделей одной транзакцией (документация)batchUpdate
на бакенде необходимо поставить версию NewPlatform.Flexberry.ORM.ODataService не ниже 5.1.0-alpha01Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию вошли следующие изменения:
flexberry-lookup
: autocomplete
выбирается первое найденное значение при нажатии кнопки Enter
dropdown
flexberry-file
: edit-form
контроллера удален миксин flexberry-objectlistview-on-edit-form-controller
, который использовался для размещения olv на форме редактирования, для сохранения старого поведения необходимо добавить миксин ‘ember-flexberry/mixins/flexberry-objectlistview-on-edit-form-controller’ к контроллерам форм с olv на форме редактированияБолее подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Comment
на технологических формах редактирования объектов полномочий, необходимо обновить пакет NewPlatform.Flexberry.Security
до версии 2.1.0
.Nullable
-типов для интеграции пользовательских контролов в WebObjectListView
.UniqueKeySaltBuilderDelegate
для изменения ключа настроек в WebObjectListView
.ConcurrentDictionarySessionService
иеперь очищает истекшие сессии.SetAvailableItemsOnPageCounts
в классе Pager
.FullViewFilter
для фильтрации по всем полям в WebObjectListView
.HierarchyDisableAutoSelectChildren
для отключения автоматического выбора дочерних элементов в иерархическом WebObjectListView
.WebObjectListView
.DatePicker
в WebObjectListView
.Lookup
контролах.WebObjectListView
равна тексту ячейки, всплывающая подсказка будет удалена.ISessionService
.ICSSoft.STORMNET.Business.BFDataService.dll
ICSSoft.STORMNET.Business.HttpDataService.dll
ICSSoft.STORMNET.EBSI.dll
ICSSoft.STORMNET.LockServices.dll
IIS.Validation.dll
ImageResizerKernel.dll
SmartScroller.dll
В версию вошли следующие изменения:
Information
: isOrdered
для проверки атрибутовAdapter.Odata
: callEmberOdataFunction
и callEmberOdataAction
для получения ember моделей с бэкендаБолее подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию вошли следующие изменения:
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию вошли следующие изменения:
index
для полей представленийflexberry-lookup
: autocompletePersistValue
, отвечающий за необходимость сбрасывать текст для автокомплита при потере фокусаautofillByLimit
, автоматически проставляющий в лукап значение, если при применении ограничения возвращается только одна записьflexberry-file
: fixedHeader
)flexberry-groupedit
ordered
атрибутовflexberry-lookup
: dropdown
теперь используется представление из свойства projection
reload-list-mixin
: DatePredicate
, когда условие равно neq
, а значение nullstring
, number
и date
flexberry-file
: Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию вошли следующие изменения:
flexberry-button
: DomActionsMixin
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Comment
добавлено объектам полномочий Agent
и Subject
.Соответствующие изменения были выполнены в консоли администрирования полномочий.
Выпущены очередные технологические Docker-образы. Все образы flexberry/alt.p8… пересобраны на основе официального docker-образа ALTLinux.
Для mono выпущен flexberry/alt.p8-apache2-mono с новым функционалом по корректировке XML-файлов.
Образ flexberry/alt.p8-apache2
и его дочерний образ flexberry/alt.p8-apache2-mono
поддерживают механизм добавления требуемых модулей apache2. Подробнее в README образа.
Также он доступен с наименованиями:
Для последней версии pentaho 8.2
собраны образы на основе ubuntu и altlinux flexberry/pentaho-official:8.2
и flexberry/alt.p8-pentaho:8.2
(для тестирования в сертифицированных решениях на основе ALTLinux).
Для образов flexberry/pentaho-official:8.2-1.0.9
и flexberry/alt.p8-pentaho:8.2-1.0.0
(документация):
Microsoft TrueType
.joe, pat, suzy, tiffany
;admin
postgresql-42.2.5
, clickhouse-0.1.50
(компиляция драйвера производится при создании образа);Для образов flexberry/alt.p8-postgresql
и flexberry/alt.p8-postgresql-postgis
добавлено расширение PostgreSQL tds_fdw
, которое может подключаться к базам данных, использующим протокол Tabular Data Stream (TDS)
, таким как базы данных Sybase и сервер Microsoft SQL.
Собран начальный образ nginx
- flexberry/alt.p8-nginx:1.14.2-0.5.7.
Все пересобранные образы собраны с тегами согласно Semantic versioning
и поддерживают минорные, мажорные и версионные теги (рекомендуется в дальнейшем их использовать). Docker-образы поддерживают механизм тегирования: одному образу можно присвоить несколько тегов. По умолчанию собранный docker-образ имеет тег :latest
.
Отличные новости! Теперь в документации Flexberry flexberry.github.io используется поиск от Algolia. Скорее всего, вы уже не раз сталкивались с ним, ведь такой же поиск используется в документациях ember.js, React и так далее. Использование технологии позволяет быстрее находить требуемую информацию в нужной категории.
Кроме этого, для основных технологических репозиториев была настроена автоматическая документация API на основе XML-комментариев кода на C# и YUIdoc-комментариев ember-кода. Примеры документации:
Версию можно скачать с сайта designer.flexberry.net.
Обратите внимание, что для генерации ember приложения необходимо в конфиге указывать нужную версию ember-flexberry аддона, по умолчанию указана ember-flexberry@2.0.0.
<appSettings>
<add key="EmberPluginAddonName" value="ember-flexberry@2.0.0" />
</appSettings>
В данной версии обновлены плагины генерации для поддержки последних версий подсистем платформы Flexberry.
Опубликованны NuGet-пакеты и Docker-образы версий 1.2.0.
Основным направлением работ, в данной версии, была интеграция с брокером сообщений RabbitMQ. Цель этой интеграции заключается в увеличении производительности и пропускной способности обмена сообщениями, которую обеспечивает RabbitMQ
, при этом, для управления маршрутизацией сообщений, используются привычные для пользователей понятия и инструменты.
В дополнении к основному направлению, были начаты работы по проектированию и реализации новых версий интерфейсов для клиентов Flexberry Service Bus
. Перепроектирование этих интерфейсов, было начато, с целью четко разделить операции отправки и получения сообщений, и, операции управления маршрутизацией. Предыдущие версии интерфейсов помечены как устаревшие и не рекомендуются к использованию.
RabbitMQ
создан пакет NewPlatform.Flexberry.ServiceBus.RabbitMQ
с реализацией следующих компонентов: ReceivingManager
- позволяет получать сообщения хранящиеся в RabbitMQ
привычным для клиентов Flexberry Service Bus
способомSendingManager
- позволяет отправлять сообщения в RabbitMQ
привычным для клиентов Flexberry Service Bus
способомStatisticsService
- собирает статистику сообщений RabbitMQ
и преобразует ее в статистику Flexberry Service Bus
SubscriptionsManager
- позволяет управлять маршрутизацией сообщений в RabbitMQ
SubscriptionsSynchronizer
- актуализирует настройки маршрутизации сообщений в RabbitMQ
MessageConverter
- преобразует сообщения в формат Flexberry Service Bus
MessageManager
- позволяет управлять сообщениями хранящимися в RabbitMQ
Docker
-образ RabbitMQ
настроенный для использования с Flexberry Service Bus
По умолчанию, Flexberry Service Bus
, хранит получаемые сообщения, вместе с настройками маршрутизации, в базе данных. Использование RabbitMQ
позволяет увеличить пропускную способность, когда поток сообщений велик, и скорости базы данных недостаточно. Обработка сообщений выполняется RabbitMQ
, настройки маршрутизации, создаются и храняться, в базе данных, а Flexberry Service Bus
переводит их в понятия RabbitMQ
. При этом, для получения и отправки сообщений, можно использовать как интерфейсы Flexberry Service Bus
так и интерфейсы RabbitMQ
.
Для настройки интеграции Flexberry Service Bus
и RabbitMQ
необходимо:
RabbitMQ
с которым будет интегрированна Flexberry Service Bus
Flexberry Service Bus
, пример конфигруции можно найти в репозитории, ключевые моменты: Список изменений во Flexberry ASP.NET - 2.3.0
Изменения в зависимостях
Общие изменения:
Изменения в генераторе ASP.NET-приложений
Редактор ограничений:
WOLV:
LookUp:
DatePicker
AjaxGroupEdit
Обновление полномочий желательно проводить по инструкции.
IODataExportService
.CheckLoadedProperty
generic extension methods.PersistUtcDates
property to AuditService
.PKHelper
and FunctionBuilder
utilities.AuditService
.DataService
init.PostgresDataService
wrong access to short names dictionary in multithreading app.View.AddProperty
method.PostgresDataService
.Unity
to 5.x version.Npgsql
to 3.x version.ODataService
package version to according ORM package version.В связи с тем, что основной перечень создаваемых на платформе приложений уже давольно давно был переведён на .NET 4.5, было принято решение отказаться от использования .NET 3.5 в качестве основной версии при выпуске новых релизов. Напомним, что ранее Flexberry ORM поставлялся в виде NuGet-пакета, в котором присутствовали 3 версии: net35, net40, net45. Начиная с версии Flexberry ORM 5.0.0 в NuGet-пакете останется только net45.
Данное решение позволяет обновить зависимости, в частности Unity
и npgsql
, поскольку свежие версии этих пакетов также были лишены сборок для .NET ниже версии 4.5. Также технологам открываются возможности из .NET 4.5.
Если проект не может по тем или иным причинам обновить версию .NET до 4.5, то остаётся возможность использования версии Flexberry ORM 4.1.0 включительно. В случае острой необходимости, по запросу будут выполняться работы по переносу исходного кода из текущей версии в ветки со старыми версиями и выпускаться обновления.
Обновление ORM до версии 5.0 требует некоторого вмешательства в прикладной набор пакетов и, иногда, в исходный код - обратная совместимость нарушена из-за обновления пакетов Unity: потребуется перенастроить конфигурационные файлы и, возможно, using-и, поскольку у них сменились некоторые неймспейсы и названия сборок. Теперь используются следующие пакеты:
<dependency id="Unity.Abstractions" version="3.3.0" />
<dependency id="Unity.Configuration" version="5.2.2" />
<dependency id="Unity.Container" version="5.8.6" />
После обновления ORM до версии 5.* эти зависимости установятся автоматически, но обязательно нужно вручную удалить пакет (через NuGet Package Manager)
<dependency id="Unity" version="[2.1.505.2]" />
В конфигурационном файле нужно выполнить следующие изменения.
Было:
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />
Стало:
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Unity.Lifetime.ContainerControlledLifetimeManager, Unity.Abstractions" />
В C# коде там где использовался неймспейс:
using Microsoft.Practices.Unity;
Теперь будет:
using Unity;
В дальнейшем доработки в версии Flexberry Ember
, которая основана на ember-cli@3.х
будут выполняться в версии 3.х
. В данном релизе был совершен переход с EmberJS 2.4.3 на ~3.1.3. Подробная инструкция по обновлению EmberJS и Flexberry Ember на существующем проекте будет подготовлена позже (пока можно пользоваться данными из открытых источников).
В версию ember-flexberry-data 3.0.0 вошли следующие изменения:
Projection.Model
удален механизм валидации, предоставляемый аддоном ember-validations (для валидации теперь используется другой аддон)Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry 3.0.0 вошли следующие изменения:
flexberry-sidebar
flexberry-sitemap
flexberry-dropdown
: ui-dropdown
из аддона semantic-ui-ember
modal-dialog
: ui-modal
из аддона semantic-ui-ember
run.after
переименована в runAfter
и перенесена из initializer
в utils
flexberry-validationsummary
: headerText
переименовано в header
header
flexberry-validationmessage
: pointing
изменено значение по умолчанию на ‘pointing’edit-form
выполняет валидацию до попытки сохранить модельflexberry-objectlistview-on-edit-form-controller
: customFolvContent
не может иметь promise в качестве значенияflexberry-objectlistview-route
: flexberry-toggler
компонент: flexberry-lookup
: lookup-dialog
flexberry-objectlistview
: recordsTotalCount
в мобильном режимеmodal-dialog
: olv-toolbar
: sitemap
, sitemap-node
, sitemap-node-content
sitemap-node
flexberry-simpleolv
flexberry-datepicker
(вместо него рекомендуется использовать компонент flexberry-simpledatetime
)ember-validations@~2.0.0-alpha.4
flexberry-objectlistview
: customParameters
передаются по отдельности (раньше они передавались одним объектом customParameters
)semantic-ui-ember
semantic-ui
обновлен до 2.3.1flexberry-lookup
: items
должно идти до свойства value
dropdownSettings
flexberry-dropdown
: settings
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
На смену версии 0.12.1
приходит версия 2.0.0
. В дальнейшем доработки в версии Flexberry Ember
, которая основана на ember-cli@2.4.3
будут выполняться в версии 2.х
.
В версию ember-flexberry-data 2.0.0 вошли следующие изменения:
Serializer.Base
) добавлен метод normalize
для обновления typeClass
в случае полиморфной связиGeometryPredicate
для геометрического типа данныхSerializer.OData
) исправлен метод normalize
для обновления typeClass
в случае полиморфной связиБолее подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry 2.0.0 вошли следующие изменения:
componentName
для лукаповcustomParameters
в options
экшена objectListViewRowClick
flexberry-simpledatetime
: defaultHour
и defaultMinute
для установки времени по умолчаниюdisabled
для возможности контроллировать состояние пользовательских кнопокflexberry-file
: headers
для добавления заголовков в запрос скачивания файлаEnter
flexberry-file
: flexberry-groupedit
colsconfig-dialog-content
: flexberry-tab-bar
: active
к текущей вкладкеflexberry-simpledatetime
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
[UPDATE] После выпуска версии 0.12.1 были выпущены дополнительно версии 0.12.2 и 0.12.3. В них вошли следующие изменения:
_super
-методов внутри ряда технологических методов. Это могло приводить к неправильному поведению в ряде мест технологии, например, к несрабатыванию технологического хука routeWillTransition
в контроллерах форм редактированияinHierarchicalMode
в настройках лукапа внутри метода getLookupFolvProperties
. Пример на стенде можно посмотреть тут. Документацию можно посмотреть тутВ версию ember-flexberry 0.12.1 вошли следующие изменения:
app-state
Внимание! Использование свойства loadingState
и метода setLoadingState
сервиса objectlistview-events
переведено в состояние Deprecated до выпуска версии ember-flexberry@1.0.0! Начиная с этой версии данное свойство и метод будут удалены из сервиса objectlistview-events
! Для использования сервиса app-state
необходимо во всех шаблонах приложения код добавления класса {{objectlistviewEventsService.loadingState}}
в разметке заменить на {{appState.state}}
(в том числе в шаблоне application.hbs
), а в контроллеры соответствующих форм добавить инъекцию сервиса app-state
.flexberry-objectlistview
: colsSettingsItems
перезаписывало само себяflexberry-toggler
: flexberry-lookup
: flexberry-textbox
: input error
flexberry-dropdown
: user-settings
: Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry-data 0.12.0 вошли следующие изменения:
Offline.Store
) добавлен оналйновый стор (Projection.OnlineStore
) для возможности явного переопределения методов в немAdapter.OData
реализованы методы deleteAllRecords
для удаления всех записей со всех страниц Внимание! Для поддержки этого функционала в OData-бакенде должен быть реализован экшн DeleteAllSelect
.Query.DatePredicate
с недопустимым значением даты или значением nullidType
, для определения типа первичного ключа на бакенде, перенесено из адаптера Adapter.OData
в модель Projection.Model
currentUserName
модели возвращает промисQuery.DatePredicate
для Query.JsAdapter
без указания времени (в timeless-режиме)Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry 0.12.0 вошли следующие изменения:
flexberry-toggler
: теперь сохраняет статус в пользовательских настройках (имя компонента в параметре componentName
шаблона должно быть указано!)beforeDeleteAllRecords
для передачи экшна, который будет срабатывать пере удалением всех элементов на всех страницах (в технологическом контроллере списковой формы добавлен одноименный экшн, который может передаваться по умолчанию). Все предупреждения при удалении записей по кнопке “все со всех страниц” должны быть добавлены на прикладном уровне в экшн beforeDeleteAllRecords
в контроллере соответствующей списковой формы. При невыполнении указанных условий удаление всех записей со всех страниц будет осуществлятсья сразу без предупреждений, что чревато серьезными потерями данных у заказчиков!flexberry-objectlistview
: customButtonsInRow
для добавления кнопок в строки (по аналогии с свойством customButtons
)buttonAction
для свойств customButtons
и customButtonsInRow
flexberry-error
и шаблон error
теперь поддерживают перевод сообщений об ошибках, если в сообщении об ошибке указано свойство messageLocaleKey
ember install ember-flexberry
версия аддона ember-data
принудительно понижается до 2.4.3flexberry-objectlistview
: flexberry-simpledatetime
: невозможность выбора крайних значений диапазона дат, когда установлены минимальные или максимальные значенияflexberry-lookup
: при слишком “длинном” значении (когда значение больше области для его вывода) в мобильном режиме добавлен перенос словБолее подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Что нового в версии Flexberry Service Bus 1.1.0
Description
для объекта Subscription
.Npgsql
до версии 3.0.8
.
Разработка приложений уровня предприятия заканчивается успешной установкой информационной системы и её внедрением в бизнес-процессы. Для обеспечения успешной интеграции приложения в действующие бизнес-процессы, как правило, разрабатывают инструкции и проводят учебные курсы. Установка и внедрение приложений в корпоративную инфраструктуру может быть выполнена различными способами: ручная установка и настройка непосредственно на виртуальных или физических машинах, или более современный вариант - автоматизированное разворачивание кластера или стека сервисов, представляющих собой контейнеры. Промышленным стандартом для контейнеризации можно считать решение Docker, которое разрабатывается одноимённой компанией. Подробнее об использовании Docker для разворачивания решений можно прочитать в статье о базовых технологиях платформы Flexberry.
Платформа Flexberry предоставляет возможности по созданию сложных корпоративных приложений, каждое из которых может быть развёрнуто в виде некоторого количества отдельных сервисов. Каждый из таких сервисов может быть естественным образом представлен в виде Docker-контейнера. В самом простейшем варианте один сервис может содержать базу данных PostgreSQL, а второй сервис – веб-приложение.
Для удобного создания Docker-контейнеров, включающих в себя сервисы разрабатываемых решений в платформе Flexberry предусмотрен ряд базовых образов. В Docker реализован механизм наследования, который позволяет «добавлять» в базовый образ что-то новое. Docker-образы строятся на основе файлов специального вида – Dockerfile. Ввиду того, что платформа Flexberry соблюдает принцип свободного программного обеспечения, набор Dockerfile для всех базовых образов опубликован в открытом репозитории на GitHub.
Компания Docker предоставляет не только программное обеспечение для создания образов и запуска контейнеров, но и ряд интернет-сервисов, облегчающих работу с контейнерами. Так, для открытых проектов доступен репозиторий Docker-образов – Docker Hub. Этот репозиторий может использоваться для получения популярного ПО, которое уже кто-нибудь «научил» работать в Docker-контейнере. Базовые Docker-образы, которые разработаны для проектов на Flexberry расположены в разделе организации Flexberry.
Разработчикам образов Docker Hub предоставляет возможность автоматизации процесса сборки Docker-образов. Используя этот подход, все базовые Docker-образы Flexberry собираются и публикуются в репозитории в автоматическом режиме. Это позволяет быстро выполнять доработку образов, в том числе принимать Pull request от сообщества, если пользователям платформы потребуется внести что-нибудь нужное в базовые образы. В качестве ещё одного примера успешного использования контейнеризации можно рассказать о Flexberry Service Bus, которая может быть легко развёрнута и запущена на компьютере по краткой инструкции.
Flexberry Service Bus
это сервисная шина с открытим исходным кодом размещенным на GitHub. Подробнее со структурой проектов и списком репозиторием можно ознакомиться в статье Разработка Flexberry Service Bus на сайте документации платформы Flexberry.
Результатами работ над проектом Flexberry Service Bus
являются следующие продукты:
Для начала работы можно воспользоваться статьями Установка и запуск шины в Docker, Пример WCF-адаптеров и Пример REST-адаптера шины.
Все коммиты теперь сопровождаются сборкой на Travis-CI под mono (без интеграционных, но с выполнением автономных модульных тестов).
С целью синхронизации версий NuGet-пакетов ORM и ODataService была поднята версия пакета ODataService до 4.1.0. В дальнейшем они будут выпускаться синхронно, чтобы избежать путаницы, поскольку между ними есть прямая зависимость.
Microsoft.Spatial.Geography
for Net Framework 4.5.Microsoft.Spatial.Geography
in Information
.PostgresDataService
method for comparing types.Nullable<DateTime>
and NullableDateTime
for DateTime
properties (Day, Month, Year, etc.).ICSSoft.STORMNET.TuneStaticViewDelegate
for tune static Views.UnityFactory.CreateContainer
method instead of UnityFactory.GetContainer
. It should increase performance.Geography
type.ICSSoft.STORMNET.RightManager
. Now implementation of ISecurityManager
specified via Unity is used instead.RowNumber
property.DefaultODataPathHandler.Parse(IEdmModel model, string serviceRoot, string odataPath)
.В версию ember-flexberry-data 0.11.0 вошли следующие изменения:
timeless
для DatePredicate
(документация: DatePredicate, фильтрация по датам без учета времени)makeRequest
, callAction
и callFunction
для выполнения AJAX-запросов к OData бэкенду (документация)Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry 0.11.0 вошли следующие изменения:
defaultSettingsButton
)getCellComponent
(статья)Ember Inspector
восстановлено свойство tagName
у приложенияprocessName
теперь содержит имя приложения (ENV.modulePrefix
из environment.js
)onSaveActionRejected
теперь можно обработать ошибки сохранения для каждого детейла (в данный метод приходит массив с результатами промисов по всем детейлам, как успешным, так и неуспешным)readonly
из componentProperties
для динамических компонентов (встроенных в ячейки)flexberry-checkbox
displayAttributeName
editOnSeparateRoute
и saveOnRouteLeave
равны trueallowColumnResize
было изменено динамическиolv-toolbar
в мобильном режимеreadonly
режиме в IEcolumnsWidthAutoresize
в мобильной версии компонентаorderBy
(теперь сортировка задается через developerUserSettings)Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Инструкция по обновлению с версии 0.10.0:
ui-sidebar
добавить параметры как в application.hbstagName: ''
и нет дополнительной прикладной логики, то можно удалить этот файл, иначе удалить только tagName: ''
Flexberry RFC - это так называемый процесс запросов на комментарии (RFC - Request For Comments), который обеспечивает возможность согласованного и контролируемого принятия более “существенных” изменений, касающихся платформы Flexberry.
Запуск процесса RFC для платформы Flexberry - это еще один шаг в направлении открытости платформы и возможности ее доработки силами сообщества.
Различные OpenSource-проекты имеют аналогичный процесс - например, RFC для фреймворка Ember.js, RFC для языка RUST.
Данный процесс обеспечивает возможность предварительного совместного обсуждения предлагаемых доработок платформы и как результат - фиксация соответствующего технического решения в виде документа в соответствующем репозитории платформы Flexberry на GitHub.
Более подробно с процессом Flexberry RFC можно ознакомиться здесь: https://github.com/Flexberry/rfcs
В версию ember-flexberry-data 0.10.0 вошли следующие изменения:
hasChangedBelongsTo
для проверки изменений ‘belongsTo’getCurrentUserName
Projection.Model
и использовании наследования вся иерархия моделей имеет общий объект проекцийsyncUp
при изменении ‘belongsTo’GeographyPredicate
для flexberry-gis
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
В версию ember-flexberry 0.10.0 вошли следующие изменения:
flexberry-error
flexberry-simpledatetime
flexberry-lookup
flexberry-field
and flexberry-textbox
flexberry-error
)Enter
)beforeDeleteRecord
теперь поддерживает асинхронный режимreadonly
для flexberry-datepicker
flexberry-simpleolv
с пользовательскими настройками по умолчаниюflexberry-simpledatetime
для мобильных устройств, а также в режиме readonly и обработка введеного значенияblue-sky
для мобильных устройств, стили для модальных диалогов, отображение боковой панели и высота содержимого страницы.checked
для IEflexberry-groupedit
в формах редактированияБолее подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Инструкция по обновлению:
ember-flexberry 0.9.2-beta.2
нужно перегенерировать приложение, либо внести изменения вручную: application.hbs
у блока с классом “full height”, удалить «style=”min-height: 90vh”» (если это не было изменено на прикладном уровне)В версию вошли следующие доработки:
Более подробно со списком изменений можно ознакомиться в CHANGELOG.md:
Инструкция по обновлению с версии ember-flexberry без тем:
Если есть возможность, то желательно сгенерировать приложение в чистую папку, а затем перенести в него прикладную логику. Иначе нужно:
"ember-block-slots": "1.1.3"
и "ember-cli-less": "^1.5.4"
. Удалить "ember-cli-sass"
. Изменить версии "ember-data": "~2.4.3"
и "ember-flexberry": "0.9.1"
."js-beautify": "1.6.4"
, "jquery-minicolors": "2.2.6"
и "seiyria-bootstrap-slider": "6.0.6"
. Изменить версии "semantic-ui": "git://github.com/Flexberry/Semantic-UI.git#fixed-abort"
и "flatpickr-calendar": "2.3.4"
.npm install
/bower install
.ember-cli-build.js
привести в соответствие с ember-cli-build (если необходимо, добавить прикладную логику).app/index.html
после content-for "body"
добавить <script src="//cdn.polyfill.io/v1/polyfill.js?features=es6"></script>
.app/styles/app.scss
переименовать в app/styles/app.less
, добавить в начало @import "src/semantic";
и @import "node_modules/ember-flexberry/addon/styles/addon";
. Также проверить нет ли в этом файле чего-нибудь несовместимого с less. Для аддона проделать то же самое для addon/styles/addon.scss
.app/styles
или в addon/styles
(для приложения и аддона соответственно).theme.less
из предыдущего шага.vendor
font-icon.css
, папки fonts и serviceImages из ember-flexberry.locales/локализация/model
для всех моделей в представлениях поменять caption
на __caption__
.state
из классов формы.positive
у кнопок Сохранить
и Сохранить и закрыть
, добавить классы save-button
и save-close-button
соответственно.negative
у кнопки удаления, добавить ей класс save-del-button
.close-button
.app/controllers/application.js
добавить objectlistviewEventsService
и привести toggleSidebar
/toggleSidebarMobile
в соответствие с application.js.app/controllers/sitemap-node.js
добавить subMenuEl
в соответствие с sitemap-node.js.app/templates/application.hbs
привести в соответствие с application.hbs. Скорее всего этот шаблон нужно будет доверстать под проект. В мобильной версии этого шаблона нужно toogleSidebar
заменить на toogleSidebarMobile
.Обновить Flexberry Desinger можно, скачав с сайта flexberry.ru. Инструкция по установке находится в статье Установка Flexberry Designer, раздел Установка новой версии Flexberry Desinger (обновление)
.
Изменены имена генерируемых сборок, теперь по умолчанию они будут генерироваться без скобочек, и вместо - Namespace.ProjectName(Objects)
- Namespace.ProjectName(BusinessServers)
- Namespace.ProjectName(BusinessServersBF)
- Namespace.ProjectName(ASP.NET Application)
теперь по умолчанию будут генерироваться имена
- `Namespace.ProjectName.Objects`
- `Namespace.ProjectName.BusinessServers`
- `Namespace.ProjectName.BusinessServersBF`
- `Namespace.ProjectName.ASP.NET Application`
чтобы это не мешало перегенерации уже существующих проектов, в свойствах стадии `ORM -> C# -> Свойства модели` была добавлена дополнительная настройка, позволяющая настроить шаблон для генерируемых имен.
По умолчанию он выглядит так `{Name}.{Purpose}`, чтобы вернуть скобочки в имена сборок, потребуется изменить его на `{Name}({Purpose})` на вкладке `Дополнительно` на форме `Дополнительные настройки`.
ORM -> SQL -> PostgreSQL
ORM -> Утилиты
ORM -> SQL -> ... -> Сгенерировать SQL
, для генерации скриптов нужно использовать ORM -> SQL -> ... -> Привести БД в соответствие с моделью
Spring
и BlueSky
Замечания и пожелания, касающиеся Flexberry Designer-a и его плагинов, можно направлять на электронную почту.
В версию вошли следующие доработки:
Список изменений во Flexberry ASP.NET - 2.3.0
Список изменений во Flexberry Security - 1.7.0
Изменения в зависимостях * Пакет Flexberry.ORM обновлен до 4.0.0 (см. подробности в новости о выпуске версии ORM 4.0.0).
Общие изменения:
В версию вошли следующие доработки:
ICSSoft.STORMNET.Drawing
перенесён из ORM в Winforms.В версию вошли следующие доработки:
В версии вошли следующие доработки:
canonicalState
было неопределено. Первый вариант исправления был предложен в версии ember-flexberry-data@0.8.2, но этот вариант приводил впоследствии к неправильному значению свойства canonicalState
у агрегатора при дальнейших изменениях списка связанных детейлов.Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:
В версию вошли следующие доработки:
flexberry-lookup
в режиме выпадающего списка.Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:
В версию вошли следующие доработки:
Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:
В версии вошли следующие доработки:
Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:
В версию вошли следующие доработки:
Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:
В версию вошли следующие доработки:
Более подробно со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:
В версию вошли следующие доработки:
meta.count
в оффлайн-режиме при чтении данных.Примечание. В оффлайн-режиме детейлы рекомендуется хранить всегда в виде массива, в том числе когда они отсуствуют. В этом случае в поле для хранения детейла рекомендуется записывать пустой массив.
Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:
В версию вошли следующие доработки:
flexberry-objectlistview
на форме редактирования + возможность указывать отступы в иерархическом списке.modelProjection
не определено).flexberry-simpledatetime
в мобильном варианте.Более подробно со списком изменений можно ознакомиться в CHANGELOG-е соответствующего проекта:
Со списком изменений можно ознакомиться в CHANGELOG-ах соответствующих проектов:
Всем успехов и новых достижений в Новом году!
На период ознакомления или для открытых проектов продукты платформы доступны бесплатно. Попробуйте, и решите, подходят ли они
для ваших задач.
Также вы можете ознакомиться с исходным кодом продуктов на GitHub.