Closed (fixed)
Project:
Experience Builder
Version:
0.x-dev
Component:
Page
Priority:
Major
Category:
Feature request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
14 Feb 2025 at 21:19 UTC
Updated:
25 Apr 2025 at 15:04 UTC
Jump to comment: Most recent

Comments
Comment #2
omkar-pd commentedComment #3
anjali rathodComment #4
anjali rathodin PageInfo.tsx file.
Here we are getting the pageItems from
ApiContentControllers::list(), which returns content values from$this->entityTypeManager->getStorage('xb_page');entity . But since these are not published yet the value shows the last saved title or Untitled Page incase of new page. Inorder to reflect the immediate changes in the title in navigation drop down, we need to call and generate similar pageItems fromAutoSaveManager::getAllAutoSaveList().This is my POV . Any feedback or suggestions are appreciated!
Comment #5
wim leers#4 is accurate. I can see how the title should update in the top bar where the indicator is present. But I don't think it makes sense for it to be updated in the list of pages.
Comment #6
lauriiiThe page title should update both in the top bar in the list. This is a common pattern many tools similar to XB. If we don't show name in the list once it has been changed, it is really hard to find the right page when creating several pages in a single publish, since all of them would show up as "Untitled page".
Comment #7
lauriiiComment #8
wim leers@anjali rathod: I think @lauriii gave the answer you needed in #6? 😊
Comment #9
anjali rathod@wim leers Yes. Should I go ahead with the approach I shared in #4 ?
Comment #10
anjali rathodComment #12
anjali rathodComment #14
wim leers🏓 on the MR. @larowlan's review/suggested direction will also require an update to
openapi.yml.P.S.: why the term ? 😅 That doesn't appear anywhere in the codebase.
Comment #15
wim leersComment #18
tedbowworking on the js test
Comment #19
tedbowComment #20
jessebaker commentedThe page title should always reflect the autosave version of the page title.
The page title exists in 4 places -
I think the CURRENT page title can only be updated from two places
Other pages' titles (shown in the navigator) can be updated in one place
Furthermore and not mentioned thus far in this issue, the navigator also shows the pages' url alias.
So, my proposed solution
/xb/api/content/xb_page) in the navigator (usinginvalidateTags)Then we must ensure that when the navigator is opened, if the cache has been invalidated, we re-fetch the list of pages.
Comment #21
jessebaker commentedI've done most of the refactor that I suggested in #20
The list of pages that is returned from
/xb/api/content/xb_pagewas previously updated to include a keyautoSaveTitle. Can the same be done to also return anautoSavePath?Comment #22
anjali rathod@jessebaker by autoSavePath do you mean a path similar to
/xb/xb_page/1/editor?Because the
pathkey value pair returned from/xb/api/content/xb_pagegives the path for the autosave entity.Comment #23
tedbowI chatted with @jessebaker about this.
This is about updating the path in the navigation to match the alias field if it was changed by the user
I am working on this
Comment #24
tedbowupdated title and summary for alias updates
Comment #25
tedbowComment #26
wim leersThis is working around the problem introduced in #3500052, identified at #3500052-27: Provide HTTP API for listing Page content entities that can be updated by the current user, then discussed by @lauriii, @mglaman and I, and which @mglaman wanted to see solved in #3503446: Define xb_path entity key for identifying entity path field. At minimum, this MR's work-around needs to point to #3503446: Define xb_path entity key for identifying entity path field. But the consequence is that this MR will have to do some cache context trickery.
But it'd be better still to just do that first, to avoid having to introduce another layer of work-arounds here. I'm fine with being pragmatic and landing this first.
Comment #27
wim leersNote that "alias" was not in scope until #24 — @lauriii's original title didn't match the issue summary. 😞
Comment #28
tedbow@wim leers re #26
I don't actually need to calls
base_path()so hopefully this issue won't have extra cache problems. see https://git.drupalcode.org/project/experience_builder/-/merge_requests/7...also I added a todo to #3503446: Define xb_path entity key for identifying entity path field to figure out the 'path' key dynamically
Comment #29
tedbowSeems like this needs to be fixed by stable
Comment #30
wim leersReviewing…
Comment #31
wim leersGreat work on this one — this looks very close! 😄
I wanted to merge it, but I couldn't help but agreeding with @larowlan's feedback WRT #3501847: Send entity keys to the editor from the mount controller .🫣
Raised 2 additional code clarity concerns (nullability instead of empty string, and
autoSaveTitle→autoSaveLabel, which makes more sense once Lee's feedback is addressed).Comment #32
tedbow@wim leers @larowlan thanks for the reviews, will address
Comment #33
tedbowsetting to Needs Review. I think I have addressed the feedback but the pipeline is failing because of 403 errors in UI and Composer jobs. I think it is related to cloudflare issues https://www.cloudflarestatus.com/incidents/gshczn1wxh74
Will try to re-run the job in a bit
Comment #34
wim leersLGTM, but the
UI eslintCI job has been consistently failing. Probably a trivial change is needed :)Comment #35
wim leersComment #36
tedbowComment #37
wim leersRTBC, but won't be mergeable until the
UI eslintCI job is fixed.Comment #38
wim leersComment #39
tedbowLooks like @wim leers just set this back to Needs Work for the ES Lint fail which @jessebaker fixed, thanks!
Comment #40
tedbowOk. all e2e tests passed beside media-library, reran and media-library just passed🎉
Comment #42
tedbow2 e2e tests but re-tested and those have now passed
Comment #43
nagwani commented