Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
## Release 4.0.0

* We upgraded the module to Mendix 11.0.0-beta.2
* We introduced a new View Entity `WorkflowUserTaskView`, for unified access to user tasks regardless of whether these tasks are in progress or completed. For more information, refer to the Workflow Commons module documentation.
* We removed the state change events microflows `OCh_Workflow_State` and `OCh_WorkflowUserTask_State`, since state-change events are removed in Mendix 11.
* We removed the assignee and key migration microflows that were introduced in version 3.0.0 and 3.6.0 respectively and are no longer applicable. See the first note for more details.
* We added migration logic to perform a one-off migration of your existing data. When using Workflow Commons and upgrading your app to Mendix 11, it is required to perform this migration and update your app accordingly. See the second note for more details.
* We added an icon next to targeted/assigned users to indicate when a user is inactive, only visible for administrators.
* We replaced the List View for displaying assignees with a Data Grid 2 reference set supported feature.
* We fixed an issue where the overdue time was displayed incorrectly in the timeline.
* We updated Atlas Core module compatibility to v3.17.0
* We updated Atlas Web Content module compatibility to v3.8.0
* We updated Data Widgets module compatibility to v2.31.0

Note: When upgrading to v4.0.0 or above, make sure that you are currently using Workflow Commons v3.6.0 or above. If you are using an earlier version, first upgrade to any version between v3.6.0 and (but not including) v4.0.0, using a Mendix 10 version. Perform the required key and/or assignee migrations for all your environments. Any required migration will be shown in the WorkflowAdminCenter page.

Note: As a result of upgrading to Mendix 11, the microflows and snippets that previously used the `WorkflowCommons.UserTaskView` entity have been replaced with documents that uses `WorkflowCommons.WorkflowUserTaskView` or `System.WorkflowEndedUserTask` as a parameter. If you are using one or more of them in your project, see the list below for replacement. Also, in case you have any logic based on the `WorkflowCommons.UserTaskView` entity, make sure to adapt this accordingly.

Microflows:
* ACT_UserTaskView_ShowUserTask Page → replace with ACT_WorkflowUserTaskView_ShowUserTaskPage
* ACT_UserTaskView_ShowWorkflowAdminPage → replace with ACT_WorkflowUserTaskView_ShowDefaultAdminPage
* ACT_WorkflowView_ShowWorkflowAdminPage → replace with ACT_Workflow_ShowWorkflowAdminPage

Snippets:
* Snip_UserTaskView_Assignees → replace with Snip_WorkflowUserTaskView_Assignees
* Snip_UserTaskView_Assignees_Aggregated → replace with Snip_WorkflowUserTaskView_Assignees
* Snip_UserTaskView_Details → replace with Snip_WorkflowUserTaskView_Details
* Snip_UserTaskView_Header → replace with Snip_UserTask_Header or Snip_WorfkflowEndedUserTask_Header
* Snip_UserTaskView_IncompatibleWarning → replace with Snip_WorkflowUserTaskView_IncompatibleWarning
* Snip_UserTaskView_NameColumn → replace with Snip_WorkflowUserTaskView_NameColumn
* Snip_UserTaskView_NameColumnWithIcon → replace with Snip_WorkflowUserTaskView_NameColumnWithIcon
* Snip_UserTaskView_State → replace with Snip_WorkflowUserTaskView_State
* Snip_UserTaskView_TargetUsers → replace with Snip_UserTask_TargetUsers or Snip_WorkflowEndedUserTask_TargetUsers
* Snip_WorkflowView_ActivityTimeline → replace with Snip_Workflow_ActivityTimeline
* Snip_WorkflowView_ActivityTimelineOnly_Full → replace with Snip_Workflow_ActivityTimelineOnly_Full
* Snip_WorkflowView_ActivityTimelineOnly_Tasks → replace with Snip_Workflow_ActivityTimelineOnly_Tasks
* Snip_WorkflowView_AuditTrail → replace with Snip_Workflow_AuditTrail
* Snip_WorkflowView_CommentsAndAttachments → replace with Snip_Workflow_CommentsAndAttachments
* Snip_WorkflowView_CommentsAndAttachments_Admin → replace with Snip_Workflow_CommentsAndAttachments_Admin
* Snip_WorkflowView_CompletedTaskDetails → replace with Snip_Workflow_TaskDetails
* Snip_WorkflowView_Detail → replace with Snip_Workflow_Detail
* Snip_WorkflowView_Header → replace with Snip_Workflow_Header
* Snip_WorkflowView_NotificationArea → replace with Snip_Workflow_NotificationArea
* Snip_WorkflowView_State → replace with Snip_Workflow_State
* Snip_WorkflowView_StateCircleOnly → replace with Snip_Workflow_StateCircleOnly
* Snip_WorkflowView_TaskTimeline → replace with Snip_Workflow_TaskTimeline
* Snip_WorkflowView_TaskTimeline_WithoutNameandDescription → replace with Snip_Workflow_TaskTimeline_WithoutName
* Snip_WorkflowView_TaskTimelineOnly → replace with Snip_Workflow_TaskTimelineOnly

_______

## Release 3.12.1

* We changed the length of the `Reason` attribute in the `WorkflowAuditTrailRecord` entity to unlimited.
Expand Down
Binary file added Releases/WorkflowCommons-4-0-0.mpk
Binary file not shown.
Binary file modified Source/ExpenseRequestStarterApp.mpr
Binary file not shown.
2 changes: 1 addition & 1 deletion Source/javascriptsource/datawidgets/actions/Set_Filter.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { Big } from "big.js";
* @param {string} targetName - Name of the filter to set. Valid targets are: Number filter, Date filter, Text filter, Drop-down filter. You can find filter name in widget settings in the "Common" group (Properties>Common>Name).
* @param {boolean} useDefaultValue - Determine the use of default value provided by the filter component itself.
If true, "Value" section will be ignored
* @param {"DataWidgets.Filter_Operators.contains"|"DataWidgets.Filter_Operators.startsWith"|"DataWidgets.Filter_Operators.endsWith"|"DataWidgets.Filter_Operators.between"|"DataWidgets.Filter_Operators.greater"|"DataWidgets.Filter_Operators.greaterEqual"|"DataWidgets.Filter_Operators.equal"|"DataWidgets.Filter_Operators.notEqual"|"DataWidgets.Filter_Operators.smaller"|"DataWidgets.Filter_Operators.smallerEqual"|"DataWidgets.Filter_Operators.empty"|"DataWidgets.Filter_Operators.notEmpty"} operators - Selected operators value. If filter has operators, this value will be applied.
* @param {undefined|"contains"|"startsWith"|"endsWith"|"between"|"greater"|"greaterEqual"|"equal"|"notEqual"|"smaller"|"smallerEqual"|"empty"|"notEmpty"} operators - Selected operators value. If filter has operators, this value will be applied.
* @param {string} stringValue - Value set for dropdown filter or text filter. Choose empty if not use.
* @param {Big} numberValue - Number value for number filter. Choose empty if not use.
* @param {Date} dateTimeValue - Date time value for date filter, can also be use as "start date". Choose empty if not use.
Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Source/javascriptsource/nanoflowcommons/actions/Geocode.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import Geodecoder from 'react-native-geocoder';
/**
* Geocoding is the process of converting addresses (like a street address) into geographic coordinates (latitude and longitude), which you can use to place markers on a map, or position the map.
* @param {string} address - This field is required.
* @param {"NanoflowCommons.GeocodingProvider.Google"|"NanoflowCommons.GeocodingProvider.Geocodio"|"NanoflowCommons.GeocodingProvider.LocationIQ"|"NanoflowCommons.GeocodingProvider.MapQuest"} geocodingProvider - This field is required for use on web.
* @param {undefined|"Google"|"Geocodio"|"LocationIQ"|"MapQuest"} geocodingProvider - This field is required for use on web.
* @param {string} providerApiKey - This field is required for use on web. Note that the keys are accessible by the end users and should be protected in other ways; for example restricted domain name.
* @returns {Promise.<MxObject>}
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { Big } from "big.js";

/**
* Get the client platform (NanoflowCommons.Platform) where the action is running.
* @returns {Promise.<"NanoflowCommons.Platform.Web"|"NanoflowCommons.Platform.Native_mobile"|"NanoflowCommons.Platform.Hybrid_mobile">}
* @returns {Promise.<undefined|"Web"|"Native_mobile"|"Hybrid_mobile">}
*/
export async function GetPlatform() {
// BEGIN USER CODE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ function kmToNauticalMile(km) {
* @param {Big} longitudePoint1
* @param {Big} latitudePoint2
* @param {Big} longitudePoint2
* @param {"NanoflowCommons.Enum_DistanceUnit.KILOMETER"|"NanoflowCommons.Enum_DistanceUnit.STATUTE_MILE"|"NanoflowCommons.Enum_DistanceUnit.NAUTICAL_MILE"} unit
* @param {undefined|"KILOMETER"|"STATUTE_MILE"|"NAUTICAL_MILE"} unit
* @returns {Promise.<Big>}
*/
export async function GetStraightLineDistance(latitudePoint1, longitudePoint1, latitudePoint2, longitudePoint2, unit) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import Geodecoder from 'react-native-geocoder';
* Reverse geocoding is the process of converting geographic coordinates (latitude and longitude) into a human-readable address.
* @param {string} latitude - This field is required.
* @param {string} longitude - This field is required.
* @param {"NanoflowCommons.GeocodingProvider.Google"|"NanoflowCommons.GeocodingProvider.Geocodio"|"NanoflowCommons.GeocodingProvider.LocationIQ"|"NanoflowCommons.GeocodingProvider.MapQuest"} geocodingProvider - This field is required for use on web.
* @param {undefined|"Google"|"Geocodio"|"LocationIQ"|"MapQuest"} geocodingProvider - This field is required for use on web.
* @param {string} providerApiKey - This field is required for use on web. Note that the keys are accessible by the end users and should be protected in other ways; for example restricted domain name.
* @returns {Promise.<string>}
*/
Expand Down
22 changes: 22 additions & 0 deletions Source/javascriptsource/unittesting/actions/JS_CopyToClipboard.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// This file was generated by Mendix Studio Pro.
//
// WARNING: Only the following code will be retained when actions are regenerated:
// - the import list
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
import "mx-global";
import { Big } from "big.js";

// BEGIN EXTRA CODE
// END EXTRA CODE

/**
* @param {string} text
* @returns {Promise.<void>}
*/
export async function JS_CopyToClipboard(text) {
// BEGIN USER CODE
navigator.clipboard.writeText(text);
// END USER CODE
}
Loading
Loading