ub-server #

Added #

5.22.12 2022-07-25 #
  • new property in entity meta - entity.captionSingular. Will be used by UI to display form (single row) caption. Consider entity.caption is in plural and used as a grid (rows) caption
5.22.10 2022-07-05 #
  • ubConfig.application.mixinsDefaults key allowed in ub -T (handled by JS)
  • new method DataStore.switchEntity('newEntityCode). Can be used to change entity dataStore associated with. Example below shows method for uba_user what actually return a result from FTS connection:
const me = uba_user
me.runInAnotherConn = function (ctx) {
  ctx.dataStore.runSQL('select * from uba_user', {})
  ctx.dataStore.switchEntity('fts_ftsDefault')
  ctx.dataStore.runSQL('SELECT A01.ID,A01.entity,A01.ftsentity,A01.databody FROM ftsDefault_en A01 LIMIT 10 OFFSET 0', {})
  • added process.globalCacheGet & process.globalCachePut - shares the same global cache with worker thread App.globalCacheGet|Put
  • added output of JS stack trace in case of exception in server initialization process (for -dev mode only)
  • new method process.binding('http_server').appendToFile(fullFilePath) to be used in THTTPRequest.appendToFile

Changed #

5.22.14 2022-07-30 #
  • allow sub-query UBQL without fieldList (it actually not needed)
5.22.10 2022-07-05 #
  • BREAKING server expect what data storage entities for "Many" attributes are added by metadata transformation hook of @unitybase/ub model (implemented in @unitybase/ub@5.22.38)
  • server do not serialize mParams.logicalPredicates parameter into response (as already did for whereList). This hides sensitive information what may be added by some server-side event handler (for example functional RLS, etc.)

Removed #

5.22.10 2022-07-05 #
  • mixin what implements data storage for ACL RLS implementation moved from native to JS (@unitybase/ub/mixins/aclRlsStorageMixin.js)
  • BREAKING aclRls mixin implementation moved from native to JS (@unitybase/ub/mixins/aclRlsMixin.js & @unitybase/ub/mixins/aclRlsMetadataHook.js)

Fixed #

5.22.14 2022-07-30 #
  • fix randomly occurred exception parmeter 'fieldList' not found
5.22.12 2022-07-25 #
  • PostgreSQL: enable sequences support for cached entities version calculation (instead of select max(mi_modifyDate)), as it already done for Oracle & MS SQL. This correctly refresh cached entity version in case non-last row from entity is removed
  • lifecycle scripts ub-app-[deploy,new,upgrade] will change recursively owner to unitybase for "$UB_APPDATA/cmodels/cust" instead of "$UB_APPDATA" - changing owner for all "$UB_APPDATA" files can take too long
5.22.11 2022-07-11 #
  • fixed overrides of existed file content while using req.appendToFile

@unitybase/adminui-vue #

Added #

5.23.8 2022-07-28 #
  • added visualisation for new signature validation attributes (signAlgo, signType, mediaSerial, certificate.certKind)
5.23.6 2022-07-26 #
  • uiSettingsStorage: module for storing UI settings. It is recommended to use this module instead of the localStorage. Module is injected into Vue.prototype as $uiSettings and exported as @unitybase/adminui-vue.uiSettings.
// inside vue can be used as this.$uiSettings
// restore some setting
this.videoRatio = this.$uiSettings.get('UFileWebcamButton', 'videoRatio') ?? this.videoRatios[0]
// save setting
this.$uiSettings.put(this.videoRatios[0], 'UFileWebcamButton', 'videoRatio')
// or from adminui-vue exports
const App = require('@unitybase/adminui-vue')
const isCollapsed = App.uiSettings.get('sidebar', 'isCollapsed')

User can clear all settings using User menu -> Reset GUI Settings

5.23.4 2022-07-14 #
  • added compressed bundle for all used FontAwesome CSS's dist/fonts/fa/css/fa-all4ub.min.css and use it to generate index page
5.23.3 2022-07-11 #
  • UAutoField can accept additional listeners in case it resolves to u-input (as already done other UAutoField control types)
  • UTableEntity: ability to hide or replace "Refresh" button, like other buttons
  • UTableEntity: add refresh method. This method will refresh data in store. It makes it a bit simpler, when control used as the "ref" and instead of this.$refs.table.$store.dispatch('refresh') you can use this.$refs.table.refresh().
5.23.2 2022-07-05 #
  • UTableEntity: the toolbarBeforePagination slot to append new buttons to toolbar before pagination
  • UFileInput - added indication of file uploading process using loader icon

Changed #

5.23.6 2022-07-26 #
  • Migrate from using the localStorage to uiSettingsStorage in appropriate places
  • Default rendering of boolean columns in UTableEntity: use icon u-icon-check instead of u-icon-add, to make it look different from the "Add" action on toolbar. Remove displaying icon u-icon-minus for negative values
  • vueJS based form title \ tab title will use entity.captionSingular in case form caption is empty. We strongly recommend to add captionSingular for all *.meta and *.meta.lang files and keep caption in ubm_form empty (simply remove "caption": "..." in publis/forms/*.ubrow)
5.23.4 2022-07-14 #
  • UNavbarUserButton: replace el-button->u-button for user icon and el-checkbox -> u-checkbox for KerberosRememberUserMenu
  • Roboto* font files is placed into /dist/fonts for both dev and production builds
5.23.2 2022-07-05 #
  • UTableEntity - removed cursor: pointer from table that cannot be edited
  • UToolbar: for entities with aclRls mixin configured using sameAs aclRls editing is not visible

Removed #

5.23.4 2022-07-14 #
  • removed deprecated woff, svg, ttf & eof fonts for FontAwesome. Remained woff2 is enough - all modern browsers uses woff2

Fixed #

5.23.8 2022-07-28 #
  • UMasterDetailView - clean _unwatchList correctly
  • Form: use entitySchema.captionSingular if available as default title for form
5.23.7 2022-07-26 #
  • mountModal, mountTableEntityAsModal: remove dialog element from DOM after destroying of Vue instance
5.23.6 2022-07-26 #
  • UToolbar: added horizontal autoscroll for small screens
5.23.5 2022-07-21 #
  • UChart rewired:
    • @chart-click handler now works even in case several charts are displayed on page
    • added date adapter to correctly display time axis (see samples on unitybase.info)
    • component now registered by adminui-vue, so can be used without require, just <u-chart>....</u-chart>
    • options and chartData properties now NOT reactive (ChartJs is designed for static data. For dynamic data better to use d3)
  • URadio - prevent 'this' is undefined error in developer mode (prop validator do not have access to 'this')
5.23.4 2022-07-14 #
  • USelectMultiple: regression after allowing the same values for displayAttribute and valueAttribute
5.23.3 2022-07-11 #
  • UAutoForm, aclRls form - mode v-loading directive above the toolbar, so all form content will be locked while loading. Prevent locking of all opened forms by use v-loading instead of v-loading.body
  • USelectMultiple: now displayAttribute may be the same as valueAttribute
5.23.2 2022-07-05 #
  • UTableEntity: title for the delete multiple toolbar button

@unitybase/adminui-pub #

Changed #

5.23.8 2022-07-26 #
  • extJS based form title \ tab title will use entity.captionSingular in case form caption is empty. We strongly recommend to add captionSingular for all *.meta and *.meta.lang files and keep caption in ubm_form empty (simply remove "caption": "..." in publis/forms/*.ubrow)
5.23.6 2022-07-14 #
  • use compiled /models/adminui-vue/dist/fonts/fa/css/fa-all4ub.min.css instead of for separate css for FontAwesome
5.23.3 2022-07-05 #
  • BasePanel & EntityGridPanel: for entities with aclRls mixin configured using sameAs aclRls editing is not visible

Removed #

5.23.7 2022-07-21 #
  • removed obsolete $App.on('buildMainMenu', ..) code. buildMainMenu ExtJS event not fired for a long time, portal:sidebar:defineSlot and portal:navbar:defineSlot are used instead

Fixed #

5.23.9 2022-07-26 #
  • fixed 5.23.8 regression in EntityGridPanel what cause error me.domainEntity.mixins is undefined

@unitybase/adminui-reg #

Added #

5.23.8 2022-07-26 #
  • added uiSettings.cspAllow.frameAncestors rules what controls for what sites our client app can be embedded indo iframe. WARING - @unitybase/ubcli should also be updated and ubcli generateNginxCfg executed to remove add_header X-Frame-Options sameorigin; directives in nginx config

Changed #

5.23.8 2022-07-26 #
  • accessing to localhost:8083 and localhost:8081 in content security policies default-src, script-src connect-src and object-src now allowed only in case some of iit Ukraine specific crypto-libraries is used in uiSettings.adminUI.encryptionImplementation. For instances without IIT these CSP are not added

@unitybase/blob-stores #

Added #

5.23.3 2022-07-11 #
  • chunked file upload support (require UB@5.22.11)

Fixed #

5.23.4 2022-07-12 #
  • allow chunked file upload for ub 5.22.11 (not 5.22.0011 because of typo in 5.23.3 )

@unitybase/cdn #

Fixed #

5.23.4 2022-07-11 #
  • city, classifier, department, employee, organization, person, region forms:
    • mode v-loading directive above the toolbar, so all form content will be locked while loading
    • prevent locking of all opened forms by use v-loading instead of v-loading.body
5.23.3 2022-07-05 #
  • Give the "Developer" role full access to the cdn_classifier entity

@unitybase/cs-shared #

Added #

5.23.4 2022-07-26 #
  • defined new UBEntity.captionSingular property; for compatibility in case in i18n captionSingular is empty then caption from i18n will be used instead

Fixed #

5.23.3 2022-07-11 #
  • patterns registered by formatByPattern.registerDatePattern are now listed in formatByPattern.datePatterns. The same is true for formatByPattern.registerNumberPattern and formatByPattern.numberPatterns
  • for unknown pattern names formatByPattern.getDatePattern and formatByPattern.getNumberPattern will return undefined instead of empty object {}

@unitybase/org #

Fixed #

5.23.10 2022-07-28 #
  • Critical regression typo on org_emloyeeonstaff localization
5.23.9 2022-07-28 #
  • org_employeeonstaff form:
    • do not show date_to if year equal 9999
    • fixes in 'en' translations
5.23.7 2022-07-26 #
  • Synchronization between uba_user and org_employee now work in 2 ways:
    • attributes:
      • `uba_user.firstName <=> org_employee.firstName'
      • `uba_user.lastName <=> org_employee.lastName'
      • `uba_user.fullName <=> org_employee.fullFIO'
    • uba_user support flag __syncEmployee: false to skip the sync
    • org_employee support flag __syncUser: false to skip the sync
5.23.4 2022-07-11 #
  • department, employee on staff, execgroup, profession, staff unit, org unit forms:
    • mode v-loading directive above the toolbar, so all form content will be locked while loading
    • prevent locking of all opened forms by use v-loading instead of v-loading.body

@unitybase/ub-pub #

Added #

5.23.5 2022-07-28 #
  • added i18n for new signature validation attributes (signAlgo, signType, mediaSerial, certificate.certKind)
5.23.4 2022-07-26 #
  • new property in entity metafile captionSingular - an entity caption in singular. If defined it will be used on UI as a form (single row) caption in case form caption is empty (recommended). Require server UB@5.22.12, for versions below 5.22.12 captionSingular is ignored even if defined in meta
  • UB.i18n can accept #captionSingular hashtag UB.i18n('uba_audit#captionSingular'). If entity.captionSingular is defined - return entity.captionSingular, else - entity.caption (the same as UB.i18n('uba_audit'))
5.23.3 2022-07-11 #
  • 'AsyncConnection.setDocument' - can upload large files using chunks. To activate, chunk size (mb) can be sets in UB config uiSettings.adminUI.uploadChunkSizeMb (by default - no chunked upload). Can be set for individual setDocument request by pass params.chunkSizeMb BREAKING - applications what uses setDocument:before should take care about chunked uploads.
  • new method AsyncConnection.setPreferredUData - store into the localStorage some data, what will be available during next login inside Session.on('login') as req.parsedParameters.prefUData

Changed #

5.23.3 2022-07-11 #
  • use a global localStorage instead of window.localStorage. This allows use localStorage polyfill under nodeJS (for example node-localstorage)

Removed #

5.23.3 2022-07-11 #
  • CERT authorization support is remover (in flavor of CERT2)

@unitybase/ub #

Added #

5.23.6 2022-07-26 #
  • new property captionSingular is added into entity JSON-Schema
5.23.3 2022-07-11 #
  • "Many" attribute storage entity: added virtual ID attribute + mStorage mixin to be a subject of DDL generation
5.23.2 2022-07-05 #
  • new method THTTPRequest.appendToFile(fullFilePath, [encoding]) - append request body content (as binary) to existed file (or creates new one). Return true on success. Can be used to bypass moving body content between native<->JS if conversion of the request body is not required. Require UB@5.22.10
  • added new method App.wrapEnterLeaveForUbMethod for logging method execution with timer and recursion shift
  • data storage entities for "Many" attributes now added by metadata transformation hook of @unitybase/ub model (instead native server code)
  • realisation for mixin what implements ACL RLS is moved from native to JS (@unitybase/ub/mixins/aclRlsStorageMixin.js). CHANGES
    • indexes IDX_*_IIVI(instanceID, valueID) are replaced by unique indexes UIDX_*_IIVI(instanceID, valueID) are added instead
    • audit mixin now enabled for aclRls storage and uses main entity as parentIdentifier, so changes to ACL will be visible in entity changes history
    • unneeded indexes UIDX_*_admSubjentity are removed
    • complex indexes for subject attributes like doc_document_acl(ounitid, instanceid, subjid) are removed, a simple indexes for ref constraint support like doc_document_acl(ounitid) are created instead
    • check constraints about "all onEntity attributes is not null" (CHK_SOMENOTNULL and CHK_NOALLNOTNULL) are removed - this verified by aclRlsStorage mixin
    • BREAKING - mixin configuration changed. See https://unitybase.info/api/server-v5/tutorial-entites.html#aclrls---access-control-list-row-level-security
  • BREAKING entity with aclRsl mixin now MUST have an sqlAlias

Changed #

5.23.2 2022-07-05 #
  • Add TenantUser built-in role on login of every user, if user is logged in any tenant except the system tenant
  • improved logging for application initialization:
    • wrap blocks in logEnter\logLeave
    • all meta overrides are logged one-line-per meta file instead of one-line-per-override

Fixed #

5.23.7 2022-07-26 #
  • fixed regression for aclRlsStorage mixin when entity used from server side as store.run('insert', {..}) without entity in mParams
5.23.5 2022-07-21 #
  • RLS: default subjectIDsFn function for the aclRls mixin didn't assign org unit IDs of the current user into result
  • Logging in commitBLOBStores - more consistent and do not output lines for entities without blob attributes.
5.23.2 2022-07-05 #
  • RLS.allowForAdminOwnerAndAdmTable uses predefined names for added where conditions. This prevents adding the same conditions several times

@unitybase/uba #

Added #

5.23.7 2022-07-26 #
  • localization for server errors in uba_user and uba_role
5.23.6 2022-07-21 #
  • Localization for server errors in uba_user and uba_role
5.23.5 2022-07-12 #
  • migration to remove adm_folder_UI', 'adm_folder_devTools folders
5.23.3 2022-07-05 #
  • uba_user: added username trimming before insert/update. This prevents from creating logins what looks like the same

Changed #

5.23.7 2022-07-26 #
  • use key uba_user_errors.duplicateUserName instead of 'Duplicate user name (may be in different case)'
5.23.3 2022-07-05 #
  • for UB>=5.22.10 migrate hook expect ACL and Many entities HAVE multi-tenancy mixin
  • Protected system user accounts from some changes:
    • System User accounts are:
      • root, admin and anonymous (all that are in the uba_common.USERS)
      • accounts matching ubConfig:security.disabledAccounts regular expressions
    • Actions the accounts protected against (action are prohibited except when executed by root):
      • update name
      • delete account
  • uba_group form is rewritten to Vue

Fixed #

5.23.6 2022-07-21 #
  • uba_group form fixes:
    • validation for required fields
    • adding user into group in modal window
    • fix column name in users table
    • auto save new form before adding users into group
5.23.4 2022-07-11 #
  • getDomainInfo,ubql,rest are excluded from allowed endpoints for Everyone role and added for User role. Anonymous user should not have asses to these endpoints
  • group, user certificate forms:
    • mode v-loading directive above the toolbar, so all form content will be locked while loading
    • prevent locking of all opened forms by use v-loading instead of v-loading.body

@unitybase/ubcli #

Changed #

5.23.6 2022-07-26 #
  • ubcli generateNginxCfg - add_header X-Frame-Options sameorigin; directives are removed in flavor of uiSettings.cspAllow.frameAncestors content security policy
5.23.3 2022-07-11 #
  • DDL for "Many" attribute storage table now generated using the same code as for other entities. This allows support for multi-tenancy and other possible future extensions
  • DDL: prevent create an index on referential column in case this column already used in the first position of some existed (maybe complex) index
  • DDL: do not generate comment on column in case it is equal to column name (reduce noise)
5.23.2 2022-07-05 #
  • ubcli migrate will disable schedulers in starting server instance. Schedulers execution can break migration process. Feature works for UB@5.22.10 and up.
  • ubcli migrate for multitenant environments: skip virtual tenants (TID in 80..99)

Fixed #

5.23.2 2022-07-05 #
  • Fix ubcli migrate -? command execution

@unitybase/ubm #

Changed #

5.23.7 2022-07-26 #
  • VueJS form template (used when new form is created using UI) - v-loading="loading" is moved above the toolbar

Fixed #

5.23.6 2022-07-21 #
  • Definition of shortcut ubm_ui_settings: set $systemTenantOnly: true option, so that shortcut won't be created for user tenants, because settings may not be saved per-tenant.
5.23.4 2022-07-11 #
  • desktop, shortcut, query, sysdictionary forms:
    • mode v-loading directive above the toolbar, so all form content will be locked while loading
    • prevent locking of all opened forms by use v-loading instead of v-loading.body
5.23.3 2022-07-05 #
  • umb_navshortcut.update for non-privileged users now works. Before this fix user got server-side error because RLS conditions added twice - once in selectBeforeUpdate and once in selectAfterUpdate [LDOC-2294]

@unitybase/ubq #

Changed #

5.23.3 2022-07-05 #
  • Execution schedulers for tenants: skip virtual tenants (TID in 80..99)

Fixed #

5.23.3 2022-07-05 #
  • Typo in uk localization of ubq_runstat entity caption

@unitybase/ubs #

Added #

5.23.7 2022-07-26 #
  • Administration->Maintenance Tools -> Messages shortcut: added form for viewing message (on double click)

Fixed #

5.23.4 2022-07-11 #
  • message edit form:
    • mode v-loading directive above the toolbar, so all form content will be locked while loading
    • prevent locking of all opened forms by use v-loading instead of v-loading.body