[MGNLUI-322] Location fragment should be escaped Created: 03/Dec/12  Updated: 10/Apr/17  Resolved: 05/Apr/17

Status: Closed
Project: Magnolia UI
Component/s: app framework
Affects Version/s: 5.0
Fix Version/s: 5.5.4

Type: Bug Priority: Major
Reporter: Mikaël Geljić Assignee: Antonín Juran
Resolution: Fixed Votes: 0
Labels: framework, tech-debt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MGNLUI-1600 URI decoding is not required anymore Closed
relates to MGNLUI-3863 After creating nodes with (invalid) c... Closed
dependency
is depended upon by MGNLUI-397 Selecting a prefixed item results in ... Closed
is depended upon by MGNLUI-2496 Ability to switch workspace in JCR br... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Sprint: Kromeriz 90
Story Points: 13

 Description   

If an item within the workbench content view contains a colon (':') or semi-colon (';') in its path, it will break the location controller refreshing mechanism.
Similarly, @ characters break locations for properties.

location fragment usually looks like #app:configuration:;/modules/ui-config-app:tree:
however if I select mgnl:created property => #app:configuration:;/titled/mgnl:created:tree:

URL fragment meta characters in selected paths should probably be escaped.



 Comments   
Comment by Antonín Juran [ 14/Mar/17 ]

I tested this use cases in Jcr-browser (with programmatically allowed displaying system properties):
1. Create property containing ‘@’ in its name
2. Create property containing ‘;’ in its name
3. Create properties with name starting with ‘mgnl:’ and ‘jcr:’
I was able for all the use cases to get to their locations using fragments.

Comment by Milan Divilek [ 15/Mar/17 ]

Reopening as this needs to be fixed:
Escaping ":" is hardcode in in Jcr-browser app. See info.magnolia.jcrbrowser.app.contentconnector.JcrBrowserContentConnector

"@" - please have a look on description and discussion in MGNLUI-3863 - especially this comment https://jira.magnolia-cms.com/browse/MGNLUI-3863?focusedCommentId=128558&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-128558 and this part from desription

Once we MGNLUI-322 is resolved, commercial character can be enabled again for all apps, by simply removing it from the validation method and enabling it in all places at once.

You can also replicate the error with "@" in user subapp where "@" is already allowed in node name.

Generated at Mon Feb 12 08:35:45 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.