[go: up one dir, main page]

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

Reordering BlockList items is not saved into IContent / database #17620

Open
stas-lazarev-tga opened this issue Nov 22, 2024 · 1 comment
Open
Labels

Comments

@stas-lazarev-tga
Copy link
stas-lazarev-tga commented Nov 22, 2024

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

15.0.0

Bug summary

BlockList items drag and drop ordering changes are not actually saved into the database.
When you get an IContent content object with IContentService the ordering is still the same the items were originally added.

Specifics

blocklist-ordering

Steps to reproduce

  1. Create a BlockList with multiple items.
  2. Reorder them with a drag & drop and save changes.
  3. Get an IContent object of the given content using IContentService.GetById(Guid key) and look for a serialized (JSON) representation of saved BlockList.
var contentBlocksJson = article.GetValue<string>("testContentBlocks");

// you can also deserialize it using `BlockListEditorDataConverter`, which won't affect ordering ofcourse
var umbracoBlockEditorData = _blockListConverter.Deserialize(contentBlocksJson);
var articleContentBlocks = umbracoBlockEditorData.BlockValue.ContentData
    .Select(GetArticleContentBlockByUmbracoBlockListItemModel)   // just some mapper method
    .ToList();

Expected result / actual result

Expected result: ordering of BlockList items in IContent object is matching the one we set in Backoffice.

Actual result: BlockList items are still in the original order they were created with.


Here is serialized a BlockList that I got in IContent after saving changes:

// removing unrelated properties
{
    "contentData": [
        {
            // ...
            "values": [
                {
                    "editorAlias": "Umbraco.TextBox",
                    "alias": "testDisplayedName",
                    "value": "first"
                }
            ]
        },
        {
            "values": [
                {
                    "editorAlias": "Umbraco.TextBox",
                    "alias": "testDisplayedName",
                    "value": "second"
                }
            ]
        },
        {
            "values": [
                {
                    "editorAlias": "Umbraco.TextBox",
                    "alias": "testDisplayedName",
                    "value": "third"
                }
            ]
        }
    ],
    // ...
}
Copy link

Hi there @stas-lazarev-tga!

Firstly, a big thank you for raising this issue. Every piece of feedback we receive helps us to make Umbraco better.

We really appreciate your patience while we wait for our team to have a look at this but we wanted to let you know that we see this and share with you the plan for what comes next.

  • We'll assess whether this issue relates to something that has already been fixed in a later version of the release that it has been raised for.
  • If it's a bug, is it related to a release that we are actively supporting or is it related to a release that's in the end-of-life or security-only phase?
  • We'll replicate the issue to ensure that the problem is as described.
  • We'll decide whether the behavior is an issue or if the behavior is intended.

We wish we could work with everyone directly and assess your issue immediately but we're in the fortunate position of having lots of contributions to work with and only a few humans who are able to do it. We are making progress though and in the meantime, we will keep you in the loop and let you know when we have any questions.

Thanks, from your friendly Umbraco GitHub bot 🤖 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant