@unitybase/adminui-vue #

Added #

1.14.0 2020-12-28 #
  • lookups module output a warning to console for lookups with row count > UB.LIMITS.LIMITS.lookupWarningRows (2500)
1.13.30 2020-12-20 #
  • support for attribute.customSettings.hiddenInDetails is added while building Details menu by using UBEntity.prototype.getDetailsForUI
1.13.29 2020-12-17 #
  • UFileAddButton: added property accept - a file extensions to bind into accept input property
1.13.28 2020-12-16 #
  • UI Tag tracking (adding of uitag=${uiTag} to ubql URI) is implemented for Vue based tables (what mounts as tab). For Vue based forms UI tracking is implemented in adminui-pub.
1.13.25 2020-12-09 #
  • UDropdown: new property disabled (false by default), this property disables dropdown toggle when its true
1.13.24 2020-12-02 #
  • loadWithCollections - new action for loading master record and collections from one place

Changed #

1.13.27 2020-12-14 #
  • UNavbarNotificationsButton shows message sent date with time (before this changes only date is displayed) using $formatByPattern.formatDate(item.startDate, 'dateTime')
1.13.24 2020-12-02 #
  • call loaded processing hook after loading of collections
  • login form expired password changing component design is given to the uba_user-changePassword form design
  • UTableEntity: remove text of all toolbar buttons. Shows tooltips instead
  • UTableEntity: remove border from last row in bordered mode
  • UTableEntity: add default border-radius (4px) to table border in bordered mode

Deprecated #

1.13.24 2020-12-02 #
  • UToolbarButton: Use el-tooltip + u-button instead

Fixed #

1.14.0 2020-12-28 #
  • Bug in setting parent context for UMasterDetailView on "Add New" action (use cfg.props.parentContext instead of cfg.parentContext)
1.13.32 2020-12-22 #
  • Bug in some preview forms, which show entity table, when clicking on table header
1.13.29 2020-12-17 #
  • Change password user menu item now hidden for users logged in with Auth Schema what not support password changing (all except UB, Basic and CERT/CERT2 with requireUserName)
  • UFile: accept property propagated to child UFileAddButton, so behavior of clicking into drag area and Add button is the same now
1.13.28 2020-12-16 #
  • UTableEntity & UForm uses AsyncConnection.prototype.emitEntityChanged to emit ${entityCode}:changed event. emitEntityChanged method emit ${entityCode}:changed event and, in case entity has a unity mixin - emit also ${minixs.unity.entity}:changed. This allows to refresh, for example, a uba_subject table in case uba_user is edited.
1.13.27 2020-12-14 #
  • form for changing expired password - validation fixed
1.13.25 2020-12-09 #
  • lookups remove listener on unsubscribe last subscription
  • Excel export of Vue tables: values in columns of type Boolean will be exported as 0/1 instead of HTML code fragment
1.13.24 2020-12-02 #
  • UTablEntity: not show column name in the filter dropdown or in the sort dropdown based on the selected table cell if the column configured as not filterable or not sortable

@unitybase/adminui-pub #

Added #

5.14.0 2020-12-28 #
  • BREAKING EntityGridPanel lookup column max row count is limited to UB.LIMITS.LIMITS.lookupMaxRows (10000). This prevents select for huge entities what can cause an out of memory on the server side.
5.13.63 2020-12-20 #
  • support for attribute.customSettings.hiddenInDetails is added while building Details menu by using UBEntity.prototype.getDetailsForUI
5.13.61 2020-12-16 #
  • UI Tag tracking for all forms and ExtJS tables what mounts as tab:
    • $App.doCommand generate a UI Tag for and assign it to uiTag property of central panel tabs
    • on tab activation beforetabchange event handler sets a connection.setUiTag(tab.uiTag)
    • uitag=${uiTag} is added to all ubql requests URL, so in the server logs the source of UBQL can be tracked
5.13.57 2020-12-02 #
  • UBComboBox: new property allowFilteredOut (true by default). If sets to false - do not try to load a filtered out row (probably deleted or historically not actual) it with strikethrough. For UB 1.12 compatibility can be sets to false.

Removed #

5.13.63 2020-12-20 #
  • 21 IE8 specific CSS rules is are removed from UBGrayTheme for old adminUI
5.13.58 2020-12-09 #
  • i18n for info, error, detail, login and languages abbr: uk, ru, etc. moved into ub-pub to allow use it on the login form

Fixed #

5.13.64 2020-12-21 #
  • fixed details calculation for UBDetailTree (should be [] since entityName is undefined)
5.13.63 2020-12-20 #
  • removed > sign from the left side of Details menu and Details menu items

@unitybase/base #

Added #

5.4.14 2020-12-28 #
  • ServerRepository.selectSingle & ServerRepository.selectScalar will output an error to console in case result row count > 1
5.4.13 2020-12-22 #
  • SyncConnection.prototype.insertAsObject & SyncConnection.prototype.updateAsObject - send an insert/update UBQL and return result (attributes listed in fieldList) with parsed Dates/Booleans etc. based on entity attributes data types as Object. The same as in AsyncConnection for browsers:
const newRole = conn.updateAsObject({
  entity: 'uba_role',
  fieldList: ['ID', 'name', 'allowedAppMethods', 'mi_modifyDate'],
  execParams: {
      ID: 123,
      name: 'testRole61'
  }
}, {mi_modifyDate: 'modifiedAt'})
 console.log(newRole) // {ID: 332462911062017, name: 'testRole1', allowedAppMethods: 'runList', mi_modifyDate: 2020-12-21T15:45:01.000Z}
 console.log(newRole.modifiedAt instanceof Date) //true

Fixed #

5.4.12 2020-12-21 #
  • improved JSDoc (use @example tag for methods examples - it correctly rendered by both WebStorm and ub-jsdoc)
5.4.10 2020-12-14 #
  • options.switchValue correctly returns option value started with / (for example: ubcli execSql -f /home/mpv/s.sql). Before this fix value starts with '/' recognized as switch index.

@unitybase/blob-stores #

Added #

5.5.8 2020-12-28 #
  • BLOB sores: to transform non lun'ed store to LUN'ed old folder MUST be mounted into blobStoreRoot/LU00

Changed #

5.5.8 2020-12-28 #
  • hack with UB 1.12 and UB 4.x compatibility for file system BLOB stores with historyDepth = 0 is REMOVED. Previous implementation is correct.

Fixed #

5.5.4 2020-12-14 #
  • fixed UB 1.12 and UB 4.x compatibility for file system BLOB stores with historyDepth = 0. For such stores file path is calculated without adding a folder for revisions

@unitybase/cdn #

Changed #

5.4.51 2020-12-02 #
  • cdn_person form: make inputs adaptive to form width

Fixed #

5.4.60 2020-12-28 #
  • Classifier item: add mi_deleteDate to unique index to account for safe delete and fix bug when user cannot insert item with code equal to one of the deleted item
  • cdn_organization - fixed Invalid JSON error when updating an Organization type for existed organization. (introduced in 5.4.49 by isGovAuthority fix) [UBDF-12903]
5.4.51 2020-12-02 #
  • cdn_employee.meta.uk: typo in 'middleNameGen', 'middleNameDat', 'fullFIO', 'middleName'
  • cdn_person.meta.uk: typo in 'middleNameGen', 'middleNameDat', 'classID', 'middleName'

@unitybase/cs-shared #

Added #

5.5.14 2020-12-22 #
  • LocalDataStore.convertResponseDataToJsTypes - moved from AsyncConnection to LocalDataStorage to be used in SyncConnection also. AsyncConnection.convertResponseDataToJsTypes remains.
5.5.12 2020-12-20 #
  • UBEntity.prototype.getDetailsForUI - method returns an array of UBEntityAttribute what points to this entity (associatedEntity === this entity) and such relation should be visible in the UI "Details" menu

@unitybase/org #

Changed #

5.4.31 2020-12-30 #
  • [UBDF-12922] org_staffunit: use ', ' delimiter (instead of ',') to join several employees on the same staff. Use '*' instead of '* ' to mark a full name with permanent assignment. Example (before -> after): * Sobiolev O.S.,Plaz O.V. (13.1.1 - dev depatdment) -> *Sobiolev O.S., Plaz O.V. (13.1.1 - dev department)
5.4.29 2020-12-22 #
  • Shortcuts for entities with parentID attribute associated with org_unit, are created with predefined columns. parentID is described as parentID.caption instead of lookup, because getDescriptionById method returns '---' (for safe deleted, not accessible records, etc). [UBDF-12752]
5.4.22 2020-12-09 #
  • org_employeeonstaff-fm: rewritten to vue

Fixed #

5.4.21 2020-12-02 #
  • fixed roleIDs.has is not a function during log-in of user who not assigned to employee and not a admin (introduced in 5.4.20)
  • org_employee.meta.uk: typo in 'middleNameGen', 'middleNameDat'
  • org_staffunit-fm: added missing isNew and canSave getters required for saveParentBeforeAddNew

@unitybase/ub-pub #

Added #

5.6.5 2020-12-28 #
  • UB.LIMITS.LIMITS.lookupMaxRows (10000) and UB.LIMITS.LIMITS.lookupWarningRows (2500) constants added. UI must limit a lookups row count to lookupMaxRows and output warnings in case lookup row count exceeds lookupWarningRows.
  • ClientRepository.selectSingle & ClientRepository.selectScalar will output an error to console in case result row count > 1
5.6.1 2020-12-17 #
  • new method AsyncConnection.prototype.userCanChangePassword - Is auth schema for logged in user allows password changing (currently - only UB and CERT* with requireUserName)
5.6.0 2020-12-16 #
  • AsyncConnection.prototype.setUiTag method added. UI tag will be added to a ubql HTTP request as uitag=${uiTag} and can be used to track from which part of UI request is generated.
  • AsyncConnection.prototype.emitEntityChanged method added. Emit ${entityCode}:changed event. In case entity has a unity mixin - emit also for unityEntity
5.5.35 2020-12-09 #
  • UBConnection.prototype.pki will await for UA_CRYPT.getPkiInterface. This allows to implement custom encryption implementation module, what, for example, give a choice to user which library to use
5.5.34 2020-12-09 #
  • i18n for info, error, detail, login and languages abbr: uk, ru, etc. Moved here from adminui-pub to allow use it on the login form

Fixed #

5.6.6 2020-12-30 #
  • fix usage of this in ClientRepository.selectSingle() and ClientRepository.selectScalar()
5.6.3 2020-12-21 #
  • improved JSDoc (use @example tag for methods examples - it correctly rendered by both WebStorm and ub-jsdoc)
5.6.1 2020-12-17 #
  • AsyncConnection.prototype.emitEntityChanged will transform a payload to match a unity entity before emitting a ${e.mixins.unity.entity}:changed event, so ':changed' listener in controls what based on unity entity got a payload they expect, instead of payload for child entity

@unitybase/ub #

Added #

5.7.13 2020-12-20 #
  • attribute.customSettings.hiddenInDetails is documented in the entity.schema.json

@unitybase/uba #

Fixed #

5.4.47 2020-12-02 #
  • Password change dialog - prevent displaying of error message twice when server declines a password [ERC-1145]
  • User certificates form - can be opened without parentContext (from user certificates list for example) [UBDF-12773]

@unitybase/ubcli #

Added #

5.12.0 2020-12-28 #
  • ubcli generateNginxCfg will add includes directives into generated config - this allows to extend application reverse proxy configuration without modifying of generated conf file. See Extending autogenerated config section of Reverse Proxy tutorial.
5.11.5 2020-12-22 #
  • allow to specify a folder (or file for single-sile) migration name in dotted notation for better human readability. Such versions are transformed to 9-digits notation just after reading a file names and all other operations (sorting, comparing, inserting in ub_migration table) are done with normalized file names.

    So instead of 001001001-initial.sql 1.01.01-initial.sql or even 1.1.1-initial.sql(not recommended) can be used (the same with folder names).

    Existed migrations can be safely renamed even if they are already applied, because names are normalized before they written/compared with DB versions. Full Backward compatibility - no breaking changes.

5.11.3 2020-12-20 #
  • ubcli migrate will skip files what intended for migrate to the model version prior to the current DB state. For example if ub_version table contains row with modelName=UBA and version=005018021 all files and folders in @unitybase/uba/_migrate folder what starts from 9 digits what smaller than 005018021 are skipped. This prevents to apply an outdated migrations what do the same things ubcli initialize already did for new application.
5.11.1 2020-12-14 #
  • migrate: a new hook _beforeDDLc_ (_hooks.beforeGenerateDDLc) is added - called after _beforeDDL_ but before generateDDL. The difference from __beforeDDL_ - an HTTP connection to server (conn parameter) is available for this hook.
5.11.0 2020-12-09 #
  • ubcli generateNginxCfg - added /metrics endpoint restriction generation using ubConfig metrics.allowedFrom setting.

Changed #

5.12.0 2020-12-28 #
  • ubcli generateDDL SUFFIXES index - avoid create an index organized table (clustered PK for (tail, sourceID) on SQL Server), because it causes a deadlock on hi-load. Instead, create two separate index - one on sourceID and one on tail.
5.11.1 2020-12-14 #
  • DDL generator uses the same sources for all RDBMS to generate an update statement for fields with not null and for fields with defaultValue
5.11.0 2020-12-09 #
  • Oracle: DDL generator creates CLOB field for attributes of type JSON. WARNING manual migration of _beforeDDL_ type is required for each JSON attribute. Create a file named 010_beforeDDL_OraVarchar2CLOB.sql (${TBL} and ${ATTR} should be replaced by entity and attribute for JSON attributes):
<% if (conn.dialect.startsWith('Oracle')) { %>
  ALTER TABLE ${TBL} ADD (${ATTR}_c CLOB);
  --
  UPDATE ${TBL} SET ${ATTR}_c = ${ATTR} WHERE 1=1;
  --
  ALTER TABLE ${TBL} DROP COLUMN ${ATTR};
  --
  ALTER TABLE ${TBL} RENAME COLUMN ${ATTR}_c TO ${ATTR};
<% } %>
5.10.2 2020-12-02 #
  • ubcli generateDDL - default value for -host changed to auto as in all other ubcli commands
  • ubcli genSuffixesIndexInitScript - default value for -host changed to auto

Fixed #

5.12.1 2020-12-30 #
  • execSql (also used in generateDDL) in optimistic mode will explicitly rollback transaction on errors. This prevents current transaction is aborted, commands ignored until end of transaction block error for subsequent queries on Postgres.
5.12.0 2020-12-28 #
  • ubcli generateNginxCfg - use $remote_addr instead of $realip_remote_addr to set a remoteIPHeader (X-Real-IP by default). This allows to use a ngx_http_realip_module to correctly define a real client IP address - see example in Extending autogenerated config section of reverse proxy tutorial
5.11.2 2020-12-16 #
  • SQL Server DDL generation - fix error Property 'MS_Description' already exists by using sp_updateextendedproperty if previous comment is ''.
5.11.1 2020-12-14 #
  • changePassword endpoint - deprecated forUser parameter is removed. To change a password for other user by Supervisor uba_user.changeOtherUserPassword method should be used everywhere (as it is already done on uba_user form)
  • ubcli migrate will check ub_migration table exists before applying a _beforeDDL_ hooks. If table does not exist, it will be created, so names of _beforeDDL_ hooks files can be inserted into ub_migration table.
5.11.0 2020-12-09 #
  • ubcli generateNginxCfg - /clientRequire location will try $uri $uri/.entryPoint.js $uri.js ($uri/.entryPoint.js added). This prevents an unnecessary redirect for folders, for example GET http://localhost/clientRequire/asn1js will return inetpub/clientRequire/asn1js/entryPoint.js instead of redirect to http://localhost/clientRequire/asn1js/.
5.10.2 2020-12-02 #
  • Postgres DDL generator: prevent re-create default value constraint for Json attributes with defaultValue (fix #109)

@unitybase/ubm #

Added #

5.4.36 2020-12-14 #
  • Oracle: added migration to transform ubm_query json attribute from NVARCHAR to CLOB