Release v3.1.22

Summary Description Resolution
Case/Complaint is not inserted 1: Login as user that have permissions to Cases/Complaints
2: Click on New/Case or Complaint
3: Insert all required fields and save it.
Expected result: Complaint/case is successfully inserted and is displayed on top of fancy tree and is opened. Notification message is displayed: “Complaint/Case with ID {{id}} was created.”, Actual result: Case/Complaint is not inserted.
Fixed
AFDP-3202 Refine Label Configuration page style Newly refined Admin/Application/Label Configuration page needs some style fixes:
1. Progress message is not aligned well with two drop-down boxes.
2. Body panel in Reset Dialog need to have bigger height so that language selection can show all 11 languages, and check box should show at the bottom.

I am not sure if CSS can fix this, but –
3. When click a drop down box in the Reset Dialog, then Ctrl-A, all options are selected as expected with Chrome; but not with IE. With IE, all fields including background fields outside dialog are selected.

Fixed
Add organization in Case File 1. Log into the application.
2. Click on Case Files in the sidebar.
3. Click on the Organizations sublink button (book icon) under specific case.
4. Click on “+” sign on Organizations header.
5. Click on “Add new organization” button.
6. Fill in at least mandatory fields “Organization Name” and select “Organization Type” and click “Save Organization” button.
7. Click “Add Organization” button. (bug)
Added organization is displayed in the table but error occur in the console and after refresh the added organization is not displayed in the table
Fixed
“Hourly Summary” and “Cost Summary” text is overlapped with some arrow (UI) 1: Login as user that have permissions to time tracking module.
2: Click on “Time Tracking” from left side menu (or “Cost Tracking”)
3: Click on some time tracking record (or cost tracking)
4: Hover over “clock” icon in right down corner.(hover over “money” icon)
Expected results: “Hourly Summary” text is displayed. (“Cost Summary” text is displayed)
Actual result: “Hourly Summary text is overlapped with arrow icon. (“Cost Summary” text is overlapped with arrow icon.”).
Fixed
Links of referenced complaint/case/task/document redirect to dashboard 1: Login as user that have permissions to cases/complaints
2: Click on Complaints from left side menu
3: Click on References sublink for specific complaint.
4: Click on “+” to add new reference.
5: Search case id/complaint id, task name, docuement etc
6: Select searched item in grid and click “Add” button.
7: Click on links on added item.
Expected result: Links redirect to specific referenced item.
Actual result: Links redirect to dashboard/welcome page.
Fixed
Automated tasks should copy their attachments to the parent object when task is completed Ad-hoc tasks correctly copy their doc-tree to the parent object when the task is completed.

This does not happen for automated tasks (i.e. tasks generated by an Activiti business process). Instead an ActiveMQ exception is shown in the log.

Fixed
Initiator of complaint can be deleted even though is mandatory 1: Login as user that have permissions to open Complaints
2: Click on Complaints from left side menu.
3: Click on People sublink for some complaint.
4: Click on delete icon next to record.
Expected result: Because Initiator is mandatory notification message is displayed that can’t be deleted.
Actual result: Initiator is deleted.
Fixed
Add Document In Tasks 1. Log into the application.
2. Click on Tasks on the sidebar.
3 Scroll down to the Attachments section, right click on the desired folder, and select New Document, and then type of document.
4. Select the desired document from the file browser and click Open. (bug)

New document or folder can not be added. This error is shown in the console :

service call error:[400, Bad Request]Could not create Folder.
Server encountered exception: Could not find a transformer to transform “SimpleDataType{type=org.mule.transport.NullPayload, mimeType=’*/*’, encoding=’null’}” to “SimpleDataType{type=org.apache.chemistry.opencmis.client.api.CmisObject, mimeType=’*/*’, encoding=’null’}”.
Exception type was: ‘com.armedia.acm.core.exceptions.AcmCreateObjectFailedExcep

Fixed
“Action error” occurs when user cancels adding new, existing member, subgroup or delete group 1: Login as user that have permissions to admin module
2: Click on Admin from left side menu
3: Click on Security/Organization Hierarchy
4: Click on icons for adding new/existing member, subgroup or delete group
5: Click “Cancel” button
Expected result: Pop up is closed.
Actual result: Action error occurs
Fixed
Exception occurs when user try to add ldap subgroup in organizational hierarchy 1: Login with user that have permissions to Admin module
2: Click on “Admin” from left side menu.
3: Click on “Organizational Hierarchy” under Security
4: Click on icon for adding subgroup under some group (LDAP)
5: Insert all required fields and click Save.
Expected result: subgroup is successfully added.
Actual result: exception occurs in dev tools console.
Fixed
People Module – Complaint node – Link to the complaint is not OK In People module, Complaint node, hyperlink to the complaint is not working. It redirects to the Complaint module, but with error Fixed
People module – Cases node – Link to the case is not OK In People module, Cases node, hyperlink to the case is not working. It redirects to the People overview page.
Please check the labels too.
Fixed
Case/Complaint/Task can’t be created if calendar configuration in admin is not enabled 1:Login with user that have permissions to Admin module
2:Click on Admin from left side menu
3:Click on Security/Email Configuration
4: Uncheck “Enable Calendar Integration” next to Cases/Complaints or Tasks
5:Click “Save” icon
6: Click on New/Case
7: Insert all required fields : Case Title, Case Type, Initiator first name and last name and submit data.
Expected result: Case is successfully inserted. (user should be able to create case no mater if calendar configuration is enabled or not).
Actual result: Case is not inserted. After submit user is redirected to cases page.
Fixed
Time Tracking labels are not present Issue is present in Admin section, all labels for Time Tracking module are not loading. Fixed
People-Organization relation not presented in the table When adding person in organization module (or adding Organization in People module), relation (Association type) is not presented in the table automatically, but after “Refresh” button it is shown correctly. Fixed
Deleting member from LDAP group deletes that user on LDAP directory Admin panel, Security group, Organizational Hierarchy: need to remove group membership for a particular user from LDAP group, but when you select “Delete Member” (trashcan icon), it entirely removes the user from LDAP directory! Fixed
Adding same Organization”, multiple times in the object When adding an Organization in some object (Case, Complaint, People), it is allowed for same organization to be added multiple times with different relations. But presentation in the table (People module, Organization node) is not working OK. Problem with Relation (Association type). Fixed
Adding same “Person”, multiple times in the object When adding a person in some object (Case, Complaint, Organization), it should be restricted for same person to be added multiple times with different relations. Person object should be related only once with another object. Fixed
AFDP-3944 Save Configuration for System User Used for Folder Creation When an Outlook calendar folder is created, the data for the system user used for creating the folder should be recorded. Subsequently, when the object instance is accessed, the recorded data is used for retrieving the Outlook calendar folder. this will enable the system to change the system user without disrupting the access to the created calendar folders.

The recorded data for the system user should be encrypted, by using the encryption tools we have in the system. Further, the recorded data should not be stored in the object itself, but in a separate entity, to make it easier to update the password associated with the system user, if/when the password of that user is updated.

Fixed
AFDP-3944 System User for Object Creation The system user configured for reading the Outlook calendar folder for given object type, should be used for folder creation as well. Also, calendar integration property should be taken into account as well. If calendar integration is not enabled for given object type, the calendar folder should not be created.

Since Outlook calendar folder creation is dependent on integration with outlook, the corresponding handlers should be moved in the `acm-service-calendar-integration-exchange` maven module.

Fixed
Main User Menu options (left menu) are covered by “Powered by ArkCase” label *Description*: When an admin user is authenticated he has all app features and functionalities listed in the main user menu on the left nav bar, but not all of them are listed although the sidebar menu has scroll bar. Last option is not loaded at first and if you click the last option at that moment then other option will appear.

*Steps to Reproduce*:

# Authenticate with samuel-acm admin user
# When main user menu is loaded verify that last option is Audit
# Click on Audit and wait for the menu to be refreshed
# Now verify that bellow Audit Admin option appeared

*Actual Result*: The main user menu is not fully displayed (loaded).

*Expected Result*: User menu should display all options available to authenticated user all the time.

Fixed
LDAP sync should determine membership through group “member” attribute instead of/ in addition to users and groups “memberOf” In order to detect user group membership changes during the partial sync, we should determine group membership through “member” attribute of the group, versus “memberOf” on the user. Since adding a user to a group doesn’t change the user’s “modifyTimestamp” only the group’s “modifyTimestamp” and the current implementation won’t catch any new members added to the changed group. LDAP users search should also make sure that all groups (top level and nested) in which an user is member are retrieved.

After search results are retrieved from the directory, result entries are updated or added in database. This implementation should be optimized to avoid unnecessary multiple “find” and “save” for the same entity to database which significantly slows down the synchronization completion.

On app startup if a sync has run before, no sync is needed, if not perform full sync.

Fixed
AFDP-3202 I18n for Info panel in People page I18n for Info panel in People page Fixed
Creating Time or Cost sheet does not create history record Creating a Time or Cost Sheet does not create a record in Case/Complaint > History Fixed
Invalid password reset token after LDAP sync For creating the reset password link, random token is generated and appended to this link. This token and additional field for token expiration date are stored in database for the particular user. (cm_token, cm_token_ex_date in acm_user table)

After ldap sync is performed, these two fields are set to “null”, thus the reset password link is no longer valid.

expected: The ldap sync shouldn’t remove the generated token. The user should be able to reset the password until token validity expires. (according to cm_token_ex_date).

Fixed
Problem adding existing user to the LDAP group There is a problem when you try to add user in “Organizational Hierarchy” on the “add existing member” button. (Admin/Security/Organizational History).
Please note that adding New Member is working fine, only adding existing member is trowing an error (400 Bad request).
Fixed
Contacts Management – Organization – Organization ACL The People object should be protected with mandatory exclusion. Fixed
Contacts Management – Organization – Activate Organization The system shall allow the activation of any de-activate organization(s) Fixed
Contacts Management – Organization – De-activate Organization The system shall allow the de-activation of any activated organization(s) Fixed
Contacts Management – People – People ACL The People object should be protected with mandatory exclusion Fixed
Contacts Management – People – De-activate People The system shall allow the de-activation of any activated People(s) Fixed
Contacts Management – People – Activate People The system shall allow the activation of any de-activated People(s). Fixed
All Organizations should default to a Status of “Active” All Organizations should default to a Status of “Active”.

Once “Deactivate” is implemented, we can change the status to Inactive which is keep the Organization from displaying in the picker.

Fixed
Organization > People > Add Person > Person Type. Change default label to Role Change the label to Role as it’s the Person’s Role within the Organization

Drop-down values will vary based on type of Organization but we can default to:

Owner
Director/President/CEO
Employee
Executive
General Counsel
Manager
Partner

Fixed
“Add person” and “Add organization” pop-up boxes enhancements Within a Case or Complaint

Click on People

Add People

Add Asterisk if mandatory and make the Person Type box similar in size.

Fixed
People and Organization needs “Alt-text” and astericks “*” for mandatory fields for Section 508 – accessibility For New People and New Organization forms, mandatory field has to be marked (“alt-text”, asterisks and red box around the field).
Save button should be enabled until all required fields are filled.
Fixed
Organization module – People node functionality issues For the People node in Organization Module, there are few issues/defects that has to be fixed:
– Edit/Delite Person issue
– form should be consolidated as other forms (“+” in the black header for adding new picture, “edit” and “Delete” buttons on the right of each line)
– There is no way to see what Person is the primary from the table
– Doesn’t hyperlink to the right person in the People Module correctly
Fixed
Case module – relation to Organizations Adding new Organization for the Case module doesn’t work
The Organization types on add new/existing organization are wrong
Hyperlink to Organization Module doesn’t work. Cases aren’t showing on the Organization Module case table
Fixed
Complaints module – relation to People issues When adding new/existing person for the complaints module, there is a problem creating link to the people module. Can add a new person to the people table in the Complaint Module, but the complaint doesn’t show on the complaint table in the People module for that person.
Cannot edit/delete added person.
Fixed
Organization module – Cases and Complaints node functionality issues Cases and Complaints nodes in Organization module should change their order. Complaints node should be before the Cases node
Info doesn’t populate on the Cases/Complaints table
No option for add/edit complaint or case
Fixed
Organization module – People node functionality issues For the People node in Organizations Module, there are few issues/defects that has to be fixed:
– Form should be consolidated as other forms (“+” in the black header for adding new people, “pen” (for edit), and “Garbage can” (for delete) …buttons on the right of each line)
– There is no way edit or delete people
– There shouldn’t be different buttons for adding new or existing people (on “+” a popup should open to choose “new” or “exsisting”)
Fixed
Organization module – DBA node functionality issues For the DBA node in Organizations Module, there are few issues/defects that has to be fixed:
– Form should be consolidated as other forms (“+” in the black header for adding new address, “pen” (for edit), and “Garbage can” (for delete) …buttons on the right of each line)
– Editing a DBA adds a duplicate second row
– DBA is not set as primary (even it is set as primary when created)
– There is no way to see what DBA is the primary from the table
(example: “Primary/not primary” column can be added with radio button for choosing the primary address)
Fixed
People module – Cases and Complaints node issues Cases and Complaints nodes in People module should be reorganized (Cases node should be after the Complaints node)
Info doesn’t populate on the Cases/Complaints table
No option for add/edit complaint or case
Fixed
Add Organization Node in “New People” Form Organizations node in New People form is not working Fixed
Subscription module Event column doesn’t display event description I subscribed to case “New Case” as user “Sally Supervisor”. I made two changes (changed the priority and due date) and then checked the Subscription module to see if these events show up.

I expected the Event column to display “Case File Priority Changed” or something similar. It instead displays the “Subscription on CASE_FILE:635 – 2017022635”.

Additionally, when I make a single change there are multiple results with the exact same timestamp. Since the Event description is the same I can’t tell why there are so many.

Fixed
AFDP-3202 Refine Label Configuration page in Admin Need to rework the language selection, locale selection, and reset buttons in Admin Label Configuration screen. UI may be confused to many users:
1. why there are two language drop-downs?
2. when push those reset/refresh buttons, which drop-down values need to be select first?
3. what is the different between “Refresh” and “Reset”?
4. What does “All” means in “Reset All”, “Refresh All”? All languages for all modules? All modules for one language (correct guess)? Or all languages for one module?
5. Disable/enable toggle logic may puzzle users why UI is “frozen” sometimes.
Fixed
AFDP-3202 Multiple language support for main menu Multiple language support for main menu Fixed
AFDP-3202 I18n support for Complaint object tree I18n support for Complaint object tree Fixed
Task notifier beans missing attributes {{OverdueTasksNotifier}} and {{UpcomingTasksNotifier}} are dependent on {{UserDao}}, but that bean is not injected in {{spring-library-task.xml}} configuration, causing the execution to fail with {{java.lang.NullPointerException}} Fixed
LDAP sync in Arkcase should use whenChanged field Using ‘*whenChanged*’ field our sync process will only sync the changed user and groups after the last sync execution. For example in Alfresco we can set these properties:

ldap.synchronization.groupQuery=(|(objectclass\=posixGroup)(objectclass\=groupofnames))
ldap.synchronization.groupDifferentialQuery=((|(objectclass\=posixGroup)(objectclass\=groupofnames))(!*(whenChanged<\=&#123;0&#125;)*))
ldap.synchronization.personQuery=(&(objectClass\=person)(objectClass\=inetOrgPerson))
ldap.synchronization.personDifferentialQuery=(&(objectClass\=person)(objectClass\=inetOrgPerson))(!*(whenChanged<\=&#123;0&#125;)*))
*ldap.synchronization.modifyTimestampAttributeName=whenChanged*
*ldap.synchronization.timestampFormat=yyyyMMddHHmmss’Z’*

Fixed