@unitybase/adminui-vue #

Added #

1.9.24 2020-02-18 #
  • re-logon window & ub-auth view: added support for CERT2 auth with user/password in case uiSetting.adminUI.authenticationCert.requireUserName===true
  • new view for CERT2 certificate registration (can be used as registration URL for CERT2 with requireUserName===true)
1.9.20 2020-02-03 #
  • UTableEntity prop useRequestFieldList for replacing result keys with fieldList. Sometimes, server returns result with altered fieldList, like entities with Entity-Attribute-Value mixin (see @unitybase/forms). This property tells UTableEntity control to stick with original fieldList from request, rather than using fieldList from response.
  • UTable, UTableEntity possibility to use column format function as string which be called by new Function constructor

Changed #

1.9.24 2020-02-18 #
  • hide Change language user menu item in case only one language is supported
1.9.22 2020-02-13 #
  • The "collections" property "processing" module now supports not only ability to pass callback buildRequest, but also an ability to pass handleResponse callback, because, know what? Custom requests sometimes return custom responses! 😃 Example where the feature is useful: participants mixin, participants not an ordinary detail, it uses addParticipant instead of insert, and it return a response, which could not be handled by a standard response handler. The callback looks like the following
      handleResponse ({ commit, collection, response }) {
        const loadedState = response.resultData
        for (const loadedItem of loadedState) {
          const index = collection.items.findIndex(i => i.data.subjectID === loadedItem.subjectID)
          if (index !== -1) {
            commit('LOAD_COLLECTION_PARTIAL', {
              collection: 'participants',
              index,
              loadedState: loadedItem
            })
          }
        }
      }
    
  • Extended info passed to buildRequest, buildDeleteRequest and handlerResponse callbacks for collections to entire store, not just selected store members like state or state and commit.
1.9.21 2020-02-08 #
  • UAutoField component will prefer props passed into component over internally defined props. This allow to override anything, for example:
  // override default placeholder and label for Date control
  <u-auto-field attribute-name="docDate" placeholder="overrides placeholder" label="My custom label"/>
  // use custom repository for Entity attribute
  <u-auto-field attribute-name="parentID" :repository="getRepo"/>
1.9.20 2020-02-03 #
  • UTableEntity in case is set columns and entityName - fieldList will generated automatically by columns. Previously request sent fieldList with all available entity attributes.
  • UTableEntity in case is set repository without columns - columns will generated automatically by fieldList which filtered by defaultView param. Previously columns was shows all attributes from entity with flag defaultView

Removed #

1.9.25 2020-02-23 #
  • usage of BigInteger.js is removed in CERT2 with login/password auth

Fixed #

1.10.0 2020-02-29 #
  • error while opening a multilanguage attribute editor (truncTimeToUTCNull will skip such attributes)
  • UTableEntity filters for different columns no more overrides each other
  • FTS navbar widget will not intercept Ctrl+F in case fts is disabled in config and widget is hidden
  • UAutoField remove mistaken added properties for Text field, added missing input handler
  • UTableEntity build correct fieldList in case passed entityName and columnId is a path to Json attribute
1.9.25 2020-02-23 #
  • truncTimeToUTCNull now called for insert (as for update) and truncate time for attributes of type "Date" into 00:00:00Z as expected by server
  • showForm command can be executed without entity code in case form code is defined and form do not use processing module
UB.core.UBApp.doCommand({
  cmdType: 'showForm',
  formCode: 'uba_user-changeUserPassword',
  title: 'changePassword',
  isModal: true
})

@unitybase/adminui-pub #

Changed #

5.12.33 2020-02-23 #
  • in case server require user to change password during re-logon default behavior changed to reload app and point user into login page. Note: this situation should not happen in real life scenario's
5.12.32 2020-02-18 #
  • i18n messages about certificate registration moved from adminui-pub into ub-pub to be used inside non-admin UI
5.12.29 2020-02-08 #
  • i18n for UserWithoutOrgEmployeeNotAllowed is moved from adminui-pub into ub-pub

Removed #

5.13.0 2020-02-29 #
  • UBOnlyOffice editor. Moved to a separate package '@unitybase/only-office'
5.12.33 2020-02-23 #
  • obsolete UB.view.cryptoUI.ReadPK, UB.view.cryptoUI.SelectCert is removed. Private key reading is implemented inside pki provider interface defined in uiSettings.adminUI.encryptionImplementation server config section

Fixed #

5.12.33 2020-02-23 #
  • fixed iconCls for ubDetailTree actions (moveUp|moveDown)
5.12.31 2020-02-13 #
  • ExtJS based stores will smart merge orderList passed from Operations (EntityGridPanel for example) and original request order list. In case order by the attribute already in serverRequest.orderList - override it. This prevents multiple orderBy on the same columns what cause an DB exception at last on MS SQL
5.12.29 2020-02-08 #
  • prevent self-circling on Negotiate authentication in case silence kerberos logon is true and second auth response contains invalid session number (error occurs at last with invalid Kerio Control proxy configuration)

@unitybase/base #

Added #

5.2.0 2020-02-29 #
  • new attribute model.realPath is added to each model collection item returned by argv.getServerConfiguration(). Contains a full file system path to the model folder

Changed #

5.2.0 2020-02-29 #
  • fix ESLint warnings (mostly about let -> const)
  • ServerRepository.selectAsObject() and ServerRepository.selectAsArray() will internally use new UB feature TubDataStore.getAsJsObject/TubDataStore.getAsJsArray to convert store content into JS representation instead of JSON.parse(store.asJSON*) which require serializing store into string -> pass string from native code into JS runtime -> parse it using JSON.parse. This give a 20% performance boots for store to JS object operation.

@unitybase/cdn #

Changed #

5.4.0 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder
5.3.38 2020-02-23 #
  • currency dictionary shortcut - decrease code and code3 column width
  • cdn_orgaccount.bank marked as allow null - IBAN account code already contains bank MFO, so having bank here is not necessary
  • optimization of account description calculation: in case bank/currency entity is updated but attributes bank.name/currency.code3 is not changed we do nt need to update accounts descriptions

Removed #

5.3.34 2020-02-08 #
  • cdn_organization.csv sample data is removed from CDN package

Fixed #

5.3.34 2020-02-08 #
  • cdn_classifier form: prevent error with "undefined" classifierID in items parentEntity combobox

@unitybase/cs-shared #

Changed #

5.2.0 2020-02-29 #
  • ESLint warnings fixed (mostly let -> const)
5.1.17 2020-02-03 #
  • Repository.joinCondition will throw in case clause name already in jointAs

@unitybase/mailer #

Changed #

5.1.27 2020-02-14 #
  • binary compatibility with UB 5.17.14

@unitybase/org #

Added #

5.2.56 2020-02-23 #
  • vue form added for org_execgruop

Changed #

5.3.0 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder
5.2.56 2020-02-23 #
  • Session.on('login', ...) event handler now queries and records all Execution Groups IDs into orgUnitIDs member of uData. It could and should be used for RLS. It would make all existing RLS to account memberships in Execution Groups, if permission to row is added to some Execution Groups. If Execution Groups are not used, it shall have no impact. For clarity, that is what is done:
    // Query exec groups obtained though all staff member IDs
    const execGroupIDs = UB.Repository('org_execgroupmember')
      .attrs('execGroupID')
      .where('orgUnitID', 'in', allStaffUnitIDsArray)
      .selectAsObject()
      .map(gm => gm.execGroupID)
    if (execGroupIDs.length > 0) {
      orgUnitIDs = _.union(orgUnitIDs, execGroupIDs)
    }
    
    NOTE: Despite execution groups MAY belong to organizations or departments, this implementation won't automatically grant user parent org units by execution groups, i.e. Staff Unit from ORG1 won't have permission of ORG2, even, if included into an execution group of ORG2.
5.2.52 2020-02-08 #
  • org model 'login' event will throw <<<UserWithoutOrgEmployeeNotAllowed>>> without detailed description to allow ub-pub to i18n it

Fixed #

5.2.51 2020-02-03 #
  • fixed not found record error after execute 'setDescriptionAttributeByCurrency' method in org_orgaccount.js

@unitybase/ub-pub #

Added #

5.4.9 2020-02-18 #
  • SignatureValidationResult: new property certificate.certificateAsBuffer - signer certificate in bin format

Changed #

5.4.10 2020-02-23 #
  • AsyncConnection.query method will add a method names into post request URL, so calls to ubql endpoint will become POST /ubql?rq=entity1.method1*entity2.method2. This allows to apply a custom login into reverse proxy level and simplify a debugging, since all methods are directly visible in the network browser panel.
5.4.9 2020-02-18 #
  • i18n messages about certificate registration moved from adminui-pub into ub-pub to be used inside non-admin UI
5.4.7 2020-02-08 #
  • i18n for UserWithoutOrgEmployeeNotAllowed is moved from adminui-pub into ub-pub

Fixed #

5.4.10 2020-02-23 #
  • ESLint warnings resolved (mostly about let -> const)
5.4.9 2020-02-18 #
  • i18n for useCertificateInfo (CERT2 auth with user/pwd) should be ... Continue instead of ...Ok
5.4.8 2020-02-13 #
  • UBConnection.prototype.runTransAsObject will resolves after all possible cache invalidations are finished. This fix Cannot read property 'data' of undefined for Vue based forms what based on cached entities
5.4.7 2020-02-08 #
  • in case text of the exception raised inside server side Session.on('login') event handler wraps into <<<>>> ub-pub will translate it and show as any other handled exception. Before this patch InvalidUserNameOrPassword always shown. Fix for [UB-1728]

@unitybase/ub #

Added #

5.4.0 2020-02-29 #
  • metadata transformation hook: in case _hookMetadataTransformation.js file exists in the root of the model folder it's export will be applied to Domain JSON before the Domain is created. This hook allows to apply any modifications to metadata (*.meta). Usage example: apps/autotest/models/TST/_hookMetadataTransformation.js

  • dataStore.getAsJsObject() and dataStore.getAsJsArray() methods - direct serialization of TubDataStore into JS Object without using JSON.parse. This is 20% faster compared to JSON.parse(dataStore.asJSONObject). In case UB server is of version < 5.18.0 new methods will fallback to JSON.parse(dataStore.asJSONObject) For better performance and code readability we recommend applying following changes to the applications sources:

    • JSON.parse(dataStore.asJSONObject) -> dataStore.getAsJsObject()
    • JSON.parse(dataStore.asJSONArray) -> dataStore.getAsJsArray() (the easiest way if to search for all case sensitive occurrences of asJSON)
5.3.19 2020-02-23 #
  • new method Session._buildPasswordHash - create a password hash for login/plainPassword pair. Can be overrated by application to provide a custom hashing mechanism (in current implementation for CERT2/Basic auth only but will be used in UB auth in future)

Changed #

5.4.0 2020-02-29 #
  • metadata localization files can be placed in the model sub-folder instead of model folder root. Recommend naming such folders meta_locale. In fact now localization files can be even moved into his own model. for example for adding a new zl localization new model can be created and all *.meta.zl files can be placed where.
  • Entity metadata merging: in case several descendant model contains entity with the same name as original model they *.meta files will be MERGED (before this patch only LAST model metafile is merged with original metafile).
  • metadata localization files are merged in the same way as *.meta files (see above)
  • entity.schema.json: add conditional requirements for dataType field. Now size required for dataType=String, associatedEntity for dataType=["Entity", "Many"], etc.
5.3.18 2020-02-18 #
  • ubConfig JSON schema: add simpleCertAuth parameter description; remove deprecated novaLib key
5.3.17 2020-02-13 #
  • in case @unitybase/ub package installed into different path throw human friendly error instead of can't redefine non-configurable property "entity"
5.3.15 2020-02-08 #
  • improved error message in case getDomainInfo called with invalid userName URL parameter

Deprecated #

5.4.0 2020-02-29 #
  • TubDataStore.asJSONObject, TubDataStore.asJSONArray

Removed #

5.4.0 2020-02-29 #
  • onlyOfficeEndpoints module. Moved to a separate package '@unitybase/only-office'
5.3.18 2020-02-18 #
  • legacy newUserRegistration event for Session object is not emitted. CERT auth schema what use it is deprecated. CERT2 auth schema do not require this event

Fixed #

5.3.18 2020-02-18 #
  • fix JSDoc for UB namespace - mark UB.App as @property {App} App instead of @type {App} for WebStorm code competition

@unitybase/uba #

Added #

5.3.32 2020-02-23 #
  • uba_user-changeUserPassword: opportunity to influence password policy validators from the admin panel
  • uba_user-changeUserPassword: new validator for matching new password with login

Changed #

5.4.0 2020-02-29 #
  • replace all occurrences of store.asJSONObject -> store.getAsTextInObjectNotation() according to latest changes in DataStore
  • entities localization files (*.meta.??) are moved to meta_locale folder
5.3.32 2020-02-23 #
  • changePassword endpoint will accept old password in plain text (instead of hashed) to allow server to apply a custom hashing algorithm from Session._buildPasswordHash
  • in case UBA.passwordPolicy.allowMatchWithLogin set to true (default) changePassword endpoint will check password do not include user login. Before this changes equality is verified
5.3.27 2020-02-03 #
  • uba_user.trustedIP attribute size increased to 2000

Removed #

5.3.32 2020-02-23 #
  • ability to change password for other user using changePassword endpoint for members of admin group is removed. uba_user.changeOtherUserPassword method should be used instead. By default access to this method is granted to members or Supervisor role

Fixed #

5.3.32 2020-02-23 #
  • change password form will load correct setting key (UBA.passwordPolicy.minLength) fro minimum pwd length and use UBS.Settings.loadKey instead of UB.Repository
5.3.27 2020-02-03 #
  • ALS form: allow to change newly added record by enabling Save & SaveDiffInFile

@unitybase/ubcli #

Added #

5.4.19 2020-02-14 #
  • new command line option -su (skipUndocumented) for ubcli generateDoc. If passed then undocumented API methods will be excluded from documentation. Example: npx ubcli generateDoc -u admin -p admin -su
5.4.17 2020-02-10 #
  • npx ubcli generateDoc now understand entity level method documentation in format
/**
 * Forms and returns array of dynamical entity's roles
 * @param {ubMethodParams} runparams
 * @return {Boolean}
 */
me.addAllDynRoles = function(ctx) {...}

in addition to

/**
 * Forms and returns array of dynamical entity's roles
 * @param {ubMethodParams} runparams
 * @return {Boolean}
 * @memberOf contr_contractdoc_ns.prototype
 * @memberOfModule @docflow/contr
 * @published
 */
function addAllDynRoles(ctx) {...}
me.addAllDynRoles = addAllDynRoles
  • npx ubcli generateDoc will look into 1 level depth sub-folders of model folders for sources
  • npx ubcli generateDoc will skip 'public', '_migration' and '_autotest' folders while generating jsdoc snippets
5.4.16 2020-02-08 #
  • npx ubcli generateDoc command will parse a domain models jsdoc and adds a entity methods description and parameters into documentation

Changed #

5.5.0 2020-02-29 #
  • use model.realPath in ubcli scripts instead of calculating absolute models path manually
5.4.20 2020-02-18 #
  • ESLint errors and warnings fixed (no functional changes)

Fixed #

5.4.21 2020-02-23 #
  • npx ubcli generateNginxCfg - expires 600; should be added to /clientRequire, /models and /static locations to prevent Google Chrome cache heuristic to take a js files from a disk cache even if they modified on server
5.4.19 2020-02-14 #
  • npx ubcli generateDoc now works on Windows platform

@unitybase/ubm #

Added #

5.2.53 2020-02-23 #
  • scanner settings - adds a PDF/A output format - to be used in nm-scanner plugin

Changed #

5.3.0 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder

Fixed #

5.2.53 2020-02-23 #
  • shortcut editor will recognize both "entity": "entityCode" & "entityName": "entityCode" while parsing a command text for building attributes tree

@unitybase/ubq #

Changed #

5.3.0 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder

@unitybase/ubs #

Changed #

5.3.0 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder

@unitybase/udisk #

Changed #

5.0.113 2020-02-29 #
  • entities localization files (*.meta.??) are moved to meta_locale folder