Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix UX for inherited boolean properties #479

Merged
merged 2 commits into from May 24, 2024
Merged

Conversation

frc0necto
Copy link

@frc0necto frc0necto commented Apr 2, 2024

This PR addresses a UX issue with asset/document properties of boolean type.

Problem description

Affected version

  • all versions since 2015?
  • found it in 11.1.2
  • still there in 11.2.2

Steps to reproduce

  • create a property in the root leaf of the asset tree, type boolean, inheritable, checked
  • have an asset ("Asset A") somewhere in the tree

Expected behavior

  • "Asset A" displays a checked checkbox
  • the checkbox cannot be changed

Actual behavior

  • "Asset A" displays a string "true" (or an empty cell if the root property is not checked)
  • the value toggles between "true" and "" when clicked

image
image

Discussion

Impact on UX

It is confusing to the user because one can change the value, the value appears to have changed, however, saving the changed value does not do anything - in fact, it can only be seen once the tab is reloaded and one navigates to the properties again to see that the value resets to the previous value.

We found that this very behavior only appears for properties of boolean type - which indicates that the behavior is not intended as is.

How it came to be this way

Checkbox not displayed

We did some digging in the code history and found that in July 2018, the change which prevented displaying a checkbox was introduced during a massive directory structure refactoring 2fb5fa7. It seems that code has been consolidated from various sources back then (pimcore/static/js/pimcore/settings/metadata/predefined.js, pimcore/static5/js/pimcore/settings/website.js, pimcore/static6/js/pimcore/asset/metadata.js, ...). these sources have been created in 2014 and 2015. Unfortunately, we could not find any hint on why the change was necessary.

Toggle change for inherited boolean properties

Changing a boolean property, even if inherited, has been moved in 2015 and thus has been created even before. 41b0c81

Copy link

github-actions bot commented Apr 2, 2024

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@frc0necto frc0necto changed the title Fix UX for inherited bool properties Fix UX for inherited boolean properties Apr 2, 2024
@frc0necto
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@blankse
Copy link
Contributor

blankse commented Apr 2, 2024

@frc0necto Target branch of bug fixes should be 1.4

@frc0necto frc0necto changed the base branch from 1.x to 1.4 April 2, 2024 13:24
Copy link

sonarcloud bot commented Apr 2, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

@robertSt7 robertSt7 self-assigned this May 24, 2024
@robertSt7 robertSt7 added this to the 1.4.3 milestone May 24, 2024
@robertSt7 robertSt7 merged commit 4f23349 into pimcore:1.4 May 24, 2024
5 checks passed
@robertSt7
Copy link
Contributor

@frc0necto Thanks for the fix

@github-actions github-actions bot locked and limited conversation to collaborators May 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants