- #562 Bring in TypeScript into the project.
- #564 Append files to form instead of substituting when multiple prop is set up.
- #574 Translate BP name with correct translator.
- #573 Allow to show/hide notifications about new assigned tasks.
- #567 Add customization capability for file_upload.
- #564 Append files to form instead of substituting when multiple prop is set up.
- #565 Use versions from task events & add simple tests for the store.
- #563 Generate unique id for file_upload compoment.
- #558 Add dynamic
disable_ifanddelete_ifoptions for radio button. - #561 Add dynamic
disable_ifanddelete_ifoptions for checkbox.
- #559 Customize checkboxes and radiobuttons.
-
#556 Add css variable for links color.
-
#557 Customize static fonts.
-
#560 Unify drag&drop field and browse file button.
file_upload's field optionsdrag_and_dropandpreviewhave been removed: drag&drop aria and file preview are always displayed now.
-
#553 Forbid more than one active process instance per entity.
Now we set
businessKeyfield value on BP start to${entity_class}_${entity_code}value.At first, it's semantically correct:
businesskeyfield in Camunda BPMN is definitely for the same purposes asentity_codein HBW and it must be isolated between different host applications (entity_class).Also it can be used for process-per-entity restriction, you just need to add corresponding constraint to Camunda DB:
alter table ACT_RU_EXECUTION add constraint ACT_UNIQ_RU_BUS_KEY UNIQUE (PROC_DEF_ID_, BUSINESS_KEY_);⚠️ Warning! Do not reset/updatebusinessKeymanually inside your business processes, since it can lead to unexpected side effects. -
#555 Allow to start business process automatically.
You can start business process automatically (if it's not already running) by setting
autorunProcessKeyparameter on HBW initialization. Check HBW integration guide for details.
-
New options have been introduced for
file_uploadfield type:-
multiple: true|falseallows to upload multiple files at once;
-
drag_n_drop: true|falsecontrols drag'n'drop area visibility.
It's
falseby default so that differs from old behaviour (allfile_uploadfields were multiple and had visible drag'n'drop area). Hence you should set these options totrueto keep the old behaviour. Look at #535 for deatils -
-
[DEPRECATION] Endpoint
/widget/file_uploadis deprecated. Please use/widget/files/uploadinstead.
-
#530 Customize fonts in HBW.
-
#534, #536, #543, #545, #547, #546, #548, #551 Add custom top/bottom descriptions and placeholder for components:
- string
- select
- checkbox
- datetime
- file_list(placement: top only)
- text
- file_upload
- radio_button(placement: top only)
- select_table
Now you can specify some additional description placed over/under the input for fields listed above with option:
description: placement: top|bottom text: Your description test -
#535 Display attached files thumbnails.
Field type
file_uploadrenders thubmnailed preview of uploaded files withpreview: trueflag, e.g.form: ... fields: - name: fileUploadWithPreview type: file_upload ... preview: true -
#537 Add fileinput field name to uploaded file metadata.
-
#550 Add radio buttons.
- #538 Removed usage of rubocop-junit_formatter gem.
v2.5.1 [2021-04-08]
HBW: Change serialization of disabled, read-only and hidden fields. Now all values of these fields will not be submitted. See #296 for more details.
- #493 Add missing labels for inputs on search order form.
- #497 Handle connection error when try to print order.
- #499 Increase memory limit for worker.
- #289 Make conditions
disable_ifanddelete_ifdynamic. - #289 Add dynamic
disable_ifanddelete_ifoptions for select. - #510 Add i18n for business processes.
- #298 Keep BP variables values after submit if they are not on form or disabled.
- #289 Fix setting not-nullable select's value with blank variable.
- #513 Fix Camunda/PostgreSQL compatibility.
- #514 Don't validate hidden and disabled fields.
- #515 Escape single quotes, double quotes and backslashes in conditions.
- #525 Fix url for select.
- #531 Update Rails to fix
mimemagicissue.
- #513 Fix Camunda/PostgreSQL compatibility.
- #518 Set default value for idle_in_transaction_session_timeout PG parameter.
- #494 Fix textarea height and icon in template.
- #495 Add cursor pointer for checkboxes.
- #496 Fix panel title font color and remove box shadow.
- #500 Make datetime addon border color customizable.
- #501 Allow to customize react-select.
- #498 Add css variable for text color when element is focused/selected.
- #465 Add SymlinkAssets in development mode and clean assets before every build.
- #470 Add new type of processes.
- #471 Customize submit button name.
- #491 Allow to customize form controls.
- #481 Use css variables for all colors.
- #480 Make
font-sizerelative to the base. - #482 Replace similar colors.
- #486 Fix horizontal scroll in
select_tablenested togroup. - #487 Do not crash widget when translation is missing.
- #469 Calculate delete_if/disable_if values before dependent component renders.
- #462 Restyle form control buttons.
- #452 Pass user e-mail explicitly on websocket channel subscription create.
- #446 Add cancel process button to all forms by default.
- #486 Fix horizontal scroll in
select_tablenested togroup. - #487 Do not crash widget when translation is missing.
- #452 Pass user e-mail explicitly on websocket channel subscription create.
- #442 Turn Messenger class to importable module.
- #441 Make task search case insensitive.
- #450 Force react-select menu to overlay bootstrap form controls.
- #db74749 Use
Object.entriesreturns only own object properties instead ofObject.values.
HBW:
- Long polling has been replaced by WebSocket channels based on webhooks from Camunda BPMN. It uses task events (create, assignment, complete and delete) to notify HBW that new data should be fetched.
- #401 Wrap all widget parts to single app with store context & render app parts as portals.
- #415 Remove unused endpoint for getting tasks number.
- #419 Remove unused long polling supporting code.
- #423 Replace jquery with fetch api.
- #403 Add
ActionCableandRedis. - #405 Add WebSocket.
- #404 Initialize store context with full task list.
- #408 Remove capistrano.
- #406 Add hooks callback.
- #410 Use stored full task list instead of partially fetched one.
- #411 Fetch task from cache.
- #413 Add endpoint with one task able to use cache.
- #416 One-time request initial data instead of polling.
- #420 Initialize store with all data & use it in BP components.
- #429 Get task forms by entities lazy.
- #430 Apply events received while store initialization in turn.
- #450 Force react-select menu to overlay bootstrap form controls.
- #435 Add endpoint for events from Camunda.
- #435 Remove pid file on app start
- #391 Remove side menu with tasks.
Removed tasks/form enrtypoint. Entrypoint tasks returns tasks with form.
- #390 Add spinner on tasks loading.
- #380 Optimize getting current task.
- #379 Cache process definitions fetched from Camunda. Add
MEMCAHED_URLfield to.env.- Notice: if you want to add new business process type you have to restart application.
- #375 Adjust new elements with existent style.
- #388 Fix widget mounting in integrations.
HBW initialization parameters were changed. Instead of
locale: 'en'
you should pass locale like
locale: {
code: 'en',
dateTimeFormat: 'MM/dd/yyyy HH:mm aaa'
}
See #367 and HBW readme for more details.
- #386 List tasks for current entity class only.
- #366 Remove claimed row in task overview.
-
select_tablewithmulti:truesaves all data in JSON format now. It's not possible to open form contains old data with such table. See #300 for more details. -
hbw.ymlhas new required fieldbp_name_key– variable name from Camunda's BP, where process name is stored. See #340 for more details. -
hbw.ymlconfig structure was updated. Entity classes must be moved under keyentities:before:
hbw: order: entity_code_key: homsOrderCode bp_toolbar: entity_type_buttons: {} billing_customer: entity_code_key: billingCustomerId bp_toolbar: common_buttons: [] entity_type_buttons: {}after:
hbw: entities: order: entity_code_key: homsOrderCode bp_toolbar: common_buttons: [] entity_type_buttons: {} billing_customer: entity_code_key: billingCustomerId bp_toolbar: common_buttons: [] entity_type_buttons: {}Look at #317 for details.
- #283 Seed improvements: add env variables for initial values
- #288 Add drag and drop field for file upload.
- #309 Add error boundaries to all form components.
- #317 Validate
hbw.ymlconfig. - #318 Improve scroll style in select_table.
- #327 Optimize Camunda variables fetching.
- #329 Add method for getting unassigned tasks from user's group.
- #330 Add new available tasks components to mount.
- #331 Add unassigned tasks count method.
- #334 Add my/unassigned tasks switch component.
- #333 Optimize Camunda process definitions fetching.
- #332 Add table for claiming.
- #337 Add claim button for widget page.
- #338 Add task overview component.
- #336 Update React to 16.10.2.
- #339 Add polling with pagination for claiming table.
- #344 Add component for rendering created/deadline date.
- #345 Add task search.
- #341 Add short tasks list for popup.
- #342 Create component with counter.
- #347 Improve claim buttons styles.
- #349 Change colors of priorities.
- #346 Add code coverage for backend.
- #352 Wrap task list page together.
- #351 Improve claim button styles on widget form.
- #354 Wrap task short pop up list page together.
- #353 Integrate new claiming components.
- #356 Highlight opened task in table.
- #358 Add react components unit tests for HBWDueDate and HBWCreatedDate.
- #328 Use Font Awesome 5 instead of font-awesome-rails v4.
- #316 Fix the way ajax request are made in lookup select.
- #315 Add additional exceptions for Oracle's date formats.
- #311 Fix overflow after form collapsing.
- #301 Change deprecated
render nothing: truetohead.
- #277 Allow to configure widget polling interval.
- #275 Set logging level from env file.
- #274 Add duration of requests logging.
- #278 Migrate from thin to unicorn.
- #284 Try to reconnect if got Oracle connection error.
- #272 Better view for multiple BP buttons.
-
Dropped
activitisupport:- changed
activititocamundain alldocker-composefiles - removed
docker-compose.activiti.yml - sources type
static/activitiwas renamed tostatic/bpminconfig/sources.yml - key
use_activiti_stubwas renamed touse_bpm_stubinconfig/hbw.yml
See #253 for more details.
- changed
- #248 Add Rubocop.
- #251 Update react-select up to 2.1.1.
- #253 Drop Activiti support.
- #258 Update React & ReactDOM to 16.0.0
- #259 Get number of tasks by request to Camunda.
- #268 Move validation of
selectandselect_tableto helpers. - #273 Change colors on select and hover of
select_table. - #276 Fetch tasks for one entity by default.
- #246 Download Font Awesome when widget is loaded.
- #241 Fix chevron reaction on task collapse.
- #242 Search file_list field in nested field sets.
- #243 Fix database port config usage.
- #245 Disable business process buttons when loading.
- #247 Use internal ports in homs_network.
- #250 Fix file uploading.
- #252 Fix
select_tablebehavior in multi mode. - #257 Check flag
multiinselect_tablewhen select row. - #262 Fix multi nullable
select_table. - #265 Allow nullability for
selectlookup mode. - #264 Fix required
selectwith numeric value. - #267 Fix widget calendar locale.
- #270 Fix task collapse.
- #189 Show alert if form with file upload field has no file list field.
- #197 Use Camunda as BPMS in default docker-compose.
- #195 Upgrade React & ReactDOM to 15.6.2, migrate to higher order components from mixins.
- #153 Allow updating users encrypted password and salt.
- #202 Remove mount configs from docker-compose and set postgres version.
- #206 Use higher order component instead of HBWDeleteIfMixin.
- #203 Allow to unmount widget and replace some glyphicons with FontAwesome.
- #199 Move assets generation to Dockerfiles.
- #207 Remove extra locales from moment.js
- #209 Drop react-rails & react_ujs dependencies.
- #205 Use higher order component instead of HBWSelectMixin.
- #213 Add payload to widget's requests.
- #218 Pass initial BP variables to widget initial payload.
- #223 Add directories for postgresql-client.
- #227 Add
requiredoption for string inputs. Usenullable: falsein select/select_table for the same reason. - #230 Add disable_if condition to checkbox, datetime, file_list, select, select_table, string, text.
- #232 [DEPRECATION] Deprecate Activiti usage.
- #233 Run DB on port specified in
.envfile. - #231 Add
multioption to select_table. - #240 Update ruby up to 2.6.0.
- #194 Set limit on the number of choices in lookup select from sql requests.
- #198 Add seed in test's logs.
- #201 Fix pointer on menu button.
- #219 Update obsolete dependencies.
- #221 Use babel-transform-runtime-plugin instead of babel-polyfill.
- #226 Fix initial variables for Activiti.
- #229 Add list of exceptions for binds, which are used for oracle's dates.
- #239 Support empty date in select_table.
- #215 Use FontAwesome instead of Glyphicons in
bootstrap-datimepicker.
- #217 Add production as a default setting.
- #204 Pass locale for translations from environment.
- #211 Fix lookup and change multi select to single.
- #172 Do not use custom docker images for Postgres containers.
- #175 Allow using environment variables in YAML configs.
- #167 Add production docker-compose file for Oracle.
- #166, #7 Pass host, user and pass to waiting for Postgres script.
- #159 Add tagged logger.
- #169 Remove overflowing of deprecation warnings in tests.
- #161, #6 Use activiti credentials from environment variables.
- #151 Add current version to docker container.
- #151 Remove libqtwebkit-dev.
- #177 Improve README and docker-compose files.
- #171 Migrate from CoffeeScript to ES6 + Webpack.
- #179 Replace
jquery-uitooltip withpopper.js. - #184 Add
base_urloption to main config provides custom prefix for all paths in app. Fixes #148. - #185 Speed up docker build.
- #188 Use
.envfile in docker-compose. - #183 Replace
Select2withreact-selectin widget.
- #165 Remove new line from BPM widget basic auth generator.
- #174 Remove unnecessary scroll in BPM widget select tables.
- #176 Fix limits on the number of lines from sql requests.
- Changed default BPM engine from
activititocamunda. See #149 for details. Now you can set BPM engine in yourhbw.yml. Example is inhbw.yml.sample, keyadapter.
- #149 Support Camunda as BPM engine.
- #146 Replace PhantomJS with Capybara Webkit.
- #133 Reduce docker images size by using
ruby:slim. - #144 Reduce test execution time after Rails 5 upgrade.
- #147 Improve manual installation instruction.
- #135 Add
minioimage todocker-compose.yml. - #136 Reduce production docker image size by removing
libqtwebkit. - #156 Rename initializer.
- #154 Rename config for BPM engine.
- #5, #1 Fix activiti for homs docker image.
- #162 Make sync request for checking BPM user. Prevents BPM widget rendering failure.
- #158 Do not return empty element in case of missing BPM user.
- #157 Fix GET request headers.
- #160 Do not validate strings without pattern.
- #163 Fix getting
NUMBERfrom Oracle source. - #155 Add relative paths to
camundaadapter. - #145 Fix
stringpattern usage and remove dependency fromjquery.formatter. - #140 Submit form with files.
- #142 Fix form-submit after Rails 5 upgrade.
- #134 Validate arbitrary keys for profiles.