ub-server #

Added #

5.14.1 2019-07-29 #
  • check what associationManyData property for the attribute of type "many" do not point to the existed entity what not a many-to-many relation; This prevents DDL generator from dropping columns in the existed entity table.
5.13.0 2019-07-26 #
  • changing of log levels without restarting server. Under Linux when got SUGHUP signal UB will reload logging.levels from application ubConfig, rotate current log file and starts new with new logging levels. This allow to change logging detailing without restarting production server. Try to run UB, change a logging.levels in config and send a HUP signal to running process:
kill -HUP `pidof ub`

Even if logging levels is not changed UB starts new log file on SIGHUP.

5.12.7 2019-07-18 #
  • new configuration key security.domainMap - rules for transformation of fully qualified domain names to NT4-style. To be used for Negotiate authentication under Linux in case domain name contains dots. For example to prevent transformation of user@MYCOMPANY.COM -> MYCOMPANY\\user (default behavior) the following can be configured:
 //....
 "security": {
   "authenticationMethods": ["UB", "Negotiate"],
   "domainMap": {
     "MYCOMPANY.COM": "MYCOMPANY.COM"
   }
 }

Changed #

5.14.2 2019-07-30 #
  • minor softLock mixin performance optimizations

Fixed #

5.14.0 2019-07-28 #
  • softLock mixin will not insert a lock with type None. This allows to select an instance together with lock info using single request:
let r = UB.Repository('tst_document').attrs('ID').misc({lockType: 'None'}).where('ID', '=', 332729226657819)
r.select().then(rp => console.log(r.rawResult.resultLock))
5.12.6 2019-07-16 #
  • throw graceful error in case client pass a condition other when isNull/notIsNull and "values": {"paramName": null} into where List
  • prevent AV inside App.updateFTSIndex in case passed entity no longer exists in domain
5.12.5 2019-07-12 #
  • prevent returns of resultData parameter in results of softLock mixin 'lock' method. Actual lock method results are inside resultLock (as before)
  • softLock mixin: removed log warning in case lockIdentifier or lockEntity mixin properties is empty and server sets a default values
  • prevent returns of __fieldListExternal private parameter in response mParams
  • throws in case whereList contains invalid (not supported) condition
5.12.4 2019-07-09 #
  • 'addnew' method will return correct max date for mi_deleteDate attribute instead of maxDate string
5.12.3 2019-07-05 #
  • reduce "DB" log level log output for SQL Server OleDB provider (used for access to MS SQL under Windows)
  • server will shutdown correctly in case OS do not support database driver specified for any of dbConnection in config

@unitybase/adminui-vue #

Added #

1.6.17 2019-07-30 #
  • support for softLock (Pessimistic locks) mixin
  • new icon-color classes for UToolbarButton: info, danger. Example:
<u-toolbar-button
 v-if="entitySchema.hasMixin('softLock')"
 :icon-cls="isLocked ? 'fa fa-lock' : 'fa fa-unlock'"
 :icon-color="isLocked ? (isLockedByMe ? 'green' : 'danger') : 'info'"
 :tooltip="lockInfoMessage"
1.6.14 2019-07-15 #
  • exports dialog, dialogError, dialogInfo, dialogYesNo functions from adminui-vue. To be used outside Vue instance:
const adminUiVue = require('@unitybase/adminui-vue')
adminUiVue.dialogInfo('Hello')
// inside Vue instance the same can be called as this.$dialogInfo

Changed #

1.6.16 2019-07-24 #
  • method showValidationErrors in UB.view.BasePanel. Now returns entityCode.fieldCode when fieldLabel is empty.
1.6.14 2019-07-15 #
  • default repository for USelectEntity & USelectMultiple is sorter by description attribute. Pass your repository for custom sorting (or to remove sorting)
  • USelectEnum is sorted by ubm_enum.sortOrder
  • processing - excluded fields mi_createDate, mi_createUser, mi_deleteDate, mi_deleteUser, mi_modifyUser, mi_owner from insert request

Fixed #

1.6.16 2019-07-24 #
  • placeholder translation for u-auto-field of Date/DateTime type ( #63 )
  • put moment in global even in case user language is en
1.6.14 2019-07-15 #
  • UFormContainer should prevent submitting of form in case user press Enter key while input on form is focused
1.6.12 2019-07-02 #
  • translation of attributes inside Full Text Search widget snippets (FTS return attributes in lower case)
  • ub-auth login form: add more space between password field and "Login" button in case of http: to prevent overlap of login button by browser "not secure connection" warning
  • Vue based user messages notification widget do not throw ELS - access deny error for non-privileged users
1.6.11 2019-07-02 #
  • fix exception "UForm.instance()" should be called once - occurred during opening of vue form (introduced in 1.6.10)

@unitybase/adminui-pub #

Added #

5.9.0 2019-07-03 #
  • new key in ubConfig uiSettings.adminUI.pdfViewer.uriSuffix - value passed directly to the PDF viewer URL. See PDF open parameters documentation for possible values. Default is #view=Fit

Changed #

5.10.4 2019-07-24 #
  • added new methods getRepository and getAttrCode to UB.ux.UBOrgChart Can be overrated by other model in case org structure uses some other unity entity (hr_staffUnit for example)
5.10.2 2019-07-11 #
  • rename pokazatPrevu -> showPreview, neNaidenShablon -> nodeTemplateNotFound in i18n
5.10.0 2019-07-08 #
  • BREAKING adminui-pub model does not create a navbar and sidebar anymore. Consider either to add a @unitybase/adminui-vue to the domain or write your own navbar and sidebar
  • BREAKING UB.view.LoginWindow is removed. External HTML form should be used for initial login (already implemented in @unitybase/adminui-vue). Re-login form can be added by call to UB.connection.setRequestAuthParamsFunction() (already done in adminui-vue).
  • sidebar mount point now a div with ID sidebar-placeholder
  • Ext components removed: 'UB.view.FullTextSearchWidget', 'UB.view.LeftPanel', 'UB.view.MainToolbar', 'UB.view.NavigationPanel', 'UB.view.SelectPeriodDialog', 'UB.view.ToolbarMenu', 'UB.view.ToolbarMenuButton', 'UB.view.ToolbarUser', "UB.view.ToolbarWidget"
  • viewport internal HTML layout is simplified (unneeded nested divs are removed)
  • customSidebar and customNavbar adminUI configuration keys are removed from application config (always true)
5.9.0 2019-07-03 #
  • BREAKING UBStore.load will return a native Promise instead of Q.Promise from bluebird-q
  • UBStore.reload will return a native Promise instead of Q.Promise. WARNING UBStore.reload clears an entity cache and should be used VERY RARELY. For example to refresh store because of changes in ubRequest store.load() is enough. Even in case store is already loaded it will be refreshed during load() call.

Fixed #

5.10.5 2019-07-26 #
  • enable Action ('del') after add first row in grid
5.10.4 2019-07-24 #
  • prevent open second tab for forms what not a BasePanel descendant; Implemented by using selector panel[tabID=${cfg.tabId}] instead of basepanel[...] to find what form is already opened
5.10.2 2019-07-11 #
  • return back UB.core.UBUtilTree (used in udisk)
5.10.1 2019-07-08 #
  • sidebar width should be max 240px and should not depend on shortcut text length
5.10.0 2019-07-08 #
  • fix invalid use of this in UBStore.load what cause a unexpected limit by 25 rows (introduced in 5.9.0)
5.8.29 2019-07-01 #
  • prevent changing of zIndex according to current Vue zIndex for forms with both isModel: true and target defined. Actually this is not a modal form, but rather form embedded into another form.

@unitybase/adminui-reg #

Added #

5.2.2 2019-07-16 #
  • more details will be shown to user in case server works in production mode but user use a -dev endpoint

Changed #

5.2.0 2019-07-08 #
  • Ext based login form is removed. In case uiSettings.adminUI.loginURL is not defined and adminui-vue is in domain then vue-based login form will be used, if loginURL not defined and adminui-vue not in domain - error page will be displayed

@unitybase/base #

Changed #

5.1.18 2019-07-10 #
  • added support of UBQLv2 for DataLoader.localizeEntity

@unitybase/cdn #

Changed #

5.2.0 2019-07-22 #
  • all meta files and they localization transformed to array-of-attributes format

@unitybase/cs-shared #

Added #

5.1.5 2019-07-28 #
  • documentation for 'lockType' flag of CustomRepository.misc method

@unitybase/org #

Changed #

5.2.0 2019-07-22 #
  • all meta files and they localization transformed to array-of-attributes format

@unitybase/ub-pub #

Added #

5.3.9 2019-07-28 #
  • ClientRepository.rawResult property. Contains a server response in raw format. Can be used to get additional response parameters for select* methods. For example get lock information together with select execution:
let repo = UB.Repository('tst_document').attrs('ID', 'reg_date').misc({lockType: 'None'}).where('ID', '=', 332729226657819)
let data = await repo.selectSingle() // {ID: 332729226657819, regDate: Date}
let lockInfo = repo.rawResult.resultLock // {success: true, ownLock: ....}

In general any parameters added on the server side to the ctxt.mParams is accessible

5.3.6 2019-07-11 #
  • added filter i18n to UB.install. Can be used as $ut replacement
<div> {{ 'uba_user' | i18n}} </div> 
<div> {{ 'login' | i18n('Mike') }} </div>

is equal to

<div> {{ $ut('uba_user') }} </div> 
<div> {{ $ut(login, 'Mike') }} </div>

Changed #

5.3.6 2019-07-11 #
  • error message is added into detailed exception information with h2 HTML tag to be shown in "Details for developer" window together with stack trace
  • prevent put empty file: line: into exception details in case file name and line number is not available in error stack trace
  • highlight file names in the error stack trace even if it's name not ends wih .js extension

@unitybase/ub #

Added #

5.2.24 2019-07-10 #
  • new configuration key security.domainMap - rules for transformation of fully qualified domain names to NT4-style. To be used for Negotiate authentication under Linux in case domain name contains dots. For example to prevent transformation of user@MYCOMPANY.COM -> MYCOMPANY\\user (default behavior) the following can be configured:
 //....
 "security": {
   "authenticationMethods": ["UB", "Negotiate"],
   "domainMap": {
     "MYCOMPANY.COM": "MYCOMPANY.COM"
   }
 }

In this case Negotiated user name will be MYCOMPANY.COM\\user

5.2.22 2019-07-04 #
  • update ubConfig JSON schema about new key uiSettings.adminUI.pdfViewer.uriSuffix

Changed #

5.2.24 2019-07-10 #
  • server-side UB.i18n now support formatting (like client side i18n). Sample:
UB.i18nExtend({
  "en": { greeting: 'Hello {0}, welcome to {1}' },
  "ru": { greeting: 'Привет {0}, добро пожаловать в {1}' }
UB.i18n('greeting', 'Mark', 'Kiev') // in case current user language is en -> "Hello Mark, welcome to Kiev"
UB.i18n('greeting', 'uk', 'Mark', 'Kiev') // in case ru lang is supported -> "Привет Mark, добро пожаловать в Kiev"

Fixed #

5.2.24 2019-07-10 #
  • Session.runAsUser & Session.runAsAdmin should restore original session even if one of login handler fails for passed user

@unitybase/uba #

Added #

5.1.35 2019-07-22 #
  • Administration subjects names (uba_subject.name) support localization (multilang)
  • Roles descriptions (uba_role.description) and Groups names (uba_group.name) supports localization (multilang)
  • build-in roles localization for uk & ru
  • icons added for shortcuts from Security group

Changed #

5.2.2 2019-07-29 #
  • save certificates grid state in the User form (uba_user)
5.2.0 2019-07-10 #
  • all meta files and they localization transformed to array-of-attributes format

Fixed #

5.1.35 2019-07-22 #
  • localization of tabs for uba_user form [#51]
  • "name" property for attributes moved to the first line of attribute object for all uba_*.meta

@unitybase/ubcli #

Added #

5.3.30 2019-07-23 #
  • new command ubcli checkStoreIntegrity for validate blobStore consistency by checking equality of the md5 checksum stored in the database with actual file MD5
npx ubcli checkStgoreIntegrity -u ... -p ... -entity tst_document -attribute fileStoreSimple

see npx ubcli checkStoreIntegrity --help for details

Changed #

5.3.28 2019-07-17 #
  • MSSQL2012 dialect will use NVARCHAR(MAX) instead of NVARCHAR(4000) for JSON

Fixed #

5.3.29 2019-07-22 #
  • in case executed for folder ubcli meta-tr will skip files what contains meta in name but not a metafile itself (bla-bla.metadata for example)

@unitybase/ubm #

Changed #

5.2.0 2019-07-22 #
  • all meta files and they localization transformed to array-of-attributes format

Fixed #

5.1.33 2019-07-06 #
  • icon selection in umb_navshortcur form now works in fireFox

@unitybase/ubq #

Changed #

5.2.36 2019-07-23 #
  • audit trail is explicitly disabled for ubq_messages entity for performance reason
5.2.35 2019-07-22 #
  • all meta files and they localization transformed to array-of-attributes format

Fixed #

5.2.34 2019-07-17 #
  • FTS scheduler job will skip FTS commands for entities what not in domain (this prevents AV inside updateFTSIndex)

@unitybase/ubs #

Added #

5.2.24 2019-07-11 #
  • scheduler job ubsSoftLockCleanup added to the UBS model. Will delete all expired non persistent lock from ubs_softLock table. By default scheduled to run every day at 05:15:25

Changed #

5.2.25 2019-07-22 #
  • all meta files and they localization transformed to array-of-attributes format
5.2.23 2019-07-08 #
  • 'UBS.MessageBar' is deleted. New implementation is inside @unitybase/adminui-vue model

Fixed #

5.2.24 2019-07-11 #
  • keys for SOFTLOCK_TYPE enum changed ltNone->None ltPersist->Persist ltTemp->Temp
  • ExtJS based messages sending form (bell on toolbar) is removed - only Vue form is left
5.2.22 2019-07-05 #
  • Vue based user messages notification widget do not throw ELS - access deny error for non-privileged users