UBStore will load linkedItemsLoadList before loading main store data. This fix displaying of empty lookup columns
in EntityGridPanel in case depended stores (for lookup data) query is slower when query to the store.
remove potential second query for UBStore from EntityGridPanel boxready handler by set store.loading = true
argv.getServerConfiguration will transform blobStore.path & blobStore.tempPath to absolute path
If path is relative it will be transformed to absolute starting from process.configPath.
So now paths inside App.serverConfig.application.blobStores is absolutes.
argv.getServerConfiguration will add default for httpServer.externalURL
if reverseProxy.kind === nginx then default values for reverse proxy config are:
reverseProxy.remoteIPHeader: 'X-Real-IP'
reverseProxy.sendFileHeader: 'X-Accel-Redirect'
reverseProxy.sendFileLocationRoot: HTTPServer.externalURL.hostname with dots replaced to '-' (http://myhost.com - > myhost-com)
Please, upgrade ub server to at last 5.4.2 to default values work properly.
SECURITYgetDocument endpoint will check user have ELS right to entity select method before getting document ID.
Without this patch in case entity do not use RLS unauthorized access to document is possible
for file system based BLOB stores setDocument will throw error in case no disk space left
and remove corrupted temp file. The previous implementation could create zero-length
or corrupted files without any exception.
UBModel.version attribute added. Accessible inside client and server.
Version is taken from model package.json version key.
Empty in case package.json not found or version is not specified.
UB server must be >= 5.4.3
creation of org_staffunit.caption will add all assigned staffs names to caption except assignments
with type ASSISTANT.
Prev. implementation adds only assignments with employeeOnStaffTypePERMANENT & TEMPORARY
which led to problems when adding a new assignments types to enum with code CDN_EMPLOYEEONSTAFFTYPE
generation of org_employeeonstaff.caption: in case org_employee.shortFIO is empty - use org_employee.lastName
[unitybase/ubjs#14]. Deletion of org_employeeonstaff is fixed inside server ( ub >= v5.3.3)
UBConnection will handle a 413 Request Entity Too Large server-side error response and raise a UB.UBAbort message.
Such response occurs when user try to upload big files and server works behind nginx. To increase allowed payload size
use ubcli generateNginxCfg -maxDocBody XXXm
@unitybase/ub-pub/UBConnection module is renamed to AsyncConnection.
Code what import connection directly like conn = require('@unitybase/ub-pub/UBConnection')
should use conn = require('@unitybase/ub-pub').UBConnection instead
$.currentUserOrUserGroupInAdmSubtable RLS macros will add all user roles including pseudo-roles EveryoneUser & Anonymous
Previous implementation did not check pseudo-roles
CRITICAL endpoints models, clientRequire & static will return Bad Request in case
of access folder (not a file).
Explanation:
This patch prevent exposing of internal location to caller in case nginx is used as a reverse proxy.
The problem is how nginx handle location - see last paragraph of nginx location documentation.
In case our endpoints return 200 with X-Accel-Redirect: path/to/folder inside internal location, then
nginx will redirect client (return 301) to path/to/folder + / with internal location inside.
For example without this patch request to http://localhost/models/UB/schemas will redirect client to
https://localhost/ubstatic-unitybase-info/app/node_modules/@unitybase/ub/public/schemas/ with 404 and
expose to caller our internal folders structure.
Pseudo roles Everyone, Anonymous (if user is not logged in) or User (if logged in)
are added to Session.uData.roles & Session.uData.roleIDs. In prev. implementation uData not contains this roles
ubcli generateNginxConfig now use httpServer.externalURL from server config for
generation of nginx proxy server_name.
many improvements to nginx config generated ubcli generateNginxConfig -
we recommend to recreate reverse proxy configs after upgrading ub server and all packages.
ubcli initDB -drop for SQLite3 will also delete possible WAL logs (-wal and -shm files)
ubcli generateNginxConfig will add expire and Cache-Control for
internal locations to force browser to check resources on server is actual. For DEV modes
set expires to 0 in ../app internal location
database initialization scripts will create DDL for uba_els.code & uba_els.ruleType
as NVARCHAR instead of VARCHAR as in current metadata
return back creation of sequences for cached entities (lost during ub1.12 -> ub5 migration).
This patch speed up getting of cached entities cache version (especially for large tables)
and fix [unitybase/ubjs#15] for all DB except SQLite3
because of fix in $.currentUserOrUserGroupInAdmSubtable RLS macros rights for ubm_navshortcut & ubm_desktop
now can be granted to EveryoneUserAnonymous