ub-server #

Added #

5.1.0 2018-07-20 #
  • allow to override an entity entityName.meta file in the other model. Localization will be loaded from new model also. For example if we create the ubm_desktop.meta file inside the TST model it will override the same file from UBM model. Files are override in order model is placed inside domain. For several overrides the last one win. Current implementation will require ALL entityName.js file form all models. So of entity *.js is override twice it will be required 3 times with different file paths - from original model, from first override and from second.

Changed #

5.1.4 2018-07-26 #
  • spaces inside server log file name are replaced by _ as reported in [unitybase/ub-server#14]. For rotated files rotation revision attached to file name using _ also. New log file names mask: ub_hostName_YYYYMMDD_HHMMSS[_rotationRevision].log.
5.0.7 2018-07-10 #
  • set readOnly: false for mi_dateFrom and mi_dateTo attributes in case they are automatically added by dataHistory mixin. In case this attributed is defined directly in .meta file nothing is changed.

Fixed #

5.1.3 2018-07-25 #
  • Prevent AV in case of complex expression for "many" attribute in where. Like where('docID.itprocessID@ks_intitdoc.name', 'in', ...) (itprocessID is attribute of type "Many")
5.1.2 2018-07-23 #
  • added "roles", "roleIDs", "userID" attributes to admin and anonymous pseudo sessions uData. So inside Session.runAsAdmin Session.uData now Object {"lang":"en","login":"admin","roles":"Admin","roleIDs":[1],"userID":10}
5.1.1 2018-07-21 #
  • fs.writeFileSync should write to file ArrayBufferView content instead of original (not sliced) array buffer.
let buffer = new ArrayBuffer(8)
let fn = path.join(__dirname, 'buf_res.txt')
let uint8_1_5 = new Uint8Array(buffer, 1, 5); // 1-5 (as specified when constructing the Uint8Array)
fs.writeFileSync(fn, uint8_1_5)
res = fs.readFileSync(fn, 'utf8')
assert.equal('12345', res, 'ArrayBuffer 1-5 slice')
// prev imlementation will write original (01234567) buffer content to file
5.1.0 2018-07-20 #
  • log output will not break the line on the "\node_modules" file path under Windows
  • domainInfo model.moduleSuffix will be defined ONLY for models with public and server-side parts. For models with public part only moduleSuffix is empty string.
5.0.8 2018-07-12 #
  • prevent creating of LEFT JOIN for each language of referenced multilanguage attributes
  • "tree" mixin does not mark "parentAttr" attribute as defaultview: false; readOnly: true anymore

@unitybase/adminui-vue #

Added #

1.0.6 2018-07-28 #
  • css for round ExtJS form fields border radius (as in ElementUI)
1.0.6 2018-07-28 #
  • ability to load Vue single file components (*.vue) - see ``@unitybase/systemjs-plugin-vue-ub` readme for restrictions

Changed #

1.0.6 2018-07-28 #
  • default size of ElementUI components is set to to small
1.0.2 2018-07-17 #
  • theme css /dist/adminui-vue.css will loaded by adminui-vue automatically (using require)
  • theme CSS will not override a body font-size, so other modules can set his own (we recommend 14px)

Fixed #

1.0.5 2018-07-23 #
  • login window logo css fixed in way logo looks the same on adminui-vue and adminui login windhw
  • add missing views/ub-auth.html to the package
1.0.3 2018-07-18 #
  • use Vue version with compiler (vue/dist/vue.common.js) for both dev/prod build

@unitybase/adminui-pub #

Added #

5.3.3 2018-07-23 #
  • ubdetailgrid with RowEditing plugin will fire "changeData" when user cancel editing
5.3.0 2018-07-19 #
  • Hot Module Replacements for forms (work only for client in dev mode). See ub-hrm server for details
5.2.1 2018-07-19 #
  • method cmdCommand.showList sets attribute value description as tabs caption
5.1.0 2018-07-05 #
  • $App.modelLoadedPromise promise added to indicate model public part is completely loaded In case model require asynchronous operation during loading it should add a chain to this promise. Next model will await chain resolving.

Changed #

5.3.3 2018-07-23 #
  • remove IE9 specific CSS selectors from UBGrayTheme
  • remove invalid background images CSS selectors from UBGrayTheme
5.3.1 2018-07-20 #
  • tabsCountLimitExceeded message type changed from error to information
5.3.0 2018-07-19 #
  • BREAKING custom (pure ExtJS) forms must export a entry point class name. For example if form *-fm.def contains Ext.define("UBM.userSettings", ... then line exports.formDef = 'UBM.userSettings' must be added to the beginning of file
  • BREAKING custom && auto forms definition are not parsed for requires: [...] && 'uses: [...]' sections. All required components must be loaded using direct require('pathToComponentImplementation') calls. For example if form *-fm.def contains section
requires: ['UB.ux.designer.VisualDesigner']

then VisualDesigner implementation must be required either in model initialization script or inside component file (recommended)

require('@unitybase/adminui-pub/_src/app/ux/designer/VisualDesigner')
  • BREAKING forms caching is moved to the HTTP cache level, localStorage is not used anymore for form cache
  • all forms are loading using SystemJS.import:
    • form definition can use require('something') and it will be parsed synchronously as expected
    • forms are cached on HTTP level (in case of reverse proxy). local storage based cache not used for cache forms anymore
5.2.0 2018-07-16 #
  • UBGrayTheme now use font-size (14px) and font-family (Segoe UI) defined on body level
  • all "bold" weights changed to 600 (more lighter)
  • normalize.css added
  • Tab borders is set to 1 1 1 1
5.1.4 2018-07-13 #
  • for a "required" attributes changed style to display the asterisk after delimiter, not before and align on the right side
  • remove placeholder "fill value" for a "required" attributes
  • "Add As" action renamed to "Copy". Glyph changed to faCopy
  • max open tabs now 40 by default (can be changed back to 10 by ubConfig.uiSettings.adminUI.maxMainWindowTabOpened: 10)
5.1.2 2018-07-08 #
  • unhandled errors now will be redirected to error reporter by ub-pub
  • silence Kerberos login will be handled by ub-pub
  • use new feature ub-pub.setErrorReporter
5.1.0 2018-07-05 #
  • Model public path initialization do not require creation of /public/initModel.js script. Instead package.json can contain section "browser" what point either to the model initialization script for browser In case model is a published module (placed in the node_modules folder) path should be relative to the package.json:
"browser": "./public/initModel.js"

or for dev/prod scripts

 "browser": {
   "dev": "./public/devEntryPoint.js"
   "prod": "./public/dist/modelBundle.js"
 }

In case model is in models folder p[ath must be absolute

  "browser": "/clientRequire/models/TST/initModel.js",
5.0.23 2018-07-03 #
  • adminUI left navbar:
  • arrow color changed to the same color as menu text
  • arrow style changed from fa-angle-left to fa-caret-right
  • increase padding (+4 px) between left arrow and workspace

Fixed #

5.3.4 2018-07-29 #
  • long terming bug with select/date control border disappears if page are scaled
5.3.3 2018-07-23 #
  • login window logo css fixed in way logo looks the same on adminui-vue adn adminui login window
5.3.2 2018-07-22 #
  • fix error 404 Not Found during request to /clientRequire/systemjs-hmr. systemjs-hmr is moved from devDependencies to dependencies section of package.json
5.3.1 2018-07-20 #
  • Issue #6 ALS screws up attributes by prevent calling of BasePanel.updateAls if record.resultAls is undefined
5.2.1 2018-07-19 #
  • skip destroying tinymce when it is not defined yet
5.2.0 2018-07-16 #
  • adminui-pub locales can be injected to environments what do not use ExtJS
  • added add/remove class to required field label on change of allowBlank
5.1.3 2018-07-12 #
  • remove displaying of "undefined" in UBDetailTree in minified version of adminUI
5.1.1 2018-07-06 #
  • '@unitybase/ub-pub'.Repository (i.e. UB.Repository) will be defined inside ub-pub instead of adminUI
5.0.23 2018-07-03 #
  • set whereList property for ubcombobox when use row editing in ubdetailgrid

@unitybase/base #

Fixed #

5.0.17 2018-07-25 #
  • ServerRepository.selectAsObject now accept two optional parameters selectAsObject(fieldAliases, resultInPlainText) to be compatible with ClientRepository. WARNING using fieldAliases on server side cause a little performance degradation

@unitybase/cdn #

Changed #

5.0.28 2018-07-16 #
  • cdn_region form marked as isDefault: false to allow override by other models

@unitybase/mailer #

Fixed #

5.0.13 2018-07-24 #
  • fix adding of attachments in case it is a ArrayBufferView and sliced before adding

@unitybase/adminui-reg #

Fixed #

5.0.26 2018-07-09 #
  • regression in case model package.json not contains a "browser" section
4.1.7 2018-07-09 #
  • adminUI endpoint will redirect permanently http://host:port/endpointName/ -> http://host:port/endpointName

@unitybase/ub-pub #

Added #

5.2.0 2018-07-13 #
  • VueJS integration
const UB = require('@unitybase/ub-pub')
const Vue = require('vue')
Vue.use(UB)
  // localization of vue template
  <button >{{ $ut('Enter') }}</button>
  // in case translation result is HTML + use formatting
  <p v-html="$ut('UBAuthHeader', appName)"></p>
  // inside binding
  <el-tooltip :content="$ut('UBAuthTip')" placement="bottom" effect="light">
  // inside vue methods
  this.$ut('UBAuthTip')
  // using UB inside vue methods
  methods: {
     hasNegotiate: function () {
       return this.$UB.connection && (this.$UB.connection.authMethods.indexOf('Negotiate') !== -1)
     }
  }
  • Extended i18n
 //Localized string can be formatted either by position args:
  UB.i18nExtend({
    greeting: 'Hello {0}, welcome to {1}'
  })
  UB.i18n('greeting', 'Mark', 'Kiev') // Hello Mark, welcome to Kiev
  //Or by named args:
  UB.i18nExtend({
    namedGreeting: 'Hello {name}, welcome to {place}'
  })
  UB.i18n('namedGreeting', {name: 'Mark', place: 'Kiev'}) // Hello Mark, welcome to Kiev
  //Localization itself can be an object:
  UB.i18nExtend({
    loginPage: { welcome: 'Welcome to our app', user: 'Dear {user}'}
  })
  UB.i18n('loginPage.welcome') // Welcome to our app
  UB.i18n('loginPage.user', {user: 'Pol}) // Dear Pol
  UB.i18n('loginPage') // return object {welcome: "Welcome to our app", user: "Dear {user}"}
  • UB.LDS_KEYS enum with localStorage keys used by ub-pub in browser mode
  • localisations for login window & server-side errors now inside ub-pub
  • fake UB.view & UB.ux properties added to package to fix ExtJS components visibility in case UB = require(''@unitybase/ub-pub')
5.1.0 2018-07-08 #
  • new method setErrorReporter. Developer can set his own function that will show unhandled errors to user. Default error reporter will show unhandled error as window.alert for browser environment and console.error for non-browsers.
    • for adminUI is set to UBPub.setErrorReporter(UB.view.ErrorWindow.showError.bind(UB.view.ErrorWindow))
    • for portalUI should be called by developer. Vue sample:
    vm = new Vue({
      ...
      methods: {
        showError: function({errMsg, errCode, entityCode, detail}) {
            this.$message({
              showClose: true,
              message: errMsg,
              type: 'error'
            })
          }
        }
      })
    UB.setErrorReporter(vm.showError.bind(vm))
    

Changed #

5.1.0 2018-07-08 #
  • for a browser environment package will add a browser-level unhandled rejection handlers and redirect unhandled errors to the error reported ( see new setErrorReporter method)
  • for a browser environment UB.connect will automatically resolve "silence kerberos login" - situation when localStorage.silenceKerberosLogin key is set to "true". In this case onCredentialRequired callback is not called and Kerberos/NTLM auth method will be used (if Negotiate is in the application auth list)

Fixed #

5.0.15 2018-07-06 #
  • '@unitybase/ub-pub'.Repository (i.e. UB.Repository) will be defined inside ub-pub instead of adminUI

@unitybase/ub #

Changed #

5.0.23 2018-07-15 #
  • allLocales endpoint will join locales from all models (since login form localization moved to ub-pub we do not need to skip a adminui-pub localization anymore)

@unitybase/ubcli #

Fixed #

5.0.30 2018-07-27 #
  • fixed [unitybase/ubjs#9] DDL SQLite3 "Error: this.DDL.dropColumn.push is not a function"
5.0.29 2018-07-25 #
  • fixed [unitybase/ubjs#7] - missing genCodeDropPK in SQL Server DDl generator
5.0.28 2018-07-21 #
  • Fixed [unitybase/ubjs#5] - DDL generation will drop and re-create indexes of columns if column type is changed

@unitybase/ubs #

Changed #

5.0.23 2018-07-05 #
  • adminUI will await while ubs model finish query to ubs_setting entity for UBS.Settings.findByKey work correctly

Fixed #

5.0.30 2018-07-18 #
  • ubs_settings.loadKey & ubs_settings.loadKeys will convert values for keys of type int and number to number using parseInt

@unitybase/xlsx #

Added #

5.0.16 2018-07-12 #
  • support for <br/> tag
5.0.15 2018-07-06 #
  • ubmodel section adedd to package.json, so @unitybase/xlsx model now can be added to the application congig in one line
 "domain": {
     "models": [
   ...
       {
         "path": "./node_modules/@unitybase/xlsx"
       },

Fixed #

5.0.16 2018-07-12 #
  • removing special symbols from sheet name. XLSX format does not allow symbols []/?😗 in sheet name

@unitybase/org #

Added #

5.0.24 2018-07-12 #
  • org_employyee add new attributes (lastNameObj, firstNameObj, middleNameObj, shortFIOObj, fullFIOObj, applyObj) describes how to treat to this person in objective case

Changed #

5.0.29 2018-07-16 #
  • org_staffunit.parentID.allowNull is set to false (all staffs should be assigned either to organization or to department)

Fixed #

5.0.23 2018-07-02 #
  • Cleaned up border unit shortcut from _initialData